2.2.1. Tập rút gọn và tập lõi
Trong các ứng dụng của bảng quyết định vào phân tích dữ liệu (bao gồm phân lớp dữ liệu), các thuộc tính điều kiện được phân thành ba nhóm: Thuộc tính lõi, thuộc tính rút gọn và thuộc tính không cần thiết [36, 38, 39]. Thuộc tính lõi là thuộc tính cốt yếu, không thể thiếu trong việc phân lớp chính xác tập dữ liệu. Thuộc tính không cần thiết là những thuộc tính dư thừa; nghĩa là có thể loại bỏ một thuộc tính như vậy (nhưng không phải là tất cả) mà không ảnh hưởng đến việc phân lớp dữ liệu. Thuộc tính của tập rút gọn “nằm giữa” hai tập thuộc tính trên, nó là dư thừa đối với một tập thuộc tính điều kiện này song lại cốt yếu đối với một tập các thuộc tính điều kiện khác. Dưới đây trình bày định nghĩa chính thức cho các khái niệm này [38].
Định nghĩa 2.1. (Thuộc tính cần thiết: indispensable và không cần thiết: dispensable)
Cho bảng quyết định T U C, D V f, , , thuộc tính cC được gọi là không cần thiết (dispensable) nếu POS (D)C POS(C\ c ) (D). Ngược lại, c được gọi là cần thiết (indispensable).
Định nghĩa 2.2. (Bảng quyết định độc lập: independent).
Bảng quyết định T được gọi là độc lập (independent) nếu mọi thuộc tính
cCđều cần thiết.
Tập tất cả các thuộc tính cần thiết trong T được gọi là lõi (Core) và được ký hiệu CORE C . Khi đó, một thuộc tính cần thiết còn được gọi là thuộc tính lõi.
Định nghĩa 2.3. (Tậprútgọn: reductset)
Tập các thuộc tính RC được gọi là tập rút gọn (Reduct Set) của tập thuộc tính điều kiện C nếu T'=(U, RD, V, f) là độc lập và POSR D POSC D .
Nói cách khác, R là tập rút gọn nếu R thỏa mãn POSR(D)=POSC(D) và R "tối thiểu" theo nghĩa mọi tập con thực sự R' của R thì POSR'(D) POSC(D). Rõ ràng là có thể có nhiều tập rút gọn của C. Ta ký hiệu RED C là tập tất cả các rút gọn của
.
C Tập thuộc tính là giao của mọi tập rút gọn trong bảng quyết định được gọi là tập lõi (core) và được ký hiệu là CORE (CORE=
) C ( RED TG TG
). Dưới đây là các thuật toán tìm vùng dương của một tập thuộc tính điều kiện và tìm tập thuộc tính rút gọn từ một tập thuộc tính cho trước. Tập thuộc tính điều kiện R thỏa mãn POSR(D)=POSC(D)
được gọi là siêu rủt gọn (super-reduct). Rõ ràng là nếu một tập thuộc tính siêu rút gọn là tối thiểu thì nó sẽ là rút gọn. Hơn nữa, tập mọi thuộc tính điều kiện C là một siêu-rút gọn. Rõ ràng là nếu một tập thuộc tính siêu rút gọn mà là tập tối thiểu thì nó sẽ là rút gọn. Một tập thuộc tính điều kiện R mà là tập con của một tập rút gọn thì được gọi là bộ phận rút gọn (partial reduct). Tập lõi là một tập bộ phận rút gọn.
Luận án thực hiện một vài biến đổi nhỏ cho Thuật toán 3 trong [19] để nhận được Thuật toán 2.1. Xác định vùng dương trong bảng quyết định như trình bày dưới đây.
Thuật toán 2.1. Xác định vùng dương trong bảng quyết định Đầu vào: Bảng quyết định TU C, D V f, ,
Tập thuộc tính BC.
Đầu ra: Tập các đối tượng - vùng dương POSB( )D .
Phương pháp:
(1) Xác định các lớp tương đương 1B, 2B,..., B m
X X X của U B/ (2) POSB( ) :D
(3) Với mọi j1, 2,...,m (for j1 to m do) Nếu mọi đối tượng B
j
Thì POS DB( ) :POS DB( )XBj
Thuật toán 2.1 có độ phức tạp là O(k | U | log | U |) (Tham khảo [19]).
Tương tự cách hình thành Thuật toán 2.1, luận án thực hiện một vài biến đổi nhỏ tới Thuật toán 6 trong [19] để nhận được Thuật toán 2.2. Tìm tập rút gọn trong bảng quyết định như trình bày dưới đây.
Thuật toán 2.2. Thuật toán tìm tập rút gọn trong bảng quyết định Đầu vào: Bảng quyết định TU C, D V f, , với n=|U|, k=|C|;
Một tập con các thuộc tính điều kiện R là một siêu rút gọn.
Đầu ra: Tập rút gọn R'R.
Phương pháp:
(1). Tính POSR(D) và đặt m:= | POSR(D)| (2). Với mọi a R
begin
Tính POSR-{a}(D) và đặt ma:= | POSR-{a}(D)| Nếu ma m thì R:R\{ };a
end;
(3). R'R.
Lập luận giống như trong [19], thuật toán 2.2 có độ phức tạp là 2
( log ).
O k n n
Ví dụ 2.1. Xét bảng quyết định về bệnh cúm được cho ở Bảng 1.2 (Chương 1).
Bảng này có hai tập rút gọn là R1 = {Đau cơ, Thân nhiệt} (xem bảng 2.1) và
R2 = {Đau đầu, Thân nhiệt} (xem bảng 2.2).
Bảng 2.1.Bảng rút gọn thứ nhất của hệ thống bệnh cúm R1
U Đau cơ Thân nhiệt Cảm cúm
u1, u4 Có Bình thường Không
u2 Có Cao Có
u3, u6 Có Rất cao Có
Như vậy tập lõi là CORE(C) = {Thân nhiệt} và Thân nhiệt là thuộc tính cần thiết duy nhất. Các thuộc tính Đau đầu, Đau cơ đều không cần thiết theo nghĩa từ bảng dữ liệu có thể loại bỏ một trong hai thuộc tính này mà vẫn chuẩn đoán được bệnh. Tức là:
POS{Đau cơ, Thân nhiệt}({Cảm cúm}) = POSC({Cảm cúm}) POS{Đau đầu, Thân nhiệt}({Cảm cúm}) = POSC({Cảm cúm}).
Bảng 2.2.Bảng rút gọn thứ hai của hệ thống bệnh cúm R2
U Đau đầu Thân nhiệt Cảm cúm
u1 Có Bình thường Không
u2 Có Cao Có
u3 Có Rất cao Có
u4 Không Bình thường Không
u5 Không Cao Không
u6 Không Rất cao Có
Tương ứng với hai thuật toán 2.1 và 2.2 ở đây, chương 3 của luận án sẽ trình bày thuật toán rút gọn thuộc tính và tìm các tập xấp xỉ trong bảng quyết định giá trị tập dựa trên dựa trên hai cấu trúc dữ liệu mới do luận án đề xuất là bảng ngẫu nhiên tổng quát hóa và các dàn giá trị thuộc tính.
Yao Y.Y. và cộng sự [69] trình bày ba thuật toán mang tính khát quát cao để tìm tập rút gọn trong hệ thông tin S = (U, A, V, f). Trong ba thuật toán này, các tác giả đã giả thiết cho trước một hàm (độ) phù hợp (fitness function) các thuộc tính
:A R
(tập số thực). Ý nghĩa của hàm phù hợp được xác định theo nhiều ngữ nghĩa, chẳng hạn như hoặc độ chi phí kiểm thử, hoặc độ dễ hiểu, hoặc độ ảnh hưởng của thuộc tính, hoặc lợi ích thông tin (information gain) của thuộc tính v.v. Luận án thực hiện biến đổi nhỏ để chuyển ba thuật toán cho hệ thông tin của Yao Y.Y. và cộng sự [69] thành ba thuật toán sang bảng quyết định như dưới đây.
Thuật toán 2.3. Thuật toán từ trên xuống tìm tập rút gọn trong bảng quyết định
Đầu vào: Bảng quyết định TU C, D V f, , . Đầu ra: Tập rút gọn R. Phương pháp: (1) R:C TG; :C; (2) While TG do begin (2.1) a TG: tính (a)
(2.2) TG := TG \{a} với a là thuộc tính phù hợp nhất (2.3) if R \{a} là một siêu rút gọn then R:=R \{a}
end;
(3) Output R.
Lưu ý rằng, Thuật toán 2.3 là tương tự như Thuật toán 2.2 với hai thay đổi nhỏ. Thứ nhất, tập siêu rút gọn đầu vào chính là tập thuộc tính điều kiện C. Thứ hai, việc loại bớt thuộc tính ở đây được định hướng theo độ phù hợp (a).
Thuật toán 2.4. Thuật toán hướng kết hợp tìm tập rút gọn trong bảng quyết định
(Tương ứng với thuật toán loại bớt-bổ sung trong [69])
Đầu vào: Bảng quyết định TU C, D V f, , .
Đầu ra: Tập rút gọn R.
Phương pháp:
//Bước bổ sung (1) R: ; TGA:C;
(2) While (R chưa là siêu rút gọn và TGA ) do
begin
(2.1) a TGA: tính (a);
(2.2) TGA:TGA\ a với a là thuộc tính phù hợp nhất; (2.3) R: R a ;
end;
(3) TGD:R; (4) While (TGD ) do begin (4.1) a TGD:tính (a); (4.2) TGD:TGD\ a với a là thuộc tính phù hợp nhất; (4.3) if R\ a là một siêu rút gọn then R:R\ a ; end; (5) Output R.
So với Thuật toán 2.3, Thuật toán 2.4 bổ sung thêm bước thực hiện tiến để tìm một tập siêu rút gọn sau đó tiến hành bước thực hiện lùi để tìm một tập rút gọn từ tập siêu rút gọn đã có.
Thuật toán 2.5. Thuật toán từ dưới lên tìm tập rút gọn trong bảng quyết định
(Tương ứng với thuật toán loại bớt trong [69])
Đầu vào: Bảng quyết định TU C, D V f, ,
Đầu ra: Tập rút gọn R.
Phương pháp:
(1) R: ; TGA:C;
(2) While (R chưa là rút gọn và TGA ) do
begin
(2.1) aTGA: tính (a);
(2.2) Chọn aTGA là thuộc tính phù hợp nhất;
(2.3) if R a là bộ phận rút gọn then begin R: R a ;TGA:TGA a end end;
(3) Output R
2.2.2. Ma trận phân biệt và hàm phân biệt
Xét bảng quyết định TU C, D V f, , với Uu u1, 2,...,un. Ma trận phân biệt của T, ký hiệu M mi j n n
, là một ma trận đối xứng mà mỗi phần tử của nó được xác định như sau [50]:
mij = { nếu u Di( )u Dj( ), {cC u ci( )u cj( )} nếu u Di( )u Dj( ).
Như vậy, mijlà tập hợp gồm tất cả các thuộc tính điều kiện có thể xếp đối tượng ui và uj vào các lớp tương đương khác nhau đối với quan hệ không phân biệt được trên mỗi thuộc tính của tập thuộc tính này. Hay nói cách khác hai đối tượng ui và uj mà u Di( )u Dj( ) có thể phân biệt với nhau bởi một thuộc tính bất kỳ trong tập mij. Nếu mij thì ui và uj bằng nhau trên tập thuộc tính D hoặc trong trường hợp bảng quyết định đã cho là không nhất quán, hai đối tượng ui và
j
u có cùng giá trị trên tập thuộc tính điều kiện nhưng khác nhau trên tập thuộc tính quyết định.
Ví dụ 2.2. Xét bảng quyết định như trong Bảng 1.2 (Chương 1) với các ký hiệu c1, c2, c3, c4 tượng trưng tương ứng cho tập các thuộc tính điều kiện {Mệt
mỏi, Đau đầu, Đau cơ, Thân nhiệt}, d ký hiệu thay cho thuộc tính quyết định
{Cảm cúm}. Bảng 2.3 trình bày ma trận phân biệt tương ứng; đây là ma trận đối xứng nên được trình bày dưới dạng một ma trận tam giác dưới.
Bảng 2.3. Ma trận phân biệt được xây dựng từ Bảng 1.2 U u1 u2 u3 u4 u5 u6 u1 u2 c4 u3 c4 u4 c2, c4 c2, c4 u5 c2, c3 c2, c3, c4 u6 c2, c4 c4 c3, c4
Giá trị m32 trong Bảng 2.3 cho thấy hai đối tượng u3 và u2 có cùng giá trị quyết định ( ( )u d3 u d2( )" ó")c hay nói cách khác u3 và u2 cùng thuộc một lớp tương đương của phân hoạch IND D( ). Trong khi đó m42{ , }c c2 4 điều này nói lên rằng hai đối tượng u2 và u4 có giá trị quyết định khác nhau và chúng được phân biệt nhau bởi các thuộc tính c2 hoặc c4 nhưng không phân biệt được bởi các thuộc tính c1 và c3.
Các thuật toán rút gọn thuộc tính dựa trên khái niệm ma trận phân biệt đã được đề xuất. Tương tự như Thuật toán 2.2, các thuật toán này thường được tiến hành theo hướng "từ trên xuống".
Trong [69], Yao Y.Y. và cộng sự giới thiệu một thuật toán tìm tập rút gọn trong hệ thông tin S = (U, A, V, f) dựa trên ma trận phân biệt. Trong thuật toán này ma trận phân biệt M được viết dưới dạng là tập các phần tử khác rỗng trong ma trận phân biệt hai chiều như định nghĩa.
Một cách hình thức, cho M mi j n n
là ma trận phân biệt thì dạng tập hợp của M là M mij . Ví dụ, dạng tập hợp của ma trận phân biệt trong Bảng 2.3 chính là M c c2 3, c c c2 3 4, c c2 4, c c3 4, c4. Thuật toán sử dụng các toán tử và độ đo sau đây:
- Absorb(M): m m, 'M mà m' M thì M:=M\{m}. Ví dụ,
2 3, 2 3 4, 2 4, 3 4, 4
Absorb c c c c c c c c c c cho kết quả là c c2 3, c4. Ý nghĩa của toán tử này trong quá trình sử dụng ma trận phân biệt để rút gọn thuộc tính là chỉ cần xem xét các tập thuộc tính chỉ dẫn phân biệt ở dạng tối giản nhất. - Cho a là một thuộc tính thì Group a( ) :mM a| m. Ví dụ, với
2 3, 2 3 4, 2 4, 3 4, 4
M c c c c c c c c c c thì Group c( )2 cho kết quả là
c c2 3, c c c2 3 4, c c2 4. Ý nghĩa của toán tử này trong quá trình sử dụng ma trận phân biệt để rút gọn thuộc tính là với một thuộc tính đã được chọn thì
cần xem xét loại bỏ đi các tập thuộc tính phân biệt trong M có chứa thuộc tính đó.
- Độ đo phù hợp : C R như trên. Độ đo thường sinh ra thứ tự ưu tiên giữa các thuộc tính. Chẳng hạn, (c2)> (c2)> (c2) c2 > c3 > c4. - Độ đo phù hợp md đối với các phần tử của M. Thông thường md được
chọn hoặc là tổng độ phù hợp các thuộc tính hoặc trung bình độ phù hợp các thuộc tính trong phần tử.
Thuật toán 2.6 dưới đây tương ứng với thuật toán được trình bày trong [69].
Thuật toán 2.6. Tìm tập rút gọn trong bảng quyết định từ ma trận phân biệt
(Tương ứng với thuật toán 4 trong [69])
Đầu vào: Ma trận phân biệt M mt của bảng quyết định TU C, D V f, , .
Đầu ra: Tập rút gọn R. Phương pháp: (1) R: ; TGA:C; (2)Do while M (2.1) M := Absorb(M); (2.2)aTGA: tính (a); (2.3) Chọn aTGA, Group(a) và a phù hợp nhất
begin R:=R{a}; TGA:= TGA \{a} end;
(2.4) a Group(a): tính dm(a);
(2.5) Chọn mi Group(a) phù hợp nhất
//Cập nhật ma trận M qua hai bước sau
begin M := M - Group(a); mM: m := m \ mi end
end
(3)Output R.
2.2.3. Phụ thuộc xấp xỉ
Các phương pháp rút gọn theo mô hình Pawlak đòi hỏi thời gian tính toán không nhỏ do phải tiến hành việc chọn, kiểm tra tính không cần thiết của từng thuộc
tính để xem xét việc loại bỏ dần các thuộc tính đó. Nếu số lượng thuộc tính "không cần thiết" quá nhỏ so với tập toàn bộ các thuộc tính thì hiệu quả của hoạt động rút gọn thuộc tính không cao. Đối với hệ thông tin (bảng quyết định) mà số lượng các thuộc tính lớn đáng kể, các phương pháp rút gọn thuộc tính theo hướng "từ dưới lên" tỏ ra hiệu quả trong nhiều tình huống. Trong các trường hợp đó, các phương pháp rút gọn thuộc tính dựa trên khái niệm phụ thuộc xấp xỉ (như trình bày dưới đây) tỏ ra có hiệu lực cao.
2.2.3.1. Hàm thành viên thô
Cho hệ thông tin SU A V f, , , , một tập con đối tượng X Uvà một đối tượng uU . Trong lý thuyết tập hợp thông thường, đối tượng u và tập X có quan hệ thuộc/không thuộc, nói khác đi, tương ứng với tập X là một hàm thành viên (còn được gọi là hàm đặc trưng) X mà uU: X (u) = 1 khi uX , ngược lại X (u) = 0. Trong lý thuyết tập thô, tương ứng với một tập đối tượng X là hàm thành viên thô, ký hiệu là X, được xác định như sau : uU: X (u) = [ ]
[ ] A A u X u . Tổng quát hóa [24], xét quan hệ tương đương trên U sinh bởi tập thuộc tính BA.
Định nghĩa 2.5. (Hàm thành viên thô: rough set membership function)
Cho B là tập thuộc tính điều kiện, BC với tập XU, hàm thành viên thô của
X ký hiệu B X
, được định nghĩa như sau: : [0,1], ( ) [ ] [ ] B B B X X B u X U u u . Hàm thành viên thô B X
được diễn giải như là một hàm ước lượng theo tần suất của xác suất P(uX|u, B) là xác suất có điều kiện để đối tượng u thuộc vào tập
X khi có tri thức từ tín hiệu thông tin về tập thuộc tính B [24].
Trên cơ sở khái niệm hàm thành viên thô, các khái niệm xấp xỉ trên và xấp xỉ dưới được mở rộng khi tương ứng với một độ thành viên (0.5,1] như sau:
} 1 ) ( | { }, ) ( | { X uU u B X uU u B XB XB . Rõ ràng là khái niệm tập xấp
xỉ trên và xấp xỉ dưới như vốn có là trường hợp đặc biệt ứng với giá trị =1 của diễn giải trên đây.
2.2.3.2. Độ phụ thuộc xấp xỉ
Khái niệm tập rút gọn và thuật toán 2.2 như đã trình bày tại mục con 2.2.1 cung cấp các nội dung nền tảng theo cách tiếp cận rút gọn thuộc tính với yêu cầu tập rút gọn bảo đảm đầy đủ hiệu năng như tập toàn bộ các thuộc tính khi xử lý dữ liệu. Phụ thuộc xấp xỉ (approximative dependent, hay phụ thuộc bộ phận: partially dependent) như trình bày dưới đây cung cấp các nội dung nền tảng cho cách tiếp cận rút gọn thuộc tính đảm bảo "một mức độ nào đó" hiệu năng xử lý dữ liệu.