1. Trang chủ >
  2. Luận Văn - Báo Cáo >
  3. Công nghệ thông tin >

3 KHAI PHÁ TẬP MỤC PHỔ BIẾN KHÔNG SINH CÁC ỨNG CỬ :

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (38.55 MB, 109 trang )


50



lình liuống mà sô' các mẫu nhiều, mẩu dài hoặc độ hổ trợ cực tiểu thấp, các thuật

loáí» như Apriorí gặp phủi 2 chi phí lớn:



H lượng khổng Ịổ các tập ứng cử. Ví dụ: nếu có I04 tập Ị- mục



thỉ thuật toán Apriori sẽ cẩn sinh ra hơn 107 các ứng cử 2-mục và Ìhực hiện



+ Chi phí cho



phố biến



kiếm tra sự xuất hiện của chúng. Hơn nữa, để khám phá được một mẫu phổ biến

kích thước



( độ dài) lồ ỉ,



th u ậ t



tcmn phải kiểm tra



(21‘2)



các mẫu phổ biến tíểm



nâng. Ví dụ nếu 1=100, chẳng hạn !à {a|t a2, ... ,altK nó phải sinh ra tổng số 2100 ss

)},

lO’1 các ứng cử ( đây chính là sổ tạp con của tập có 100 phần tử)

1



+ Đòi hỏi lặp lại nhiều lần tluyội CSDL để kiểm tra lập rất lớn các ứng cử. S ố

