Phõn hoạch mịn hơn

Một phần của tài liệu (LUẬN văn THẠC sĩ) phương pháp xây dựng cây quyết định dựa trên tập phụ thuộc hàm xấp xỉ (Trang 31)

Khỏi niệm phõn hoạch mịn hơn liờn quan trực tiếp với cỏc phụ thuộc. Một phõn hoạch π mịn hơn một phõn hoạch π, khỏc nếu mỗi lớp tương đương trong π đều là tập con của một lớp tương đương nào đú của π,.

Bổ đề 1 [1]:

Một PTH XA đỳng nếu và chỉ nếu πX mịn hơn π A .

Để kiểm tra XA đỳng hay khụng chỳng ta kiểm tra | π |X cú bằng với | πX {A} | hay khụng. Nếu πX mịn hơn π thỡ  A πX A bằng với πX

số lớp tương đương với πX). Mặt khỏc do πX A luụn mịn hơn πX nờn πX A

và πXchỉ cú cựng số lớp tương đương khi πX A bằng πX

Bổ đề 2

Một PTH XA đỳng nếu và chỉ nếu | π |X = | πX {A} |

Vớ dụ: Xột quan hệ cho trờn bảng 2.2 sau:

Bảng 2.2. Bảng quan hệ vớ dụ cho phõn hoạch mịn hơn

TupleID A B E C D 1 1 a 2 $ Hoa 2 1 A 2 Hoa Nhài 3 2 A 0 $ Hướng Dương 4 2 A 0 $ Hoa 5 2 b 0 Hoa Huệ 6 3 b 1 $ Hoa Lan 7 3 C 1 Hoa 8 3 C 1 # Hoa Hồng

Cỏc lớp tương đương đối với thuộc tớnh A:{{1,2},{3,4,5},{6,7,8}}, cỏc lớp tương đương đối với thuộc tớnh E:{{1,2},{3,4,5},{6,7,8}}. Vỡ cỏc lớp tương đương của thuộc tớnh A mịn hơn cỏc lớp tương đương của thuộc tớnh

E nờn qua đú cú thể phỏt hiện PTH AE được thỏa món.

Một định nghĩa chuẩn của một phụ thuộc xấp xỉ XA là dựa trờn số tối thiểu những hàng cần loại bỏ khỏi quan hệ r để phụ thuộc XA đỳng trong r. Sai số

3( ) 1 (max{| ||

g XA   s srXA đỳng trong s})/r. Độ đo g3 cú một cỏch hiểu tự nhiờn như tỷ số của cỏc hàng với những ngoại lệ hoặc sai số ảnh hưởng đến phụ thuộc. Cho một ngưỡng sai số ,

1

0  , chỳng ta núi rằng XA là một phụ thuộc xấp xỉ nếu và chỉ nếu

( )

Lỗi e(XA) cú thể được tớnh toỏn từ cỏc phõn hoạch X và XA theo cỏch: Mỗi lớp tương đương c của X là hợp của một hoặc một vài lớp tương đương , ,

1, ...2

