1.4. Phụ thuộc xấp xỉ
1.4.2. Phụ thuộc hàm xấp xỉ
Dữ liệu trong thực tế thường rất lớn và đa dạng, vì vậy, để nắm bắt được các quy luật biến đổi trong dữ liệu, chúng ta thường phải phân tích một cách tường tận quan hệ giữa các dữ liệu với nhau. Một trong những quan hệ đóng vai trị quan trọng cho bài toán khai phá dữ liệu là sự phụ thuộc giữa các thuộc tính của dữ liệu. Trong phần này chúng ta sẽ đề cập đến sự phụ thuộc này một cách tổng quát.
Cho X vàY là các tập con của tập thuộc tính củaA. Ta nói rằng độ phụ thuộc
của Y vào X làk và ký hiệu X →k Y, nếu:
k=γ(X, Y) := Card(POSX(Y)) Card(U)
Hay
k = X
V∈U/Y
Card(X(V)) Card(U)
Khi k <1, ta nói rằngY phụ thuộc một phần vàoX (với độ phụ thuộck). Khi k = 1, Y được gọi là phụ thuộc hoàn toàn vàoX, và ký hiệu đơn giản X →Y. Rõ ràng, Y phụ thuộc hoàn toàn vào X nếu phụ thuộc hàm X xác định Y đúng trên bảng dữ liệu đã cho, tức là, với mọi cặp đối tượng u, v ∈ U, u(X) = v(X) suy ra
u(Y) = v(Y). Vì vậy trong trường hợp k < 1, chúng ta cũng nói rằng tồn tại phụ
thuộc hàm xấp xỉ X xác địnhY trên U với sai số = 1−k.
Ví dụ 1.6. Xét hệ thống thơng tin với tập thuộc tính A={a, b, c} và U gồm chín đối tượng cho bởi Bảng 1.9.
U a b c u1 1 1 1 u2 1 2 2 u3 2 1 1 u4 2 2 2 u5 3 3 3 u6 3 1 3 u7 1 3 3 u8 2 3 3 u9 3 2 2 Bảng 1.9: Bảng dữ liệu. Đặt X ={a, b}; Y ={c}; Z ={b}. Ta có: U/X ={{u1},{u2},{u3},{u4},{u5},{u6},{u7},{u8},{u9}}
U/Y ={V1, V2, V3}; V1 ={u1, u3}; V2 ={u2, u4, u9};V3 ={u5, u6, u7, u8};
Vì XV1 =V1, XV2 = V2, XV3 =V3, nên γ(X, Y) = 1, và do đó, Y phụ thuộc hịan tịan vào X.
Tính tốn tương tự, ta đượcZV1 =∅;ZV2 ={u2, u4, u9}vàZV3 ={u5, u7, u8}.
Từ đó suy ra γ(Z, Y) = 6 9 =
2
3 hay Y phụ thuộc vào Z với độ phụ thuộc là 2 3.
Định lý sau cho ta mối quan hệ giữa tính chất của phụ thuộc với các tập xấp xỉ
Định lý 1.3. [24] Những mệnh đề sau là tương đương a) X →Y.
b) U/(X∪Y) =U/X. c) POSX(Y) =U.
d) XV =V, với mọi V ∈U/Y. Chứng minh.
(a ⇒ b) Với mỗi V ∈ U/(X ∪Y), tồn tại W ∈ U/X sao cho V ⊆ W. Ta sẽ chứng minh W = V. Thật vậy, giả sử tồn tại u ∈W và u 6∈ V. Lấy v ∈ V ⇒ v ∈
W ⇒ u(X) = v(X). Vì X → Y nên u(Y) = v(Y) suy ra u(X ∪Y) = v(X ∪Y) :
vơ lý vì u6∈V. VậyV =W ∈U/X. Vì điều này đúng với mọi V ∈U/(X∪Y) nên
U/(X∪Y) =U/X.
(b ⇒ c) Rõ ràng POSX(Y) ⊆ U. Vì vậy chỉ cần chứng minh U ⊆ POSX(Y).
Với mỗi u ∈U, đặt V = [u]Y ⊇[u]X∪Y = [u]X suy ra [u]X ⊆XV ⊆POSX(Y) hay
u∈POSX(Y).
(c ⇒ d) Ta có XV ⊆ V. Bây giờ ta chứng minh V ⊆ XV với mọi V ∈ U/Y. Thật vậy, với mọi u∈V ⊆U ⇒u∈POSX(Y) = [
W∈U/Y
XW do đó tồn tại W ∈
(d ⇒a) Với mọi cặp đối tượng u, v ∈V ∈U/X, đặt W1 = [u]Y và W2 = [v]Y. Khi đó, XW1 = W1 và XW2 = W2. Vì u ∈ XW1 = W1 nên [u]X ⊆ W1, tương tự
[v]X ⊆W2. Suy ra W1 =W2 hay u(Y) =v(Y). Vậy X →Y.
Bằng kỹ thuật chứng minh tương tự, chúng ta cũng dễ dàng kiểm chứng định lý sau
Định lý 1.4. [24] Cho X, X0, Y, Y0, Z và Z0 là các tập con các thuộc tính. Khi đó: a) Nếu X →Y và X0 ⊇X thì X0 →Y. b) Nếu X →Y và Y0 ⊆Y thì X →Y0. c) Nếu X →Y và Y →Z thì X →Z. d) Nếu X →Z và Y →Z thì X∪Y →Z. e) Nếu X →Y ∪Z và X →Y thì X →Z. f) Nếu X →Y và Y ∪Z →Z0 thì X∪Z →Z0. g) Nếu X →Y và Z →Z0 thì X∪Z →Y ∪Z0. 1.4.3. Rút gọn xấp xỉ
Cơ sở dữ liệu thường chứa một số thuộc tính dư thừa, là những thuộc tính khơng cần thiết đối với sự khai phá luật. Sự có mặt của các thuộc tính dư thừa làm cho độ phức tạp tính tốn của bài tốn khai phá luật rất lớn và số lượng luật được phát hiện sẽ bị hạn chế.
Việc loại bỏ các thuộc tính dư thừa cũng tương đương với việc chọn những thuộc tính nào để lại là phù hợp nhất. Đây là một trong những vấn đề quan trọng trong học máy và nhận dạng mẫu. Nhiều chuyên gia đã giải quyết bài toán này với những cơng cụ khác nhau, gần đây có một số nhà nghiên cứu đã dựa vào lý thuyết
tập thơ để chọn lọc các thuộc tính, chẳng hạn như sử dụng bảng phân phối tổng quát, rời rạc hóa dữ liệu dựa vào tập thô và lập luận xấp xỉ v.v...
Tuy nhiên dữ liệu trong thực tế thường rất lớn và đa dạng. Các dữ liệu này có thể khơng chắc chắn, khơng đầy đủ và biến động. Vì vậy, một rút gọn đúng nghĩa có thể tồn tại nhưng khơng chắc tìm được, hoặc chúng ta phải tốn rất nhiều cơng sức để tìm ra được nó mà đơi khi kết quả đem lại khơng thực sự hữu ích. Thay vào đó, người ta tìm một rút gọn "chấp nhận được" là một rút gọn xấp xỉ, đúng với "phần lớn" dữ liệu có được. Với bài tốn này, cơng sức tìm kiếm có thể sẽ giảm đi nhiều, đặc biệt là khi sử dụng các thuật tốn heuristic.
Như phần trước đã trình bày, một rút gọn của bảng quyết định không thể thiếu các thuộc tính lõi. Vì vậy, để tìm các rút gọn xấp xỉ người ta thường xuất phát từ tập lõi và bổ sung dần các thuộc tính cho đến khi đạt được yêu cầu đánh giá một rút gọn xấp xỉ. Vấn đề cịn lại là chọn thuộc tính nào đây để đưa vào tập rút gọn. Điều này dẫn đến việc cần có sự đánh giá các thuộc tính theo u cầu nào đó để chọn các thuộc tính có "chất lượng" đưa vào tập rút gọn, khái niệm ý nghĩa của thuộc tính xuất phát từ đó.
Mỗi thuộc tính được gán tương ứng với một giá trị thực trong khỏang đóng [0,1] biểu diễn mức độ quan trọng của thuộc tính trong bảng thơng tin. Trong phần trước, chúng ta đã được biết đến độ phụ thuộc của tập thuộc tính Y vào tập thuộc tính X là γ(X, Y). Ở đây chúng ta cũng sẽ xét bảng quyết đinh T= (U, C∪D) với
C là tập thuộc tính điều kiện và D là tập thuộc tính quyết định. Khi đó chúng ta sẽ xem xét giá trị của γ(C, D) sẽ thay đổi như thế nào khi chúng ta loại bỏ một thuộc tính trong C, nghĩa là hai hệ số γ(C, D) và γ(C\ {a}, D) sẽ khác nhau như thế nào? Sự khác nhau đó được dùng trong biểu diễn ý nghĩa của thuộc tính a, ký
hiệu σ(C,D)(a) và được định nghĩa cụ thể như sau
σ(C,D)(a) = γ(C, D)−γ(C\ {a}, D)
γ(C, D) = 1− γ(C\ {a}, D)
γ(C, D) .
và IND(C\ {a}). Hệ số ý nghĩa này có thể mở rộng đối với tập các thuộc tính
σ(C,D)(B) = γ(C, D)−γ(C\B, D)
γ(C, D) = 1− γ(C\B, D)
γ(C, D) ,
ở đây B là một tập con của C. Trong trường hợp C và D đã xác định rõ, chúng ta ký hiệu các giá trị trên đơn giản là σ(a) và σ(B).
NếuB là một rút gọn củaC thìσ(C\B) = 1− γ(B, D)
γ(C, D) = 0 điều này có nghĩa
là các thuộc tính C\B khơng có ý nghĩa, hay nói cách khác, các thuộc tính này có thể khơng được xét đến trong khi xây dựng các luật.
Một tập conB củaC được gọi là một rút gọn xấp xỉ của C với sai số(B)nếu:
(B) = γ(C, D)−γ(B, D)
γ(C, D) = 1− γ(B, D)
γ(C, D).
Vì (B) = 1−σ(B)nên khái niệm rút gọn xấp xỉ (tương ứng miền khẳng định) là sự tổng quát hóa của khái niệm rút gọn. Thật vậy, một tập con cực tiểu B thỏa mãn (B) = 0 chính là rút gọn theo nghĩa ngun thủy.
MỘT SỐ THUẬT TỐN TÌM TẬP RÚT GỌN
2.1. Mở đầu
Như đã được trình bày, phát hiện luật theo tiếp cận của lý thuyết tập thô là một trong những phương pháp đang được nhiều nhà khoa học nghiên cứu và sử dụng trong quá trình khai phá tri thức từ dữ liệu. Do dữ liệu thực tế thường đa dạng, khơng đầy đủ, thiếu chính xác mà lại dư thừa nên việc chọn lọc thuộc tính được đặt ra nhằm loại bỏ các thuộc tính dư thừa mà vẫn giữ được đầy đủ ý nghĩa của tập dữ liệu đang xét. Mục tiêu của việc chọn lọc thuộc tính là tìm ra các thuộc tính cốt yếu và cần thiết trong cơ sở dữ liệu. Dựa vào đó, việc sinh luật và phân lớp có thể đạt hiệu quả cao nhất mà chỉ dựa vào một tập con các thuộc tính đã được lựa chọn.
Có nhiều thuật tốn tìm tập rút gọn đã được đề nghị, chẳng hạn như thuật toán dựa vào khái niệm ma trận phân biệt được, thuật toán rời rạc hoá và lập luận logic, thuật toán dựa vào bảng phân bố tổng quát và tập thô v.v... Tuy nhiên, số lượng các tập rút gọn có thể là 2k−1, với k là số các thuộc tính. Ngồi ra, trong
thực tế thường khơng địi hỏi tìm tất cả các tập rút gọn mà chỉ cần tìm được một tập rút gọn "tốt nhất" là đủ. Vì vậy, các thuật tốn heuristic là rất đáng được quan tâm, các thuật tốn này nhằm làm giảm khối lượng tính tốn, nhờ đó có thể áp dụng đối với các bài tốn có khối lượng dữ liệu lớn. Khơng ngồi mục đích đó, trong chương này chúng tơi cũng đề nghị một số thuật tốn heuristic tìm tập rút gọn của bảng quyết định. Các thuật tốn này đều có độ phức tạp tính tốn theo thời gian là O(k2nlogn), với k là số thuộc tính và n là số các đối tượng trong hệ thống. Hai thuật tốn đầu dựa vào mơ hình tập thơ mới được đề nghị bởi các tác giả Xiaohua Hu, Jianchao Han và T.Y.Lin [14], thuật tốn cịn lại dựa vào ý nghĩa của ma trận phân biêt được do A. Skowron và C. Rauser đề xướng [26].
2.2. Thuật toán sử dụng các phép toán đại số
2.2.1. Tập lõi trong bảng quyết định
Cho bảng quyết định T = (U, C ∪ D). Khi đó trên U có quan hệ tương đương IND(D). Giả sử các lớp tương đương ứng với quan hệ này là U/D = {W1, W2,· · · , Wk} và các tập B−xấp xỉ dưới, B−xấp xỉ trên của của các tập Wi
tương ứng là BWi và BWi. Dựa trên các khái niệm xấp xỉ này, các tác giả Xiao- hua Hu, Jianchao Han và T.Y. Lin [14] đã đưa ra các khái niệm B−xấp xỉ dưới và B−xấp xỉ trên tương ứng với tập quyết định D của tập đối tượng U. Từ đó đưa ra các khái niệm tương đương về tập lõi và rút gọn dựa vào các phép toán đại số quan hệ. Chúng ta sẽ lần lượt tiếp cận các khái niệm này thông qua các định nghĩa một cách chính xác như sau
Định nghĩa 2.1. Cho bảng quyết địnhT= (U, C∪D)vàU/D ={W1, W2,· · · , Wk}.
Giả sử B ⊆C, B−xấp xỉ dưới tương ứng với D của U, ký hiệu Lower[B]/[D], là tập xác định bởi Lower[B]/[D]:= k [ j=1 BWj. (2.1)
Định nghĩa 2.2. Với các giả thiết như trong Định nghĩa 2.1,B−xấp xỉ trên tương
ứng với D của U, ký hiệuUpper[B]/[D], là tập xác định bởi
Upper[B]/[D]:=
k
[
j=1
BWj. (2.2)
Thực ra khái niệmLower[B]/[D]chính làB−miền khẳng định củaDcịnUpper[B]/[D]
lúc nào cũng bằng chính tập U. Điều này được suy ra từ định nghĩa của bảng quyết
định nhất quán và các tính chất của quan hệ tương đương, cụ thể chúng ta có mệnh đề sau
Mệnh đề 2.1. Cho T= (U, C∪D) là một bảng quyết định. Khi đó: a) B0 ⊆B ⊆C ⇒ ∀Vi ∈U/B,∃V0
j ∈U/B0 :Vi ⊆Vj0. b) Upper[B]/[D]=U với mọi tập B ⊆C.
c) T nhất quán ⇔Lower[C]/[D]=U. Chứng minh. Xét B, B0 ⊆C. Khi đó,
a) B0 ⊆B ⇒ ∀u, v ∈U, u(B) = v(B) thì u(B0) = v(B0) do đó [u]B ⊆[u]B0. b) Upper[B]/[D]= k [ j=1 BWj = k [ j=1
{u∈U |[u]B∩Wj 6=∅}=U vì với mọi đối tượng
u∈U đều thuộc một lớp tương đươngWj nào đó.
c) Rõ ràng T nhất quán khi và chỉ khi POSC(D) = U. Hơn nữa, từ định nghĩa của Lower ta có Lower[C]/[D] = POSC(D). Do đó T nhất quán khi và chỉ khi
Lower[C]/[D]= POSC(D) =U.
Từ các định nghĩa xấp xỉ trên bảng quyết định các tác giả trong [14] đã đưa ra định nghĩa mới về tập lõi dựa vào các phép tốn của đại số quan hệ, đó là phép đếm và phép chiếu.
Định nghĩa 2.3. Với các xấp xỉ được định nghĩa trong (2.1) và (2.2), ta gọiB−biên
của U là tập
Boundary[B]/[D]:= Upper[B]/[D]\Lower[B]/[D] =U \Lower[B]/[D]. (2.3) Định nghĩa 2.4. Cho T= (C, D) là một bảng quyết định nhất quán. Thuộc tính
cj ∈C được gọi là thuộc tính lõi (hay khơng cần thiết) nếu
Card(Y(C\ {cj}))< Card(Y(C\ {cj} ∪D)). (2.4) Định nghĩa này mang lại một ý nghĩa thực tiễn rất lớn, cho phép xác định các thuộc tính lõi chỉ với những thao tác đơn giản mà khơng cần tìm tất cả các tập rút gọn, thậm chí chưa biết đến một tập rút gọn nào cả. Hơn nữa, định nghĩa này hoàn toàn tương đương với định nghĩa theo lý thuyết tập thơ truyền thống đã được trình bày trong Mục 1.3.1.
Thật vậy, nếu cj là thuộc tính cần thiết thì POSC(D)% POSC\{cj}(D) suy ra
∃u ∈ POSC(D) mà u 6∈ POSC\{cj}(D). Do đó [u]C ⊆ [u]D mà [u]C\{cj} * [u]D hay nói cách khác, ∃v ∈ [u]C\{cj} sao cho v 6∈ [u]D tức là v(C \ {cj}) = u(C\ {cj}) và
v(D)6=u(D). Vậy Card(Q
(C\ {cj}))<Card(Q
(C\ {cj} ∪D)). Ngược lại, giả sử
(2.4) thoả mãn. Lúc đó, tồn tại V ∈U/(C\ {cj})và V 6∈U/(C\ {cj} ∪D). Tức là V * Lower[C\{cj}]/[D] trong khi V ⊆ U = Lower[C]/[D] vì T là nhất quán. Vậy cj là thuộc tính cần thiết.
Từ định nghĩa này, cũng trong [14], các tác giả đã đề nghị thuật tốn sau tìm lõi của bảng quyết định
Thuật tốn 2.1. Tìm lõi.
Input: T= (C, D).
Output: Tập lõi Core.
Method: 1. Core :=∅;
2. For cj ∈C do 3. If Card(Q
(C\ {cj}))< Card(Q
(C\ {cj} ∪D)) then 4. Core := Core∪{cj};
Độ phức tạp tính tốn của thuật tốn này làO(knlogn), trong đók = Card(C)
và n = Card(U).
Ví dụ 2.1. Ta xét bảng quyết định trong [14] được cho bởi Bảng 2.1, lưu thông tin về 8 chiếc xe hơi nhận được thơng qua các thuộc tính điều kiệnC={c1 =W eight, c2 =
Door, c3 =Size, c4 =Cylinder}và thuộc tính quyết định D ={d=M ileage}.
U c1 c2 c3 c4 d
u1 low 2 compact 4 high
u2 low 4 sub 6 low
u3 medium 4 compact 4 high
u4 high 2 compact 6 low
u5 high 4 compact 4 low
u6 low 4 compact 4 high
u7 high 4 sub 6 low
u8 low 2 sub 6 low
Bảng 2.1: Bảng thông tin về các xe hơi.
Trong bảng này ta có:
Card(Q({c1, c2, c3})) = 8 = Card(Q({c1, c2, c3, d})).
Như vậy, c4= Cylinder khơng phải là thuộc tính lõi. Tương tực2 = Door, c3= Size
cũng khơng phải là thuộc tính lõi vì
Card(Q({c1, c2, c4})) = 8 = Card(Q({c1, c2, c4, d})),
Card(Q
(c1, c3, c4)) = 6 = Card(Q
Trong khi đó
Card(Q({c2, c3, c4})) = 5<Card(Q({c2, c3, c4, d})) = 6.
Vậy bảng chỉ có một thuộc tính lõi là c1= Weight.
2.2.2. Đặc trưng của tập rút gọn
Cũng trong nổ lực xây dựng thuật tốn cải tiến tìm tập rút gọn dựa vào đại số quan hệ, trong [14] các tác giả đã đưa ra một định nghĩa rút gọn mới.
Định nghĩa 2.5. [14]
a) Cho R là một tập con các thuộc tính điều kiện: R ⊆ C. Độ phụ thuộc giữa R và tập thuộc tính quyết định D trong bảng quyết địnhT= (U, C ∪D), ký
hiệu K(R, D), là giá trị được định nghĩa bởi
K(R, D) = Card(
Q
(R∪D))
Card(Q
(C∪D)). (2.5)
b) Tập con R ⊆ C được gọi là một rút gọn của tập thuộc tính điều kiện tương ứng với tập thuộc tính quyết định D nếu
K(R, D) =K(C, D) (2.6) và
K(R, D)> K(R0, D), ∀R0 ⊂R. (2.7) Rất tiếc, không như định nghĩa về lõi (Định nghĩa 2.4), định nghĩa này không tương đương với định nghĩa của tập rút gọn trong lý thuyết tập thô truyền thống ngay cả khi bảng là nhất qn. Vì vậy thuật tốn rút gọn mà các tác giả đã đề nghị trong [14] là khơng chuẩn xác. Chúng ta có thể dễ dàng nhận thấy điều này qua ví dụ sau.
Ví dụ 2.2. Ta vẫn xét bảng quyết định cho ở Ví dụ 2.1. Trong bảng này có hai rút gọn là R1 ={Weight, Size} và R2 = {Weight, Cylinder} nhưng
K(R1, D) = Card( Q (R1 ∪D)) Card(Q (C∪D)) = 5 8 6=K(C, D) = 1. Cũng vậy ta có K(R2, D) = Card(