lần (ỉttyệĩ C SD L của thuật toán Apriori bằng độ dài của mầu phổ biến dài nhất tìm

(lược, Trong trường lìựp mẫu phổ biến dài và C5DL lớn, có nhiều bản ghi, điổu này



ià không thể thực hiện được. Thuật toán Apriori chỉ thích hợp cho các CSDL thưa

(sparse), với các CSDL dày (dense) thì thuật toán thực hiện kém hiệu quả hơn,

Phẩn náy trình bày một thuật toán xuất hiện gần đây, nó tim các ỉâp mục phổ

biên rất hiệu quả, sử dụng một kỹ thuật khác và không cần sinh ra các ứng cử.

Mộ? lliuẠl



to án



mới có



lê n là



FP-growlh được giứi thiệu bởi Jiiiwei Han, Jian



Pei và Yiwen Yin 110J năm 2000. Thuật toán này Ihực hiện hiệu quả hơn thuậl loán

Apriori. Sự hiệu quả cùa khai phá nhận được vớì 3 kĩ thuật chính :

Thứ nhất nó mở rộng



của



cấu



trú c



cây prefix (prefix tree ),



được



gọi lù



cây



mẫu phổ biến (frequeui pattern tree hoặc gọi tắt là FP-tree ) dùng để nén dữ liệu

thích hợp. Chi' có

dại dế



các



các



mục độ dài 1 ( 1-item) ở trong



nút xuất hiện thường



xuyôn



cíìy



và c á c nút của



hơn có thế dễ dàng



c h ia



cAy



được sắp



sẻ với các mil xuất



hiộu ít hơn.. CSDL lớn dược nén chạt lới cấu trúc đữ liệu nhỏ hơn này (FP-lree) ,

tránh



dược



chi phí lặp lại duyệt qua CSDL.



Thứ hai, phương pháp khai phá phát triển (growth) lừng đoạn dựa trên FIMree

-gọi là phương pháp FP-growth đã được thực hiện. Bắt dầu từ mẫu phổ biến độ đãi 1,

FPgrowih xem xét chí cư sở mẩu phụ thuộc của nó (conditional pattern base) như là

CSDL con (“sub-daiabasc”) bao gồm lạp các mục phổ biến cùng xuất hiện vói mầu

hậu tố (suffix pattern), xây dựng conditional FIMree tương ứng của nó và Iliực hiện

khai phá đệ qui trên cây này. Mẫu phát triển iằ nhận đưực qua việc nối mầu hậu lô’



51



úuíttx pullcrn) với một tloạii mới dược sinh ta iừ conditional FP-trec. Khai phá dựa

Iren FP-1IVC thực hiện ihco cách phái iriển (growth) các đoạn mẫu dể tránh chi phí

cho việc sinh ra số lớn các tập ứng cử.

Thứ ba, kỹ Ihuộl tìm kiếm dược dùng ở đây là dựa vào sự phân chia, chiu rà

chề'ngự (divide-cwil - conquer method) để phân rã nhiệm vụ khai phá thành tập các



nliiộm vụ nhỏ hơn với giới hạn các mẫu trong các CSĐL nhằm thu gọn không gian

ùm kiếm.

Phương pháp FP- growth đã chứng tỏ được tính hiệu quả cua I1Ó và có thể

thực hiện khai phá cho cả các mẫu ngắn và dài, nhanh hơn thuật toán A priori, ỉnôn

chỉ cần duyệt C SD Í, 2 lần .



Thuật toán FP- growth thực hiện như sau:

Đồu tiôn, thuậl loán đuyôt CSDL lẩti thứ nhất để tính độ hỗ trợ cùa từng mục

( tiếm số iần xuất hiện của từng mục).

Tiếp đến, những mục không đủ độ hỗ trợ bị loại. Các mục cồn !ại được sắp

ỉheo íhứ tự giẫm dần của độ hỗ trợ ( cũng tức là giảm dần theo số lẩn xuất hiện trong

CSDL), ta nhận được danh sách L các mục đã sắp.

Duyệt CSDL lẩn thứ hai, với mỗi lác vụ t, loại các mục không dủ độ hỗ trợ,

các mục còn lại theo Ihứ tự giống như xuấl hiện hong L ( tức là thứ tự giẳm dần theo

độ hỗ trợ) được cất vào cảy FP-tree .

Phần liếp theo thuật toán khai phá lìm các mẫu phổ biến trên cây FP-tree dã

xây dựng mà không cần duyệt lại CSDL nữa.

Dể hiểu phương pháp này làm việc thế nào, ta xét khai phổ CSDL tác vụ D

sa» với độ hỗ trợ cực tiểu minsupp=3/5.

TÍD



Các mục



TI 00



a, c, d, f, g, i, m, p



f , c, a, m, p



T200



a, b, c, í, ỉ, m, 0



f, c , a, b, m



T300



b, f, h, j, 0



f,b



T400



b, c, k, p, s



c, b, p



T500



a, c, e, f, 1, m, 11, p



f, c, a, ni, p



Các mục phổ biến dã sẳp



Bảng 2.8 : C SD L các lác vụ D minh hoa cho thuật loủn pp- growth .



52



Bước Ị : Duyệt CSDL, tiếm số lần xuấi hiện của từng mục, loại các mục



không đủ độ hồ irợ.

Bước 2: Sấp các mục đủ độ hỗ trợ iheo thứ tự giảm dần của độ hỗ írợ, ta nhận



dược danh sách L sau:

M ục Sô lần xuất hiện

f



4



c



3



b



3



m



3



p



3



Bước 3: Duyệt lại CSDL lần thứ hai và xây dựng FP-tree ,

Cày F p -tree dược xá y dựtig nhu'satt:



Khối tạo cây T, gốc của cây có nhãn null.

Khi duyệt CSĐL lần thứ hai, với mỗi tác vụ, loại các mục không phổ biến,

các mục còn lại sắp theo thứ tự giảm dần của số lần xuất hiện, dãy các mục phổ biến

đó dược thêm vào cây cùng với thay đổi số đếm của các mục ỉrên cây cho phù hợp.

Quú trình xây dựng cây như hình 3.3 sau:



Mình 2.3 : Cây F p -tree dược xây dựng dần khi thêm các tác vụ TiOO, T200, T30Ü.



53



Cây FP-liee sau khí xây dựng xong như sau:



FP-tree



Hình 2.4: Cây F P 'lrce của C.SDL D trong bảng 3.8

Cấu míc cây FP-tree như sau:

o Gốc của cay nhãn null, các dường đi trên cây biểu diỗn item prefixs

o Các liên kểt trên cây: ỉiên kếr các mục xuất hiện có tên giông nhau,

o Mỏi nút, (trừ nút gốc) bao gổm:

+ Tôn mục ( item identifier)

+ Count: số đếm

+ Node link: Liên kết đến nút ùếp theo trên cây có cùng tên.

o Bảng các đầu mục phổ biến ( header table): bắt đầu cho các liên kết.

Thủ tục thêm một dãy các mục ( đã sắp giảm dẫn theo độ hỗ trợ) cùa một tác

vụ vào cây thực hiện đệ qui như sau :



P rocedure insert tree( string [p Ị P J , tree có gốc T)

(ở dó p là mục thứ nhất của dãy các mục và p tá phần còn lạì.



54



Trong la.il duyệt ìhử hai, với mỗi tác vụ t , gọí thủ tục insertJre e ( i' , T ) , ở dồ

í’ kì nội dung của lác vụ t sau khi dã bỏ các mục không phổ biến và sắp theo thứ tự

giảm dán của độ hô trợ, T íà gốc của cây.)

P rocedure insert_tree( string [p ị p ] , tree có gốc T)

í. Nếu T có nút con N mà N.itemname= p thì N.count++

2. ngược lại



3.



Tạo một nút mới N;



4.



N.ítemname := p; N.count:= 1;



5.



Thay đổi nút liên kết cho p bao gồm N;



6. Nếu p khác lỗng

gọi thủ tục insertjree ( p, N );

Tìm cúc láp mtic phổ biến :



Sau khi xây dựng xong FP-tree cho CSD L, việc khai phá tìm các mẫu phổ

biến chỉ thực hiện trên FP-tree mà không cần duyệt CSDL nữa.

Thuật toán FP- growth như sau:

Bắt đầu từ dưới lên của bảng header và cốy, vớimỗi mục A: dùng nút liên kết

duỵệi qua tấl cả các nút trên cây mà



xuấthiện A, với mỗi nút N mà



N.iỉeniimme = A, xác định các tập phổ biến có xuất hiện A, thực hiện bằng

cách chí cần tìm các đường đi từ gốc lới N. Ví dụ : đầu tiên xét mục p, sau dó

đến m , ... như sau:

o



Mục p:



+ Có 2



đường:



— / : 4, c : 4, a : 3, m : 2,



p :2



— c : 1 , b : 1, p : 1



(Tức là: fcam xuất hiện hai lần với p và cb chỉ một lần. Số lẩn xuất

hiện của p là 2+1=3.)



+ Từ đó suy ra cơ sở mẫu phụ thuộc ( conditional pattern base) cùa p

là:



55



— J ; 2, c: 2, a: 2, m : 2

- 0 :1 , b : 1

Cốc tập phổ biến chứa p là được xác định bởi cơ sở mẫu phụ thuộc này.

+ Xây dựng đệ qui cây FP-tree

và tìm các tạp phổ



cho cơ sở phụ thuộc ( condition base)



biến ở trên cây đó , sau dó thêm p vào lất cả chúng,



ở đây, cơ sở phụ thuộc ỉà

- / : 2, c : 2, a : 2, m : 2



- c : 1, ỉ*: 1

nong dó chi có c là phó biến ( xuấi hiện 3 ỉần) do đó mẫu phổ biến tìm được là cp,

ran xuất 3/5.

o



Mục m:

+CÓ 2 dường:



- / : 4, c : 3, a : 3, m : 2

- / : 4, c : 3, ũ : 3, b : 1, m : 1

( bây giờ ta bỏ qua p vì các tập phổ biến chứa nó đă tìm rồi)

+ Cơ sở mẫu phụ thuộc của m là:

- / : 2, c : 2, a : 2



- / : 1, c : 1, a : 1, b : 1

+ FlMree phụ thuộc của m là chỉ có một đường:



/ : 3, c : 3, a : 3

+ Tìm theo cách đê qui các mẫu phổ biến trên FP-tree phụ thuộc, đầu

liên cho a, suu dổ cho c và f. Cây FP-tree phụ thuộc cùa m như hình 3.5 sau:



56



(Í-.L c;2, ii:2)

(f:l, c:l, ¡j:1, b : |}

Oonđiỉỉomìl paliem base o P 'm ”



Header table

item

I



head o f node-1 inks

_____



c

a



Conditional FP-lree o f "m”

iilobtfî F r-tree

Hình 2.5 : F p-tree phụ thuộc của m

Corulilìímal pattern baas of "am": (t‘ c :l )

;3,



Conditional pattern base oPcwn": (F'J)

Conditional F P-tree of "cam"



Cotulilional FP-tretf o f ‘ìim*’



[ f:J



c:i

Conditional pattern base of 'em":


Cundilicmiil FP-lrvrc of "cm1

1



Hình 2.6 : Các F p-tree phụ thuộc Cita am và cam



57



Thiíổt toàn F i *- growth :



Khai phá FP-ỉree được ihực hiện bởi gọi lần đầu FP- growth {FP-tree , n u ll),

Ihực hiện như sau:

Procedure FP-growtli ( Tree , a)

1. Nếu cầy Tree chứa một đường đơn p thì

2.



với tất cả các tổ hợp (kí hiệu p) của cấc nút trong đường đi p



3.



sinh ra mẫu p v a với support^ độ hỗ trợ nhỏ nhất cùa các nút trong ịV

,



4. Ngược ỉại: với mổì mục a, trong header table của Tree {

5.



sinh ra p :=



o a với support= âị.count;



6.



Xây dựng cơ sở mẳu phụ liuiộc cua p và sau đó FP-tree phụ thuộc của p là



TreCịi;

7. Nếu Treep T 0 ỉhì gọi FP- growth (Treep , P) }



í)ảnh giá thuật toán FP - growth : Thuật toán này như đã phân tích ở trên, nó thực



hiện hiệu quả hơn thuật toán A prìorí, thực hiện tốt cho mẫu phổ biến ngắn cũng như

dài. Ta có một sô' nhận xét về thuật toán như sau:

o



Độ phức tạp về thời gian:

+ Chỉ duyệt CSDL 2 lần.

+ Thời gian xây dựng cây là 0(n), ở đó II là số các tác vụ cùa CSDLTức là tuyến, tính với số các tác vụ.



o



Độ phức tạp về khổng gian:

+ 0(n), n là số các tác vụ của CSDL.

+ Độ cao của cây dược giới hạn bởi kích thước cùa tác vụ lớn nhốt,



o



Thuật toán không bao giờ bị ngắt bồi một mẫu dài nào của mọi tác vụ.

Cây FP'lree duy trì đầy đủ thông tin cho khai phá các mẫu phổ biên.

Đồng llìời thuật toán cũng rúl gọn hợp lý các thông tin không cần thiết

bởí cách là các mục không phổ biến đã bị loại bố ngay từ đầu.



o



Dùng kỹ thuật sắp theo ỉrậl tự giảm dần của tần số xtiấí hiện, điều dó

dẫn đến các mục phổ biến hơn được chia xè nhiều hơ«. Cây FP-lrec

không bao giờ lớn hơn CSDL gốc.



58



Theo I'10], ihử nghiệm so sánh 2 thuật toán : tluiật toán Apriori và thuật toán

i p- growth trẽn cùng mội CSDL lớn vói các dộ hỗ trợ cực tiểu khác nhau, kết quà

thủ nghiệm cho thấy thuậi toán FP- growth thực hiện tốt hơn hãn «huậl toán Apriori.

11 Ì IÌỈ 1 sau bieu diễn thời gian ihực hiện của 2 thuâi loán trên cùng một CSDL lớn:



Hình 2.7: Sờ sánh thuật toán Apriori và FP- growth



59



2.4, CO SỞ LÝ THUYẾT CỦA LUẬT KẾ'! HỢI*

Các nghiên cứu về luật kết họp cho đến nay chủ yếu quan tâm đến việc xúy

dựng các Ihuật toán khai phá hiệu quả» còn ít quan tâm đến cơ sở lý íhuyết cỏa luẠl

kết hợp. Tuy nhiên các nghiên cứu về cơ sở ỉý thuyết của luật kết hợp lại có vai trò

quan Irọng trong việc đánh giá độ phức tạp về mặt thời gian của khai phá luật kếl

hợp, giúp hiểu rõ bản chất toán học của Juât kết hợp và phát triển một khung làm

việc chung cho các vấn đề khai phá luật kết hợp. Nghiên cứu về cơ sở lo án học của

luậi kết họp cũng góp phổn nghiên cứu cải tiến nâng cao hiệu quả của thuật toán

khai phá luật kết hợp.

Nội dung phần này sẽ đề cập đến các vấn dề đánh giá độ phức tạp của khai

phá luật kết hợp .

Việc đánh giá độ phức tạp của các thuật toán khai phá ỉuât kết hợp là mót bài

toán khó. Tuy nhiên người ta đã chỉ ra rằng việc tìm tất cả các tập mục phổ biến

tương ứng l-l với bài toán clique hai phía [18] , mà việc đánh giá độ phức tạp của

hài toán clique hai phía đã có kết qủa lừ lảu. Phần này trình bày kết quả đánh giá độ

phức tạp cửa ihuật toán klìíũ phá luật kết hợp ciựa trên mối quan hệ giữa việc tìm các

tập mục phổ biến và bài toán cỉique hai phía (bipartie cliques).

Định nghĩa I : Một đồ ?hị hai phía !à bộ ba G = (Ư, V, E) í rong đó u và V là



hai lập đỉnh phân biệt ( U n V = 0 ) , tập cạnh E = i(u, v)/ u 6 u và



V



€ V}.



Đỏ Ỉỉiì con hai phía đầy đủ dược gọi là clique hai phía.



Định nghĩa 2: Một đồ thị lai (hypergraph) trên I là họ H = {Ej, E2,



các cạnh hay các tập COR của I, với Eị * 0 , và



, EJ



Ej= I. Tập T e l là transversal



của H nếu nó giao với tất cả các cạnh, T n E; * 0 , VEị.

Ví dụ: hình 2.8.a sau là CSDL bán sách và hình 2.8.b là các tập mục phổ

biến, luật kết hợp:



60



FR U TÍTEM (m

ÉQ EN

SEĨS ỉn_8up 5 50%

)



ITEMS

J a n s Auaton

A gatha Christi A

Sir Arthur Conan Doyle

Mark Twain

F, G. W odshouss

DATABASE

T ranscation



Items



1



ACTW



2



c Dw



3



ACTW



4



AC D w



5



A C DT w



6



CDT



Hình 2.8: a) C SD L bán sách



A

c

p

T

w



Support



Itemsets



100% {«}



c



83% (5)



w, cw



A, D,T, AC, AW

CD, CT, ACW

AT, ow, TW, ACT, A7W

m (â )

CDW. CTW, ACÎW



67% (4)



M al Fraquwtilsmsôts; CO . ACfW

axim

IV

Association Rulaa wîih Confidenç* “ 100%

A “* c (4/4)

A —W

C

<4/4) T —c (3/3)

W

A ”**w(4/4)

AJ-+C (3/3)

AT**CW(3Q)

A -* cw (4/4) A — W



T

<3/3) m-»AC m

