5.6.Kết luận chương 5

Một phần của tài liệu nghiên cứu một số phương pháp khai phá dữ liệu theo tiếp cận lý thuyết tập thô (Trang 119 - 142)

6 u 5 0 5 5 7 u 1 0 0 1

Rõ ràng bảng quyết định DS nhất quán vì POS{a b c, ,} ( ){ }d =U. Xét quan hệ

{ 1, , , , , ,2 3 4 5 6 7}

r= u u u u u u u trên tập thuộc tính R={a b c d, , , } . Thực hiện các bước của Thuật toán 5.1 ta có { } { } { } { } { } { } { } { , , , , , , , , , , , } r = a b d a d b c a c a b c E { } { } { , , , } d = a c b c M Vậy { } { , , } d K V R K R c a b d ∈ = − I = − = MREAT C( ) { }= a b, .

Từ thuật toán 5.1 ta thu được các hệ quả sau:

Hệ quả 5.1. Cho trước bảng quyết định nhất quán DS =(U C, ∪{ }d V f, , ) và thuộc

tính a, tồn tại thuật toán xác định thuộc tính a là thuộc tính rút gọn hay không với thời gian đa thức theo số hàng và số cột của DS.

Hệ quả 5.2. Cho trước bảng quyết định nhất quán DS =(U C, ∪{ }d V f, , ) và thuộc

tính a, tồn tại thuật toán xác định thuộc tính a là thuộc tính dư thừa thực sự hay không với thời gian đa thức theo số hàng và số cột của DS.

5.2.3. Thực nghiệm thuật toán

Cài đặt Thuật toán 5.1 bằng ngôn ngữ C#. Trên máy tính PC với cấu hình Pentium dual core 2.13 GHz CPU, 1GB bộ nhớ RAM, sử dụng hệ điều hành Windows XP Professional, chạy thử nghiệm Thuật toán 5.1 với 4 bộ số liệu nhất quán lấy từ kho dữ liệu UCI [73].

Với mỗi bộ số liệu, giả sử U là số đối tượng, C là số thuộc tính điều kiện, t là thời gian thực hiện thuật toán (đơn vị là giây s). Các thuộc tính điều kiện được đánh số thứ tự từ 1,... C . Kết quả thử nghiệm Thuật toán 5.1 được mô tả ở Bảng 5.2.

Bảng 5.2. Kết quả thử nghiệm Thuật toán 5.1

STT Tập dữ liệu U C t Tập thuộc tính rút gọn Tập thuộc tính dư thừa thực sự 1 Adult-stretch 20 4 0.9 {3,4} {1,2} 110

3 2 Soybean- small.data 47 35 2.74 {1,2,3,4,5,6,7,8,9, 10,12,20,21,22,23, 24,25,26,27,28,35} {11,13,14,15,16,17, 18,19,29,30,31,32, 33,34} 3 Sponge.data 76 45 2.1 {1,…,11,13,…,34, 36,…,45} {12,35} 4 Zoo.data 101 17 3.1 9 {1,2,4,5,7,8,9,10, 11,12,13,14,15,17} {3,6,16}

5.3. Thuật toán tìm họ tất cả các tập rút gọn của bảng quyết định nhất quán

Cho bảng quyết định nhất quán DS =(U C, ∪{ }d V f, , ) với U ={u u1, ,...,2 um} . Theo nội dung trình bày trong mục 5.2.2 ta có ( ) r { }

d

PRED C =Kd với PRED C( ) là họ tất cả các tập rút gọn Pawlak của C r

d

K là họ các tập tối thiểu của thuộc tính d trên r. Từ kết quả này, chúng tôi xây dựng thuật toán tìm họ tất cả các tập rút gọn Pawlak của C, gọi tắt là họ các tập rút gọn củaC.

Các kết quả trong phần này đã được tác giả công bố trong tài liệu [9].

Thuật toán 5.2.[9] Tìm họ tất cả các tập rút gọn của tập thuộc tính điều kiện.

Đầu vào: Bảng quyết định DS=(U C, ∪{ }d V f, , )với POSC( ){ }d =U,

{ 1, ,...,2 n}

C= c c c , U ={u u1, ,...,2 um} .

Đầu ra: PRED C( ).

