Phụ thuộc hàm xấp xỉ

Một phần của tài liệu Luận văn tốt nghiệp tiếp cận lý thuyết tập thô do z pawlak (Trang 29)

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}; U/Z ={W1, W2, W3};W1 ={u1, u3, u6}; W2 ={u2, u4, u9}; W3 ={u5, 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 toá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. (adsbygoogle = window.adsbygoogle || []).push({});

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 toán của bài toá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 toá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 toá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 yê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 nguyên thủy.

MỘT SỐ THUẬT TOÁ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 toá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. Ngoà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 toán heuristic là rất đáng được quan tâm, các thuật toán này nhằm làm giảm khối lượng tính toán, nhờ đó có thể áp dụng đối với các bài toán có khối lượng dữ liệu lớn. Không ngoài mục đích đó, trong chương này chúng tôi cũng đề nghị một số thuật toán heuristic tìm tập rút gọn của bảng quyết định. Các thuật toán này đều có độ phức tạp tính toá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 toá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 toá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]. (adsbygoogle = window.adsbygoogle || []).push({});

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,∃Vj0 ∈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 toá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à (adsbygoogle = window.adsbygoogle || []).push({});

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 toán sau tìm lõi của bảng quyết định

Thuật toán 2.1. Tìm lõi.

Input: T= (C, D).

Output: Tập lõi Core. Method:

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 toán của thuật toá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. (adsbygoogle = window.adsbygoogle || []).push({});

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 toá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)

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 quán. Vì vậy thuật toá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(

Một phần của tài liệu Luận văn tốt nghiệp tiếp cận lý thuyết tập thô do z pawlak (Trang 29)