A W -c (4/4) A T ~**w(3ß)

D -*‘C(4M

)

C

T -*“0(4/4}

D "'*' c (3/3) AĩW-C(3ữ)

W

W-C(5fi)

T

W A(3/3) cíw- aímí

Association Riổ*a with Confidants >=

Vf-~A(4IS)

Ỷ/ A (4/6)

C

c —w m

b) Các luật kết hợp với độ ĩin cậy conf-80%



CSDL cho việc khai phá luật kết hợp được xem như một đổ thị hai phía rất

lớn, với u là tập của các Ihuộc tính, V là tập các định danh (TIDset), và mồi cặp

{item, lid) là một cạnh. Việc lìm lất cả các tập mục phổ biến tương ứng với tìm tất cà

càc dique hai phía có ràng buộc, I X T, trong đổ I £ u , T C V và Ị TI ầ. mìnsup.

Như vậy bài toán tìm tất cà các tập mục phổ biến tưcmg đương với bài toán tìm các

clique hai phía trong đồ thị ỉai với ràng buộc ITI > = minsup. Do đó việc đánh gi ú

độ phức tạp cùa các thuật loán khai phá luật kết hợp được quy về việc đánh giá độ

phức tạp của bài toán lìm các clique hai phía trong đồ thị lai. Việc đánh giá độ phức

tạp thuật toán của bài toán clique đã được giải quyết từ lâu. Hình 2.9 biểu diễn dồ

thị hôi phía của CSDL và ciique hai phía cực đại ACTW X 135 (tạp mục phổ biến

cực dại ACTW).



Xem Thêm
Tải bản đầy đủ (.pdf) (109 trang)

×