Phương pháp

Xét quan hệ r={u u1, ,...,2 um} trên tập thuộc tính R C= ∪{ }d .

Bước 1. Từ r xây dựng hệ bằng nhau Er ={Eij:1≤ < ≤i j m} với ( ) ( )

{ } (adsbygoogle = window.adsbygoogle || []).push({});

ij= ∈ : i = j

E a R u a u a .

Bước 2. Từ Er xây dựng tập Md ={AEr:d∉ ∃A BEr:d B A∉ , ⊂B}.

Bước 3. Bởi Thuật toán 1.4, tính tập K từ tập ( 1)

d d = −

M M K .

Bước 4. Đặt PRED C( ) =K −{ }d .

Chứng minh

Theo cách xây dựng Md tại Bước 2 và theo công thức tính bao đóng của tập thuộc tính trên quan hệ, ∀ ∈A Md ta có Ar+ =AA không chứa d nên Ar+ không chứa

d, suy ra A→{ }dF+. Mặt khác, nếu tồn tại B sao cho AB thì xảy ra hai trường

hợp: (1) Nếu B không chứa d thì Br+ =R; (2) Nếu B chứa d thì hiển nhiên Br+ chứa d. Cả hai trường hợp ta đều cóBr+chứa d hay B→{ }dF+. Do đó M d =MAX F d( +, )

với MAX F d( +, )={A R A⊆ : →{ }dF A B+, ⊂ ⇒ →B { }dF+}. Theo [15],

( ) ( ) 1

, r

d

MAX F d+ = K − với r d

K là họ các tập tối thiểu của thuộc tính { }d trên quan hệ r

nên ( )r 1 d d − = M K , do đó tại Bước 3, r d = K K và tại Bước 4, ( ) r { } d PRED C =Kd là họ tất cả các tập rút gọn của bảng quyết định. Độ phức tạp Thuật toán 5.2

Dễ thấy, độ phức tạp của Bước 1Bước 2 là đa thức theo kích thước của r.

Vì vậy, độ phức tạp của Thuật toán 5.2 là độ phức tạp của Thuật toán 1.4 tại Bước 3. Do đó, độ phức tạp thời gian của Thuật toán 5.2 là hàm mũ đối với số thuộc tính điều kiện của bảng quyết định.

Ví dụ 5.2. Bảng quyết định DS=(U C, ∪{ }d V f, , ) với U ={u u u u u u u1, , , , , ,2 3 4 5 6 7}, { , , } C= a b c cho ở Bảng 5.3. Bảng 5.3. Bảng quyết định ở Ví dụ 5.2 U a b c d 1 u 6 6 0 6 2 u 0 2 2 0 3 u 0 0 0 0 4 u 0 0 3 0 5 u 4 4 0 0 6 u 5 0 5 5 7 u 1 0 0 0 112

Rõ ràng bảng quyết định DS nhất quán vì POS{a b c, ,} ( ){ }d =U . Xét quan hệ

{ 1, , , , , ,2 3 4 5 6 7}

r= u u u u u u u trên tập thuộc tính R={a b c d, , , } . Áp dụng các bước của Thuật toán 5.2:

Bước 1: Tính Er ={{a b d, , } {, , ,b c d} { } { } { } { } { } { }, ,a d , ,b d , ,c d , b , c , d }

Bước 2: Tính Md ={{ } { }b , c }

Bước 3: Áp dụng các bước của Thuật toán 1.4 tính tập K từ tập K −1

( 1 )

d

− = (adsbygoogle = window.adsbygoogle || []).push({});

K M

- Ta có B1 ={ }b B, 2 ={ }c .

- Áp dụng Thuật toán 1.3, ta tính được A1=K1 ={ }d . Áp dụng Thuật toán 1.2 tính được 1 { } 1 { }

1− = d − = a b c, ,

K .

- Chọn B={a b c B, , ,} ⊆B B1, ⊆B2, bởi Thuật toán 1.3 ta tính được A2 ={ }b c, .

Vậy K2 ={{ } { }d , ,b c } . Áp dụng Thuật toán 1.2 tính được 1 {{ } { }}

2− = a b, , ,a c

K .

