0
Tải bản đầy đủ (.pdf) (94 trang)

Một số phƣơng pháp khác xây dựng tập thuộc tính rút gọn

Một phần của tài liệu MỘT SỐ VẤN ĐỀ LIÊN QUAN ĐẾN LÝ THUYẾT TẬP THÔ (Trang 53 -53 )

Một tập thuộc tính R’ A đƣợc gọi là tập thuộc tính super-reduct của tập thuộc tính rút gọn R nếu R  R’; Ngƣợc lại R’ đƣợc gọi là một rút gọn bộ phận của tập thuộc tính rút gọn R nếu R’ R. Với một tập thuộc tính rút gọn thì luôn có một số tập thuộc tính super-reduct và rút gọn bộ phận.

Sau đây là một số thuật toán xây dựng tập thuộc tính rút gọn.

Loại trừ thuộc tính không liên quan từ một rút gọn

Đầu vào: Hệ thông tin A=(U,A), trong đó card(U)=n, card(A)=k. Tập các thuộc tính rút gọn super-reduct R

Đầu ra: Một rút gọn hoàn toàn R’

(1) Tính POS(R) và đặt m:=card(POS(R); (2) for (aA) begin

Tính POS(R\a) và đặt ma:=card (POS(R\a)); If (ma=m) then R:= R\{a}; end

(3) R’:=R;

Độ phức tạp của thuật toán là O(k2nlogn).

Chiến lƣợc Xóa

Bằng phƣơng pháp Xóa, ta coi A nhƣ một super-reduct lớn nhất

Đầu vào: Một bảng thông tin.

Đầu ra: Một rút gọn R.

(1) R = A; CD = A; (2) While CD ;

(2.1) Tính các thuộc tính phù hợp (fitness) trong CD sử dụng hàm phù hợp ; (2.2) Chọn một thuộc tính a CD theo độ phù hợp của nó. Đặt CD = CD –{a}; (2.3) If R -{a} là một super-reduct, đặt R = R –{a};

Phƣơng pháp rút gọn bắt đầu với tập gồm toàn bộ các thuộc tính, kiểm tra tất cả các thuộc tính trong A để xóa. Do đó, phƣơng pháp này không hiệu quả nếu tập thuộc tính rút gọn là ít vì phải loại bỏ đi một số lƣợng lớn các thuộc tính.Việc xóa trƣớc tiên là xóa thuộc tính có số đối tƣợng khác nhau là nhỏ nhất.

Thứ tự các thuộc tính loại bỏ cũng cần đƣợc quan tâm. Hàm phù hợp khác nhau xác định thứ tự các thuộc tính loại bỏ là khác nhau và kết quả thu đƣợc là các rút gọn khác nhau.

Kinh nghiệm lựa chọn thuộc tính là đƣa ra hàm phù hợp: : AR trong đó R là tập các số thực.

Ý nghĩa của hàm  đƣợc xác định bởi sự xem xét một số ngữ nghĩa. Ví dụ, nhƣ giá phải trả cho việc thử nghiệm, hoặc tính thỏa mãn điều kiện của thuộc tính, lợi ích thông tin mà nó sinh ra.

Một số thuật toán sử dụng entropy dựa trên các kinh nghiệm, nhƣ lợi ích thông tin và thông tin ràng buộc. Ví dụ, entropy thuộc tính đƣợc xác định nhƣ sau:

   a V x a H(a) p(x)logp(x) 

Một số thuật toán sử dụng tuần suất dựa trên các kinh nghiệm với ma trận phân biệt. Ví dụ, ta có:

 (a)=|{m  M | a m}|

Chiến lƣợc Thêm-Xóa

Với chiến lƣợc này, ta xây dựng tập thuộc tính rút gọn từ tập rỗng hoặc tập nhân. Thêm lần lƣợt các thuộc tính cho tới khi thu đƣợc tập thuộc tính rút gọn

super-reduct. Tuy nhiên, tập rút gọn super-reduct vẫn chƣa phải là tập rút gọn mong muốn cho nên thực hiện loại bỏ các thuộc tính không cần thiết cho đến khi thu đƣợc tập thuộc tính rút gọn.

Đầu vào: Một bảng thông tin.

Đầu ra: Một rút gọn R.

(1) R = ; CA = A;

(2) While R không phải là một super-reduct và CA ;

(2.1) Tính độ phù hợp cho tất cả các thuộc tính trong CA sử dụng hàm ; (2.2) Chọn thuộc tính a CA theo độ phù hợp của nó. Đặt CA = CA –{a}; (2.3) Đặt R = R {a};

Xóa:

(3) CD=R;

(4)While CD ;

(4.1) Tính các thuộc tính phù hợp trong CD sử dụng hàm phù hợp ;

(4.2) Chọn một thuộc tính a CD theo độ phù hợp của nó. Đặt CD = CD –{a}; (4.3) If R -{a} là một super-reduct, đặt R = R –{a};

(5) Output R;

Chiến lƣợc Thêm

Mục đích chính của chiến lƣợc này là xây dựng tập rút gọn từ tập rỗng hoặc tập nhân, lần lƣợt thêm các thuộc tính cho tới khi thu đƣợc tập rút gọn. Khác nhau cơ bản giữa chiến lƣợc này và chiến lƣợc Thêm-Xóa nhƣ sau: chiến lƣợc Thêm là lần lƣợt thêm vào thuộc tính cho tới khi thu đƣợc một rút gọn cục bộ, còn chiến lƣợc Thêm - Xóa là thêm thuộc tính cho tới khi thu đƣợc rút gọn super-reduct. Trong chiến lƣợc này, các thuộc tính không cần thiết có thể đƣợc thêm, do đó quá trình Xóa là loại bỏ đi các thuộc tính này.

Phƣơng pháp Thêm đƣợc mô tả nhƣ sau:

Đầu vào: Một bảng thông tin.

Đầu ra: Một rút gọn R.

(1) R = ; CA = At;

(2) While R không phải là một reduct và CA ;

(2.1) Tính độ phù hợp cho tất cả các thuộc tính trong CA sử dụng hàm ; (2.2) Chọn thuộc tính a CA theo độ phù hợp của nó;

(2.3) If R {a} là một rút gọn cục bộ : đặt R = R {a} và CA = CA –{a}; (3) Output R;

Tiếp theo là thuật toán rút gọn thuộc tính dựa trên ma trận phân biệt. Trƣớc hết, ta cùng tìm hiểu hai phép toán cơ bản trong thuật toán đó là : AbsorpGroup

Absorp: là 1 phép toán hấp thụ trên ma trận phân biệt. Có thể hấp thụ một phần tử ma trận m M nếu tồn tại một phần tử ma trận khác m’ M sao cho m’ m. Điều này có nghĩa là 2 đối tƣợng có thể phân biệt đƣợc bởi thuộc tính bất kỳ trong phần tử ma trận m, do đó chúng có thể phân biệt đƣợc bởi bất kỳ thuộc tính nào trong tập con của m. Vì vậy, ta không cần phải quan tâm đến tập các phần tử ma trận lớn hơn mà chỉ cần quan tâm đến tập con của nó. Phép toán này đƣợc định nghĩa nhƣ sau :

Absorb(M) : Nếu m’ m thì M=M-{m} với mọi m, m’ M

Group: là nhóm các phép toán trên các phần tử của ma trận phân biệt. Một tập các phần tử ma trận có cùng thuộc tính đƣợc nhóm lại với nhau. Bởi vì mỗi phần tử ma trận kết hợp 2 đối tƣợng nên việc nhóm sẽ ảnh hƣởng tới tập các đối tƣợng liên quan đến các phần tử ma trận đƣợc nhóm này. Với thuộc tính aA, nhóm đƣợc định nghĩa nhƣ sau:

Group(a)={mM | am}

Để đảm bảo chọn thuộc tính a là thuộc tính thuộc tập rút gọn, ta phải chọn phần tử ma trận m Group(a), rồi loại bỏ m từ các phần tử ma trận trong M và cập nhật lại M. Việc loại bỏ này đảm bảo a phải là thuộc tính rút gọn, ngƣợc lại có ít nhất một cặp đối tƣợng không thể phân biệt đƣợc.

Hàm phù hợp dm trong thuật toán Thêm khác với hàm phù hợp  trong thuật toán Xóa nói chung. Tại một thời điểm, hàm  ƣớc lƣợng độ phù hợp của một thuộc tính, còn hàm dm ƣớc lƣợng độ phù hợp của một phần tử ma trận m, đây là tập các thuộc tính. dm là tổng hoặc trung bình cộng các độ phù hợp của các thuộc tính. Ánh xạ sau mô tả việc chọn lựa một phần tử ma trận để loại bỏ:

Ý nghĩa của hàm ánh xạ dm là xác định đƣợc các ngữ nghĩa tốt nhất.

Thuật toán Thêm tính các rút gọn dựa trên ma trận phân biệt đƣợc mô tả trong thuật toán sau:

Đầu vào: Ma trận phân biệt M.

Đầu ra: Một rút gọn

R = ; CA = A; Do while M ; (1) M = Absorb(M);

(2) Tính độ phù hợp của các thuộc tính trong CA sử dụng hàm phù hợp; (3) Chọn thuộc tính a CA với Group(a)  theo độ phù hợp của nó. Đặt R = R {a}; CA = CA – {a};

(4) Tính độ phù hợp các phần tử ma trận trong Group(a) theo hàm phù hợp dm; (5) Chọn một phần tử ma trận mi Group(a) dựa trên độ phù hợp của nó, cập nhật M theo 2 bước sau:

(5.1) Xóa Group(a) từ M: M = M - Group(a),

(5.2) Cập nhật các phần tử ma trận: M = {m – mi | m M}; Output the reduct R;

Các thuật toán tính rút gọn dựa trên các cặp đối tƣợng phân biệt

Kỹ thuật này cho phép tính các cặp đối tƣợng phân biệt bởi các thuộc tính mà không cần sử dụng ma trận phân biệt [16].

Với mọi B  A và X  U, INDX(B) biểu diễn giới hạn quan hệ tƣơng đƣơng IND(B) tới X và họ các lớp tƣơng đƣơng của INDX

(B) là [INDX(B)].

Xét một thuộc tính bất kỳ aA, tập các đối tƣợng X  U và tập các giá trị của a trên X, a(X)={a(u):uX}.

Đặt x, x1,.., xm là số các đối tƣợng trong các tập X, X1,…, Xm.

Do x = x1+…+xm , số WX(a) của các cặp các đối tƣợng từ X phân biệt bởi thuộc tính a có thể tính theo công thức sau:

WX(a)= 2

j i j ix x = 2 1 2 2

m i xi x

Do đó, ta có thể tính WX(a) trong thời gian O(xlogx).

Một số thuộc tính của quan hệ INDX(B) đƣợc trình bày trong bổ đề sau:

Bổ đề 2.4: Đặt [INDX

(B)]={X1,..,Xm} và aA\B. Ta có các công thức sau:  [INDX(B)  {a}]=[ X1

IND (a)] …  [ Xm

IND (a)]

 Đặt WBX(a)là số các cặp đối tƣợng của X phân biệt bởi thuộc tính a và các thuộc tính không phân biệt đƣợc từ B. Ta có:

) ( ... ) ( ) (a W 1 a W a WX X Xm B Áp dụng bổ đề 2.4, tính

W

X

(a)

B theo cách sau: 1. For Xi[INDX(B)] Tính WXi(a) 2. Đặt WX(a): WX1(a) ... WXm(a) B

Bƣớc 1 chạy trong thời gian O(xlogx) vì x x x x

m i i ilog log 1

với x=

m i i x 1 và mx Vì vậy để tính

W

BX

(a)

cần thời gian là O(x log x).

Rút gọn nửa tối thiểu (Semi-Mininal reduct) Đầu vào: Hệ thông tin A=(U,A)

Đầu ra: Một rút gọn R  A

Cấu trúc dữ liệu: L=[INDU(R)]

1. R:=; L:={U}; 2. Repeat 3. for (aA) begin 4. for (XiL) begin Tìm [ Xi IND (a)] Tính

W

Xi

(a)

; end

5. Đặt WU(a): WX1(a) ... WXm(a) R ;end 6. Chọn thuộc tính a với

W

RU

(a)

lớn nhất. 7. Đặt A:=A\{a}; R:=R{a}; 8. L:= [ X1 IND (a)][ Xm IND (a)] ; 9. until (WU(a) R =0) or (A=);

Với card(U)=n; card(A)=k; Thuật toán đòi hỏi O(n) không gian bộ nhớ để dữ trữ các lớp tƣơng đƣơng của quan hệ INDU(R). Vậy độ phức tạp của toàn bộ thuật toán là O(k2nlogn).

Chiến lƣợc ngẫu nhiên

Thuật toán ở trên luôn luôn trả về kết quả là một rút gọn, còn đối với một thuật toán ngẫu nhiên, tính các rút gọn có thể khác nhau. Các rút gọn khác nhau này cần thiết cho việc sinh các luật động cho các bảng quyết định. Các thuật toán ngẫu nhiên thu đƣợc từ thuật toán xác định bằng cách thay thế thuộc tính với trọng số lớn nhất một thuộc tính tùy ý ai với xác suất P(ai)

Thuật toán Rút gọn ngẫu nhiên

(1)R:=; L:={U}; (2)Repeat

(3)for (aA) do begin Tính

W

RU

(a)


(4)Chọn ngẫu nhiên 1 thuộc tính aA với xác suất P(a)=

j U R U R a U a W ( )

(5)Tương tự Bước 78 của thuật toán 4 (6)Until (

W

U

(a)

R =0) or (A=);

Dễ dàng thấy đƣợc độ phức tạp về thời gian của thuật toán này là O(k2nlogn) và độ phức tạp về bộ nhớ là O(n).

Ngoài ra còn có hai phƣơng pháp lựa chọn thuộc tính thƣờng đƣợc sử dụng đó là Filter và Wrapper [6,15].

Filter

Tƣ tƣởng chính phƣơng pháp này là lựa chọn các thuộc tính tối thiểu trong những thuộc tính đó, chọn ra những thuộc tính có độ phù hợp cao hơn theo tiêu chuẩn sau:

 Lựa chọn các thuộc tính làm cho số các trƣờng hợp thoả mãn tăng nhanh (đạt đƣợc tập con với số thuộc tính là càng nhỏ càng tốt)

 Chọn các thuộc tính có ít giá trị khác nhau (để đảm bảo số các trƣờng hợp đƣợc bao phủ bởi luật càng nhiều càng tốt)

Lợi điểm của phƣơng pháp này là tốc độ nhanh tuy nhiên, nó không tận dụng đƣợc tính ƣu việt của thuật toán quy nạp.

Wrapper

Phƣơng pháp này sử dụng thuật toán quy nạp cho việc đánh giá, tƣ tƣởng chính của phƣơng pháp này là sử dụng 3 cách tìm kiếm: tìm kiếm toàn bộ, tìm kiếm kinh nghiệm và tìm kiếm không xác định. Ƣu điểm của phƣơng pháp này là tận dụng đƣợc tính ƣu việt của thuật toán quy nạp tuy nhiên nó có độ phức tạp thời gian cao.

2.4 Quá trình khám phá luật trong bảng quyết định [6,10,15]

Luật trong bảng quyết định

Giả sử A = (U, A{d}) là một bảng quyết định; X biểu thị sự kết hợp giữa các từ nhận dạng (descriptors) bao hàm trong các thuộc tính điều kiện A; Y biểu thị một từ nhận dạng d=v trong đó v là bất kỳ một giá trị nào của thuộc tính quyết định

d.

Định nghĩa 2.6 (Luật theo tiếp cận tập thô)

Hai đặc trƣng của luật: Độ mạnh và độ nhiễu của luật

Cho luật X Y , độ mạnh của luật này, ký hiệu là S(X  Y) đƣợc xác định theo công thức:

s(X)(1-r(X Y))

Với s (X) đƣợc là độ mạnh của X, s(X) đƣợc xác định nhƣ sau:

* Trong trƣờng hợp không sử dụng tri thức kinh nghiệm, s(X) đƣợc tính nhƣ sau:

s(X) = s(PGk) = k PG k rel ins k l l

N

PG

N

PG

Pl

p( )

( )

Với, Ninsrel(PGk) là số các đối tƣợng quan sát thoả mãn trong lần thứ i .

* Trong trƣờng hợp sử dụng tri thức kinh nghiệm, độ mạnh s(X) đƣợc tính nhƣ sau:

s(X) = s(PGk) =

l PG k l k l bk k N PG PI BKF PG PI p ) \ ( ) \ ( Độ nhiễu r(X Y) đƣợc tính nhƣ sau: r(X Y) = ) ( ) , ( ) ( X N Y X N X N rel ins class ins rel ins

Với Ninsclass(X,Y) là số các đối tƣợng thuộc lớp Y trong các trƣờng hợp thoả mãn bộ sinh X.

Khám phá luật bởi bảng phân bố tổng quát dựa trên tập thô

A.Skowron và Ning Zong đã đƣa ra phƣơng pháp khám phá luật sử dụng bảng phân bố tổng quát dựa trên tập thô, với ý tƣởng nhƣ sau :

- Từ bảng quyết định xây dựng bảng phân bố tổng quát

- Dựa trên bảng phân bố tổng quát này sinh các vector phân biệt đƣợc - Tạo ra các tập rút gọn từ các vector phân biệt đƣợc

- Sinh ra các luật bao phủ tất cả các trƣờng hợp

- Bảng phân bố tổng quát mô tả quan hệ xác suất giữa các trƣờng hợp có thể và các bộ sinh có thể.

- Những trƣờng hợp không thấy trong quá trình khai phá dữ liệu, sự không chắc chắn của luật bao gồm cả khả năng dự đoán trƣớc các trƣờng hợp của nó đƣợc thể hiện rõ ràng trong độ mạnh của luật.

- Hƣớng tìm kiếm có thể đƣợc lựa chọn một cách mềm dẻo, có thể sử dụng tri thức nền làm cơ sở cho việc tạo bảng phân bố tổng quát và quá trình khai phá. Giả sử có bảng quyết định A = (U, A  {d}) miêu tả nhƣ sau:

U Học lực PTTH Trường thi Trúng tuyển

u1 Khá Hai Bà Trƣng HVKTQS Trƣợt

u2 Khá Chu Văn An HVKTQS Trƣợt

u3 Khá Hai Bà Trƣng HVKTQS Trƣợt

u4 Giỏi Chu Văn An Bách Khoa Đỗ

u5 Khá Hai Bà Trƣng HVKTQS Đỗ

u6 Khá Chuyên Ngữ HVKTQS Đỗ

u7 Giỏi Chu Văn An HVKTQS Trƣợt

Bảng gồm các thuộc tính điều kiện là Học lực, PTTH, Trường thi. Tập giá trị của thuộc tính Học lực là: VHọc lực = {Giỏi, Khá}

Tập giá trị của thuộc tính PTTH: VPTTH = {Hai Bà Trưng, Chu Văn An, Chuyên ngữ}

Tập giá trị của thuộc tính Trường thi là: VTrường thi = {HVKTQS, Bách Khoa}

Thuộc tính quyết định là Trúng tuyển, tập giá trị là VTrúng tuyển = {Đỗ, Trượt}

Bảng quyết định tƣơng ứng miêu tả trong GDT-RS (bảng phân bố tổng quát) nhƣ sau:

F(x) G(x) Khá Chu Văn An Bách khoa Khá Chu Văn An HVKTQS --- Giỏi Chu Văn An Bách khoa --- Giỏi Chuyên ngữ HVKTQS *Chu Văn An Bách khoa 1/2 --- 1/2 --- *Chu Văn An HVKTQS 1/2 --- *HaiBàTrưng Bách khoa --- *HaiBàTrưng HVKTQS --- *Chuyên ngữ Bách khoa --- *Chuyên ngữ HVKTQS --- 1/2 Khá *Bách khoa 1/3 --- --- --- --- Giỏi Hai Bà Trưng* --- Giỏi Chuyên ngữ* --- 1/2 **Bách khoa 1/6 1/6 --- --- --- --- Khá** 1/6 1/6 ---

Một phần của tài liệu MỘT SỐ VẤN ĐỀ LIÊN QUAN ĐẾN LÝ THUYẾT TẬP THÔ (Trang 53 -53 )

×