c c của XA, và thực chất của việc loại đi tất cả cỏc bộ để XA trở thành đỳng là việc loại đi một trong cỏc lớp tương đương c’i này. Số lượng nhỏ nhất cỏc bộ cần loại bỏ là kớch thước của lớp c trừ đi kớch thước của lớp c’i lớn nhất. Tớnh tổng cộng cho cỏc lớp tương đương trong X sẽ được tổng số cỏc bộ cần loại bỏ. Như vậy chỳng ta cú cụng thức tớnh lỗi g3 (XA) từ cỏc phõn hoạch x và xᴗA: ' ' 3( ) 1 c Xmax{ | || X {A} g XA    c c   và ' }/ | | cc r = e(XA) cho biết tỷ lệ số bộ cần loại.

Vớ dụ:

Bảng 2.3: Bảng quan hệ minh họa cho PTH xấp xỉ

TupleID A B E C D 1 1 a 2 $ Hoa 2 1 A 2 Hoa Nhài 3 2 A 0 $ Hướng Dương 4 2 A 0 $ Hoa 5 2 b 0 Hoa Huệ 6 3 b 1 $ Hoa Lan 7 3 C 1 Hoa 8 3 C 1 # Hoa Hồng

Để kiểm tra AB thỏa hoặc khụng, chỳng ta tỡm cỏc lớp tương đương: A {{1,2},{3,4,5},{6,7,8}}

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

B

Vỡ lớp tương đương {1, 2} trong A khụng mịn hơn bất kỳ lớp nào trong B, và tương tự như vậy đối với cỏc lớp khỏc của A. Do đú AB

khụng đỳng.

Tuy nhiờn trong vớ dụ trờn, AB cú thể đỳng với một sai số g3 nào đú nếu chỳng ta loại bỏ một vài bộ khỏi quan hệ đó cho. Đầu tiờn chỳng ta tỡm

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

A B

   . Lớp tương đương {1, 2} trong A bằng {1}{2} lấy từ A B , cú kớch thước lớn nhất của {1} và {2} là 1. Lớp tương

đương {3,4,5} trong A bằng {3,4}{5} lấy từ A B , cú kớch thước lớn nhất của {3, 4} và {5} là 2. Cuối cựng lớp tương đương {6,7,8} của A bằng {6}{7,8} lấy từ A B cú kớch thước lớn nhất của {6} và {7,8} là 2.

Từ đú g3AB1122/80.375. Điều này nghĩa là ớt nhất 3 bộ trong 8 bộ ở vớ dụ trờn cần loại bỏ để AB được thỏa món. Như vậy cú thể núi PTH: AB thỏa món xấp xỉ với tỉ lệ sai số  0.375.

Quỏ trỡnh phỏt hiện cỏc PTH xấp xỉ này được lặp lại cho tất cả thuộc tớnh và cho tất cả cỏc tổ hợp của chỳng. Lấy vớ dụ, cho một quan hệ với 5 thuộc tớnh (A, B, C, D, E) tập cỏc ứng viờn là {ỉ, A, B, C, D, E, AB, AC, AD, AE, BC, BD, BE, CD, CE, DE, ABC, ABD, ABE, ACD, ACE, ADE, BCD, BCE, BDE, CDE, ABCD, ABCE, ABDE, ACDE, BCDE, ABCDE} cho một tổng cộng 32 tổ hợp. Cỏc thuộc tớnh ứng viờn này của quan hệ được biểu diễn như một dàn được chỉ trong hỡnh 2.1.

Mỗi nỳt trong hỡnh 2.1. biểu diễn một tập thuộc tớnh ứng viờn. Một đường nối giữa hai nỳt bất kỳ như E và ED chỉ ra phụ thuộc xấp xỉ: ED\EE cần được kiểm tra.

Hỡnh 2.1. Dàn cho cỏc thuộc tớnh (A, B, C, D, E) 2.1.3. Thuật toỏn TANE cải tiến

Cỏch tiếp cận của TANE dựa trờn số cực tiểu cỏc bộ cần phải loại khỏi quan hệ r để XA trở thành một PTH đỳng trờn r [13].

Cụng thức tớnh lỗi e(XA)=min {s: s  r và XA đỳng trờn r\s} /r, với s,r là lực lượng của s và r. Một cỏch tự nhiờn, độ đo e cú thể hiểu là tỷ lệ cỏc bộ ngoại lệ hay lỗi ảnh hưởng lờn PTH.

Cho một ngưỡng  nào đú nằm trong đoạn kớn [0,1], khi đú XA được gọi là PTH xấp xỉ nếu và chỉ nếu e(XA)   .

Thuật toỏn TANE được cải tiến để tỡm tất cả cỏc PTH xấp xỉ dạng

XA cú độ đo lỗi e(XA)  , với X, AR (R là lược đồ quan hệ tương ứng với quan hệ r), cũn là ngưỡng lỗi cho trước.

2.1.4. Chiến lược tỡm kiếm

2.1.4.1. Chiến lược chung

Để tỡm tất cả cỏc PTH tối thiểu cú nghĩa, thuật toỏn được xõy dựng theo chiến lược tỡm kiếm trờn dàn dữ liệu theo từng mức, từ nhỏ tới lớn. Bắt đầu từ tập thuộc tớnh đơn và lặp lại cụng việc đối với tập thuộc tớnh lớn hơn theo từng mức trờn dàn chứa cỏc thuộc tớnh. Một mức L là một tập cỏc thuộc tớnh cú kớch thước , trong đú cỏc tập trong L rất cú khả năng tạo thành cỏc PTH.

Ban đầu mức L1= {{A} AR} (kớch thước 1: cú 1 thuộc tớnh), sau đú mức L2

sẽ được tớnh từ L1, và L3 được tớnh từ L2,… theo cỏc thụng tin thu nhận được trong quỏ trỡnh thực hiện [12,13].

Khi thuật toỏn xử lý tập X, nú kiểm tra tất cả cỏc PTH cú dạng X\{A}A, với AX. Điều này bảo đảm rằng chỉ cú cỏc PTH cú ý nghĩa được xem xột. Chiều tim kiếm từ nhỏ tới lớn của thuật toỏn bảo đảm rằng kết quả thu được chỉ gồm những PTH tối thiểu. Đồng thời nú cũng giỳp làm giảm khụng gian tỡm kiếm một cỏch hiệu quả.

Cũng như chiến lược tỡm kiếm từ nhỏ tới lớn, thỡ chiến lược tỡm kiếm theo mức cũng được ỏp dụng thành cụng trong rất nhiều cỏc ứng dụng khai phỏ dữ liệu. Cựng với việc làm giảm khụng gian tỡm kiếm hiệu quả, thuật toỏn tỡm kiếm theo mức cũn cú hệu quả làm giảm việc tớnh toỏn ở mỗi mức bằng cỏch sử dụng kết quả từ những mức trước.

2.1.4.2. Giảm bớt khụng gian tỡm kiếm

1- Thu nhỏ tập thuộc tớnh là ứng cử viờn vế phải Rhs (Rhs -Right_hand site) của PTH

TANE làm việc trờn dàn cho đến khi cỏc PTH tối thiểu đỳng đắn được tỡm thấy.

Để kiểm tra tớnh tối thiểu của một PTH cú dạng X\{A}A, chỳng ta cần kiểm tra xem Y\{A}A cú phải là PTH hay khụng, trong đú Y là tập con thực sự của X. Chỳng ta lưu thụng tin này vào trong tập C(Y)- tập cỏc ứng cử viờn vế phải của Y.

Tập C(X) với X là một tập thuộc tớnh, chỉ bao gồm cỏc thuộc tớnh A sao cho A khụng PTH vào bất kỳ một tập con thực sự nào của X.

Chi tiết hơn, tập cỏc thuộc tớnh ứng cử viờn Rhs của tập thuộc tớnh XR được tớnh như sau:

Để tỡm PTH tối thiểu, ta chỉ cần kiểm tra PTH cú dạng X\{A}A, trong đú AX và A C(X)\{B} với BX.

Vớ dụ: giả sử TANE đang xột tập X={A,B,C} và giả sử CA là một PTH. Do CA đỳng, nờn ta cú AC({A,C})= C(X)\{B}, do đú ta cú {B,C}A khụng tối thiểu.

Hạn chế khụng gian tỡm kiếm trong TANE dựa trờn yếu tố là nếu C(X)= thỡ C(Y)= với Y là tập bao hàm X (supersets Y of X).

Do đú khụng cú PTH nào ở dạng Y\{A}A cú thể là PTH tối thiểu, và khụng cần phải tớnh toỏn đối với tập Y. Việc tỡm kiếm rộng thực hiện việc này rất hiệu quả, như trờn hỡnh sau:

Hỡnh 2.2. Một tập đó được cắt tia chứa dàn cho {A,B,C,D}.

Do xúa B nờn chỉ cú cỏc thành viờn tụ đậm mới được tham gia trong thuật toỏn ở mức cao hơn

2- Thu nhỏ tập mịn hơn chứa tập cỏc thuộc tớnh là ứng cử viờn vế phải (Rhs+)

Ứng cử viờn vế phải Rhs đủ để bảo đảm cỏc PTH phỏt hiện được là tối thiểu. TANE cũn cú thể sử dụng tập mịn hơn cỏc ứng cử viờn Rhs+ là C+(X) nhằm giỳp thu gọn hơn nữa khụng gian tỡm kiếm PTH tối thiểu một cỏch hiệu quả.

C+(X)= {AR BX: X\{A,B}{B} khụng đỳng}

Chỳ ý rằng A và B cú thể bằng nhau. Bổ đề sau đõy sẽ chỉ ra cỏch sử dụng Rhs+ để kiểm tra tớnh tối thiểu của PTH giống như đó làm với Rhs.

Bổ đề 3:

Cho AX và X\{A}A là một PTH đỳng,

PTH X\{A}A là tối thiểu với BX ta cú AC+(X\{B})

Bổ đề 4:

Cho BX và X\{B}B là một PTH đỳng, Nếu XA đỳng thỡ X\{B}A đỳng.

Bổ đề này cho phộp chỳng ta loại thờm được những thuộc tớnh trong tập những ứng cử viờn Rhs : C+(X). Giả sử cú X\{B}B là một PTH, theo bổ đề ta cú những PTH cú X trong vế trỏi khụng phải là PTH tối thiểu, do chỳng ta cú thể loại B khỏi vế trỏi mà vẫn khụng làm thay đổi tớnh đỳng đắn của PTH. Do đú, cú thể loại khỏi C(X) những tập sau đõy một cỏch an toàn

= R\X nếu  BX: X\{B}B đỳng  nếu trỏi lại

Vớ dụ [13]:

Giả sử TANE đang kiểm tra tập thuộc tớnh X={A,B,C} và {C}B là một PTH đỳng. Do A = , nờn X\{A}A khụng phải là tối thiểu.

Hơn thế nữa, sỉa sử X cú một tập con thực sự Y mà Y\BB đỳng với một thuộc tớnh B nào đú (BY). Ta cũng cú thể loại khỏi C(X) tất cả cỏc thuộc tớnh A mà AX\Y. Tập cỏc thuộc tớnh cú thể loại đi được tớnh như sau:

= { AX :  BX\{A} sao cho X\{A,B} B đỳng} Vớ dụ:

Giả sử TANE đang kiểm tra tập thuộc tớnh X={A,B,C,D} và cú {C}B là một PTH đỳng. Do vậy, A = , nờn X\{A}A khụng phải là tối thiểu.

Bổ đề 5:

C+(X) = {AR: BX: X\{A,B}B khụng đỳng} = ((R\ )\ \

3-Hạn chế khụng gian tỡm kiếm theo khúa

Một tập thuộc tớnh là một siờu khúa nếu như khụng cú 2 bộ nào bằng nhau trờn tập thuộc tớnh đú, chẳng hạn như phõn hoạch B chỉ bao gồm cỏc lớp tương đương mà từng lớp này chỉ cú duy nhất 1 bộ. Tập X là một khúa

nếu như nú là một siờu khúa và khụng cú một tập con thực sự nào của nú là siờu khúa. Khi 1 khúa được tỡm ra trong quỏ trỡnh tỡm kiếm cỏc PTH, thỡ cú thể ỏp dụng cỏch để hạn chế khụng gian tỡm kiếm nữa.

Bổ đề 6 [13]:

Cho BX và X\{B}B là một PTH đỳng. Nếu X là một siờu khúa, thỡ ta cú X\{B} là một siờu khúa.

2.1.4.3. Tớnh toỏn với cỏc phõn hoạch

Để làm giảm thời gian và khụng gian chi việc tớnh toỏn trờn cỏc phõn hoạch người ta ỏp dụng thờm hai phương phỏp sau, thứ nhất là thay vỡ tớnh toỏn trờn cỏc phõn hoạch, ta tớnh trờn phõn hoạch rỳt gọn, thứ hai, là phương phỏp tớnh toỏn lỗi e một cỏch nhanh chúng.

Người ta đưa ra khỏi niệm siờu khúa xấp xỉ để cú thể thực hiện cỏc cụng việc trờn một cỏch dễ dàng hơn.

Ta định nghĩa e(X) là số bộ nhỏ nhất cần loại khỏi r để X trở hành một siờu khúa. Nếu e(X) là đủ nhỏ, thỡ ta núi X là một siờu khúa xấp xỉ. Lỗi e(X) cú thể dễ dàng tớnh được từ cỏc phõn hoạch theo cụng thức:

1-Phương phỏp Phõn hoạch rỳt gọn [13]

Một phõn hoạch rỳt gọn (Stripped partitions) là một phõn hoạch trong đú đó loại bỏ cỏc lớp tương đương cú kớch thước bằng 1. Một phõn hoạch rỳt gọn của một phõn hoạch  được kớ hiệu là *. Chẳng hạn ta cú, *D= {{1,4,7}}. Việc loại bỏ cỏc lớp tương đương cú kớch thước bằng 1 là rất dễ hiểu, bởi vỡ lớp tương đương cú kớch thước bằng 1 khụng làm ảnh hưởng đến tớnh đỳng đắn của bất kỳ một PTH nào.

Một phõn hoạch rỳt gọn cũng chứa đầy đủ thụng tin như một phõn hoạch bỡnh thường. Vớ dụ giỏ trị e(X) dễ dàng tỡm được từ phõn hoạch rỳt gọn theo cụng thức:

e(X)= (*X-*X) / r (1)

Trong đú, *Xlà tổng kớch thước của cỏc lớp tương đương trong *X. Đồng thời, mối quan hệ làm mịn giữa cỏc phõn hoạch khụng vị thay đổi và bổ đề 1 vẫn đỳng đối với phõn hoạch rỳt gọn.

Bổ đề 2 khụng đỳng đối với phõn hoạch rỳt gọn, bởi vỡ *X khụng thể bằng *XA, hơn thế nữa, *  *XA. Tuy nhiờn, do e(X)= e(Y)  X=Y, ta cú bổ đề sau thay thế cho bổ đề 2:

Bổ đề 7:

Một PTH XA đỳng e(X) = e(X{A})

2-Phương phỏp tớnh Lỗi e

Ta cú cụng thức sau đõy về ràng buuộc của e(XA), đú là: e(X) - e(X{A}) e(XA)  e(X) (2)

nếu e(X) - e(X{A}) >  hoặc e(X) <  thỡ thuật toỏn khụng cần phải tớnh e(XA) để kiểm tra PTH XA thỏa món hay khụng.

3-Tớnh cỏc phõn hoạch

Trong mỗi bước lặp, TANE khụng tớnh cỏc phõn hoạch từ đầu bằng cỏch tớnh trực tiếp từ dữ liệu đầu vào, mà dựa trờn cỏc phõn hoạch đó tớnh

được từ bước lặp trước bằng sản phẩm của hai phõn hoạch ’ và ’’ đó được tớnh trước đõy. Sản phẩm của 2 phõn hoạch ’ và ’’ , được lớ hiệu là ’. ’’, chớnh là phõn hoạch  mịn nhất, mịn hơn cả hai phõn hoạch ’ và ’’. Ta cú bổ đề sau:

Bổ đề 8

Với X,Y R ta cú ’. ’’ = XY. (X. Y = XY)

Đầu tiờn, cỏc phõn hoạch A sẽ được tớnh trực tiếp từ CSDL, với mọi thuộc tớnh AR. Sau đú, cỏc phõn hoạch X với kớch thước của X là X2 sẽ được tớnh bằng một sản phẩm của cỏc phõn hoạch đối với 2 tập con của X mà cú kớch thước là X-1.

Sau khi cú phõn hoạch X, lỗi e(X) sẽ được tớnh, để kiểm tra tớnh thỏa món theo bổ đề 7. Phõn hoạch đầy đủ chỉ cần thiết cho việc tớnh cỏc phõn hoạch cho mức tiếp theo.

Kể từ lần lặp tiếp theo, thuật toỏn chỉ thực hiện trờn định danh của cỏc bộ, do đú, thu được cỏc lợi ớch như, dễ thực hiện, vỡ khụng phải quan tõm đến cỏc loại dữ liệu khỏc nhau, khi tớnh toỏn cho PTH xấp xỉ, cỏc bộ bị thiếu giỏ trị vẫn cú thể tớnh bỡnh thường.

2.1.4.4. Thủ tục chớnh của thuật toỏn TANE cải tiến

Thuật toỏn TANE cải tiến để xỏc định cỏc PTH xấp xỉ [13]:

Input: Quan hệ r trờn lược đồ R

Output: Cỏc PTH tối thiểu, khụng tầm thường đỳng trờn r

C(X) {A X | X \ {A}A khụng đỳng}

= R\ {AX: X\{A}A đỳng}= R\ (ký hiệu phủ định) C+(X)= {AR: BX: X\{A,B}B khụng đỳng}

1. L :0    2. + 

3. L :1  A A R  /xột 1 thuộc tớnh A của R 4. :=1 5. while L 6. COMPUTE_DEPENDENCIES(L) 7. PRUNE (L) 8. L+1 := GENERATE_NEXT_LEVEL(L) 9. :=+1

ở đõy, việc tớnh GENERATE_NEXT_LEVEL(L) là: L +1={X: X=+1, Y: YX, Y= chỳng ta cú YL} Thủ tục tớnh cỏc PTH:

Chương trỡnh con này sẽ tỡm kiếm tất cả cỏc PTH tối thiểu mà cú vế trỏi nằm trong L-1. Procedure COMPUTE_DEPENDENCIES(L) 1 for each XL do 2 C (X) :+  AXC ( X \ {A}) 3 for each XL do 4 for each AX C (X) do 5 if (X\ { }e AA) then 6 output X \ { }A A

Một phần của tài liệu (LUẬN văn THẠC sĩ) phương pháp xây dựng cây quyết định dựa trên tập phụ thuộc hàm xấp xỉ (Trang 31)

Tải bản đầy đủ (PDF)

(97 trang)