- Ta thấy { }a b, ∉B1 và { }a b, ∉B2 nên tiếp tục chọn B={ }a b, , bởi Thuật toán

1.3 ta tính được A3 ={ }a . Vậy K3 ={{ } { } { }d , , ,b c a } . Áp dụng Thuật toán 1.2 tính được 1 {{ } { }} 3− = b , c K . - Rõ ràng 1 3 , 1 BB B

∀ ∈K ∈ hoặc B B∈ 2, thuật toán dừng và { } { } { }

{ }

3 d , , ,b c a

= =

K K

Bước 4: Họ tất cả các tập rút gọn của bảng quyết định DS là ( ) { } { } { }{ , , }

PRED C =Kd = a b c .

5.4. Thuật toán xây dựng các phụ thuộc hàm từ bảng quyết định nhất quán

Cho bảng quyết định nhất quán DS =(U C, ∪{ }d V f, , ) với U ={u u1, ,...,2 um} . Trong phần này, luận án trình bày thuật toán xây dựng sơ đồ quan hệ sd =<R F, >

với R C= ∪{ }dF là tập các phụ thuộc hàm có dạng Ki →{ }d vớiKiC sao cho

( ) s { }

d

PRED C =Kd , s d

K là họ các tập tối thiểu của thuộc tính d trên sd.

Thuật toán 5.3. Xây dựng các phụ thuộc hàm từ bảng quyết định.

Đầu vào: Bảng quyết định DS =(U C, ∪{ }d V f, , )với POSC( ){ }d =U.

Đầu ra: sd =<R F, > mà s { } ( )

dd =PRED C

K (adsbygoogle = window.adsbygoogle || []).push({});

Bước 1. Từ bảng quyết định DS, bởi Thuật toán 5.2 tính PRED C( ). Giả sử

( ) { 1, 2,..., t}

PRED C = K K K .

Bước 2. Với mỗi KiPRED C( ),1≤ ≤i t xây dựng PTH Ki →{ }d . SĐQH

,

d

s =<R F> với R C= ∪{ }dF={Ki→{ }d K: iPRED C( )} là SĐQH cần xây dựng.

Chứng minh ( ) s { }

d

PRED C =Kd

1) Với K PRED C∈ ( ) ta có K →{ }d K, ≠{ }d và không tồn tại K'⊂K sao cho K'→{ }d . Do đó, theo định nghĩa K là một tập tối thiểu của thuộc tính { }d trên

d

s , nghĩa là s { }

d

KKd .

2) Ngược lại, với s { }

d

KKd ta có K →{ }d K, ≠{ }d và không tồn tại

'

KK sao cho K'→{ }d .

Dễ thấy với mọi KiPRED C( ),1≤ ≤i t, KKi. (5.1)

Vì nếu KKi thì Ki không phải là một tập rút gọn của DS.

Hơn nữa, với mọi KiPRED C( ),1≤ ≤i t K, iK. (5.2)

Vì nếu KiK thì K không phải là một tập tối thiểu của thuộc tính { }d trên

d

s . Từ công thức (5.1) và (5.2) suy ra K ={K K K, 1, 2,...,Kt} là hệ Sperner và với mọi AK ta có A→{ }d . Do đó, với quan hệ r trên tập thuộc tính R C= ∪{ }d ta

K ∪{ }d là họ các tập tối thiểu của thuộc tính d trên quan hệ r. Vì vậy, ( ) PRED C = K hayK PRED C∈ ( ). Từ 1) và 2) kết luận ( ) s { } d PRED C =Kd . Độ phức tạp thuật toán

Độ phức tạp của Bước 1 là độ phức tạp của Thuật toán 5.2, độ phức tạp của

Bước 2O PRED C( ( )) nên độ phức tạp của thuật toán là độ phức tạp của Thuật

toán 5.2. Do đó, độ phức tạp thời gian của thuật toán là hàm mũ đối với số thuộc tính điều kiện của bảng quyết định. (adsbygoogle = window.adsbygoogle || []).push({});

Ví dụ 5.3. Với bảng quyết định DS=(U C, ∪{ }d V f, , ) ở Ví dụ 5.2 ta có

( ) { } { }{ , , }

PRED C = a b c . Khi đó, SĐQH được xây dựng là sd =<R F, > với

{ , , , }

R= a b c dF ={{ } { } { } { }ad , ,b cd } .

5.5. Thuật toán xây dựng bảng quyết định từ tập phụ thuộc hàm

Cho trước SĐQH s=<R F, >, tập thuộc tính R C= ∪{ }d với { }d được chọn đóng vai trò là thuộc tính quyết định, F là tập phụ thuộc hàm trên R. Trong phần này, luận án trình bày thuật toán xây dựng bảng quyết định DS =(U C, ∪{ }d V f, , )

sao cho ( ) s { }

d

PRED C =Kd , với s d

K là họ các tập tối thiểu của thuộc tính d trên s. Các kết quả trong phần này đã được tác giả công bố trong tài liệu [54].

Thuật toán 5.4.[54] Xây dựng bảng quyết định từ SĐQH.

Đầu vào: SĐQH s=<R F, > với R C= ∪{ }dF là tập PTH trên R.

Đầu ra: Bảng quyết định DS=(U C, ∪{ }d V f, , ) sao cho ( ) s { }

d

PRED C =Kd

Bước 1. Từ s=<R F, >, bởi Thuật toán 1.6 tính s d K .

Bước 2. Từ s

d

K , bởi Thuật toán 1.2 tính tập ( )s 1

d d − = M K . Giả sử { 1, ,...,2 } d = A A At M . 115

Bước 3.Xây dựng bảng quyết định DS=(U C, ∪{ }d V f, , ) với U={u u0, ,...,1 ut} như sau:

• Với mọi c C, u c0( ) =0, đặt u d0( ) =0.

• Với mọi i=1,...,t đặt u ci( ) =0 nếu c Ai;trong trường hợp ngược lại đặt ( )

i

u c =i. Đặt u di( ) =i với mọi i=1,...,t.

Với bảng quyết định thu được, phần tiếp theo chúng tôi chứng minh ( ) s { }

d

PRED C =Kd .

Chứng minh (adsbygoogle = window.adsbygoogle || []).push({});

Theo cách xây dựng quan hệ r ta có E1i = Ai−1 với 2≤ ≤ +i t 1 và Eij =A1iA1j với 2≤ < ≤ +i j t 1 nên Eij =E1iE1j, hayEijE E1i, ijE1j với 2≤ < ≤ +i j t 1. Hơn nữa, theo định nghĩa Md ={A A1, ,...,2 At} tính ở Bước 2 là hệ Sperner, nghĩa là

1i = i−1

E A với 2≤ ≤ +i t 1 là hệ Sperner. Do đó, tập M ={E1i:1≤ ≤ +i t 1}có tính chất

A

∀ ∈M ⇒ ∃

{ BM :AB} . Từ định nghĩa hệ bằng nhau cực đạiM r ta có { 1 :1 1} r = Ei ≤ ≤ +i t M , do đó ( ) 1 { } 1, 2,..., s r = d = d − = A A At M M K . Bây giờ, ta chứng minh ( )r 1 r d − = M K với r d

K là họ các tập tối thiểu của thuộc tính d trên quan hệ r.

1) VớiAM r ta có Ar+ =AA không chứa d nên Ar+ không chứa d, suy ra { }

AdF+. Mặt khác, nếu tồn tại B sao cho AB thì theo công thức tính bao

đóng của tập thuộc tính trên quan hệ ta cóBr+ =R chứa d, hay B→{ }dF+. Mặt

khác theo [15], ( ) 1 ( ) MAX , r d − = F d+ K với ( ) { { } { } } MAX F d+, = AR A: → dF A+, ⊂ ⇒ →B B dF+ . Do đó ta kết luận ( )r 1 d AK − . 2) Ngược lại, nếu ( )r 1

d

AK − thì rõ ràng A R≠ . Nếu có một B sao cho AB

ABthì theo định nghĩa của tập phản khóa ta có B→{ }d và A→{ }d , đây là điều vô

lý, vì vậy không tồn tại B sao cho ABAB, nghĩa là Ar+ = A. Hơn nữa, theo

định nghĩa phản khóa, nếu tồn tạiB' ≠R sao cho AB' thì B' →{ }d , hay { }dB'r+.

Vậy, A là tập cực đại không chứa d thỏa mãn A A= r+ (5.3) Mặt khác trên quan hệ r, với mọi BMr thì B R, B B= r+ và B không chứa d.

Nếu D là tập sao cho BD thì Dr+ =R hay { }dDr+.

Vậy M r là tập của các tập cực đại B không chứa d thỏa mãn B B= r+ (5.4)

Từ công thức (5.3) và (5.4) ta có AMr. Từ 1) và 2) ta kết luận ( )r 1

r d

=

M K . Hơn nữa, theo kết quả chứng minh trên ta

có ( ) 1 { }

1, 2,...,

s

r = d = d − = A A At

M M K . Do đó, trên quan hệ r được xây dựng ta có

( )r 1 ( )s 1 d d d − − = = K M K hay r s ( ) r { } s { } d = dPRED C = dd = dd K K K K . Độ phức tạp Thuật toán 5.4 Độ phức tạp Bước 1 tính s d (adsbygoogle = window.adsbygoogle || []).push({});

K là độ phức tạp của Thuật toán 1.6. Độ phức tạp

của Bước 2 tính ( )s 1

d d

=

M K là độ phức tạp của Thuật toán 1.2. Do đó, độ phức tạp thời gian của Thuật toán 5.4 là hàm mũ đối với số thuộc tính của sơ đồ quan hệ.

Ví dụ 5.4. Cho sơ đồ quan hệ s=<R F, > với R={a b c d, , , }, C={a b c, , } và tập phụ thuộc hàm F ={{ }a c, →R a,{ } {→ a b d, , } { } {, ,b cb c d, , }} . Áp dụng các bước của

Thuật toán 5.4.

Bước 1: Áp dụng Thuật toán 1.6 tính s d K .

1) Đặt L( )1 =E1={ }d .

2) Chọn các PTH AB có vế trái không chứa { }d .

Xét PTH { }a c, →R, ta có { }dA∪(C B− ) { }= a c, . Ta xây dựng E2 từ { }a c, . Theo Thuật toán 1.5, ta có

Nếu loại a thì { } { }cdF, vậy không loại được a.

Nếu loại c thì { } { }adF , vậy loại được c.

Do đó, E2 ={ }aL( ) { } { }2 ={ a , d } .

3) Chọn các PTH ABcó vế trái không chứa { }a hoặc { }d . Xét PTH duy nhất chọn được { } {b c, → b c d, , }. Nếu chọn C ={ }a thì A∪(C B− ) {= a b c, , } chứa { }a , còn nếu chọn C={ }d thì A∪(C B− ) { }= b c, không chứa { }a và { }d . Do đó, xây dựng E3 từ { }b c, theo Thuật toán 1.5. Ta có

Nếu loại b thì { } { }cdF, vậy không loại được b.

Nếu loại c thì { } { }bdF, vậy không loại được c.

Do đó, E3 ={ }b c, và L( ) { } { } { }3 ={ a , d , ,b c }

4) Không chọn được các PTH ABcó vế trái không chứa { }a , { }d hoặc { }b c, , thuật toán dừng.

Vậy s ( ) { } { } { }3 { , , , }

d =L = a d b c

K .

Bước 2: Áp dụng Thuật toán 1.2 tính ( )s 1

d d − = M K . Đặt B1 ={ }a , B2 ={ }d , B3 ={ }b c, . Khi đó: { } { } { } 1= Ra a B: ∈ 1 = b c d, , K . Ta thấy B2 ⊆{b c d, , } nên F1 = ∅{ } và { } 1 , , X = b c d . Tính { } 1 2 B − trên tậpX1, đó là tập{X1−{ }a a B: ∈ 2} . Khi đó { } 1 { } 2 , B − = b c . Ta thấy { }b c, không là tập con của F1= ∅{ } nên K2 = ∪F1 { } { }b c, = b c, .

Ta thấy B3⊆{ }b c, nên F2 = ∅{ } và X2 ={ }b c, .

Tính { } 1 3

B − trên tậpX2 thu được { } 1 {{ } { }}

3 ,

B − = b c . Ta thấy { } { }b , c không là (adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu nghiên cứu một số phương pháp khai phá dữ liệu theo tiếp cận lý thuyết tập thô (Trang 119 - 142)