Luận văn Nghiên cứu các luật kết hợp song song trong khai phá dữ liệu

ĐẠI HỌC QUỐC GIA HÀ NỘI  
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ  
GIANG THTHU HUYN  
NGHIÊN CỨU CÁC LUẬT KẾT HỢP SONG SONG  
TRONG KHAI PHÁ DỮ LIỆU  
Ngành: Công nghệ thông tin  
Chuyên ngành: Hệ thống thông tin  
số: 60 48 05  
LUẬN VĂN THẠC SĨ  
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS. TS Đoàn Văn Ban  
Hà Nội – 2010  
LI CẢM ƠN  
Để có được kết quả như ngày hôm nay, tôi luôn ghi nhớ công ơn của các thy  
cô, bạn bè, đồng nghiệp và gia đình, những người đã dy bo và ng htôi trong sut  
quá trình hc tp.  
Trưc hết, tôi mun gi li cảm ơn đến các thầy cô giáo trường Đại hc Công  
Nghệ, Đại hc Quc Gia Hà Nội đã quan tâm tchc chỉ đạo và trc tiếp ging dy  
khoá cao hc của chúng tôi. Đặc bit, tôi xin gi li cảm ơn sâu sắc đến thy giáo  
hướng dẫn PGS.TS Đoàn Văn Ban, người đã tn tình chbo và góp ý vmt chuyên  
môn cho tôi trong sut quá trình làm luận văn. Nếu không có sự giúp đỡ ca thy thì  
tôi khó có thể hoàn thành được luận văn này.  
Cũng qua đây, tôi xin gửi li cảm ơn đến ban lãnh đạo Khoa Hthng thông  
tin Kinh tế thuc Hc viện Ngân hàng, nơi tôi đang công tác, đã to mọi điều kin  
thun li cho tôi trong thi gian hoàn thành các môn hc cũng như trong suốt quá  
trình làm luận văn tốt nghip.  
Cui cùng, tôi xin cảm ơn bố m, chng và các bạn bè, đồng nghiệp đã luôn  
ng hộ, động viên để tôi yên tâm nghiên cu và hoàn thành luận văn.  
Trong sut quá trình làm luận văn, bản thân tôi đã cgng tp trung tìm hiu,  
nghiên cu và tham kho thêm nhiu tài liu liên quan. Tuy nhiên, do bn thân mi bt  
đầu trên con đường nghiên cu khoa hc, chc chn bn luận văn vẫn còn nhiu thiếu  
sót. Tôi rất mong được nhn schbo ca các Thy Cô giáo và các góp ý ca bn bè,  
đồng nghiệp để luận văn được hoàn thiện hơn.  
Nội, tháng 04 năm 2010  
Giang ThThu Huyn  
LỜI CAM ĐOAN  
Tôi xin cam đoan đề tài “Nghiên cu các lut kết hp song song trong khai  
phá dliu” là kết quca tbn thân tôi tìm hiu, nghiên cu. Các tài liu tham  
khảo được trích dẫn và chú thích đầy đủ. Tôi xin chu trách nhim vluận văn của  
mình.  
MC LC  
MỞ ĐẦU.....................................................................................................................1  
CHƯƠNG 1 TỔNG QUAN VKHAI PHÁ DLIU.............................................3  
1. 1. Khai phá dliu...............................................................................................3  
1. 1. 1. Khái nim Khai phá dliu ......................................................................3  
1. 1. 2. Kiến trúc ca mt hthng khai phá dliu .............................................5  
1. 1. 3. Mt skthut khai phá dliu ...............................................................6  
1. 1. 4. La chọn phương pháp khai phá dữ liu....................................................8  
1. 2. ng dng ca khai phá dliu.........................................................................9  
1. 3. Mt số khó khăn trong khai phá dữ liu..........................................................10  
1. 4. Kết luận chương 1 ..........................................................................................11  
CHƯƠNG 2 KHAI PHÁ CÁC LUẬT KT HP SONG SONG.............................12  
2. 1. Lut kết hp trong khai phá dliu.................................................................12  
2. 1. 1. Mt số hưng tiếp cn trong khai phá lut kết hp..................................12  
2. 1. 2. Các tính cht ca lut kết hp .................................................................13  
2. 1. 3. Bài toán khai phá lut kết hp.................................................................17  
2. 1. 4. Mt sthut toán khai phá lut kết hp...................................................17  
2. 2. Các thut toán song song phát hin lut kết hp .............................................26  
2. 2. 1. Thut toán song song ..............................................................................27  
2. 2. 2. Khai phá các lut kết hp song song .......................................................30  
2. 3. Kết luận chương 2 ..........................................................................................49  
CHƯƠNG 3 CÀI ĐẶT THUT TOÁN KHAI PHÁ CÁC LUT KT HP SONG  
SONG TRONG KHAI PHÁ DLIU......................................................................50  
3. 1. Cài đặt thut toán khai phá các lut kết hp song song ...................................50  
3. 1. 1. Môi trường cài đặt chương trình thnghim...........................................50  
3. 1. 2. Mô tdliu ca bài toán.......................................................................51  
3. 1. 3. Giao diện chương trình ...........................................................................52  
3. 2. Đánh giá kết qu.............................................................................................58  
3. 2. 1. Phương pháp đánh giá các chương trình song song .................................58  
3. 2. 2. Kết quả cài đặt chương trình thnghim.................................................59  
KT LUN...............................................................................................................60  
TÀI LIU THAM KHO..........................................................................................62  
PHLC..................................................................................................................64  
DANH MC CÁC KÝ HIU, CÁC CHVIT TT  
Tên viết tt  
Ck  
Din gii  
Tp các k-itemset ng viên (Candidate sets)  
Độ tin cy (Confidence)  
Conf  
D
Cơ sở dliu giao dch  
Di  
Phn thi của cơ sdliu D  
Mc  
Item  
Itemset  
k-itemset  
Lk  
Tp mc  
Tp mc gm k mc  
Tp các k-itemset phbiến  
MPI  
Truyền thông điệp (Message Passing Interface)  
Ngưng tin cy ti thiu (minimum confidence)  
Ngưng htrti thiu (minimum support)  
Số đếm htr(Support count)  
Độ htr(Support)  
minconf  
minsup  
SC  
Sup  
T
Giao dch (Transaction)  
TID  
Định danh ca giao dch (Unique Transaction Identifer)  
Danh sách các định danh ca giao dch  
Lut kết hp (Vi X là tiền đ, Y là hqu)  
Tid-List  
X Y  
DANH MC CÁC BNG  
Bng  
Trang  
Bng 2. 1. Mt ský hiu dùng trong thut toán Apriori .............................18  
Bng 2. 2. Ký hiu dùng trong các thut toán song song ..............................31  
DANH MC CÁC HÌNH VẼ  
Hình  
Trang  
Hình 1. 1. Quá trình khai phá dliu ............................................................................ 4  
Hình 1. 2. Kiến trúc ca mt hthng khai phá dliu ................................................ 6  
Hình 1. 3. Mô tlut kết hp......................................................................................... 8  
Hình 2. 1. Tp cha tp mc không phbiến là không phbiến ................................. 15  
Hình 2. 2. Minh hothut toán Apriori tìm tp mc phbiến ..................................... 22  
Hình 2. 3. Sinh lut ttp mc phbiến ..................................................................... 25  
Hình 2. 4. Tính toán tun t........................................................................................ 27  
Hình 2. 5. Tính toán song song.................................................................................... 27  
Hình 2. 6. Kiến trúc bnhchia s............................................................................. 29  
Hình 2. 7. Kiến trúc bnhphân tán........................................................................... 29  
Hình 2. 8. Kiến trúc bnhlai.................................................................................... 30  
Hình 2. 9. Gii thut Count Distribution...................................................................... 32  
Hình 2. 10. Cơ sở dliu D và các tp mc phbiến.................................................. 33  
Hình 2. 11. Tìm tp mc phbiến theo thut toán song song Count Distribution ........ 33  
Hình 2. 12. Tìm tp mc phbiến theo thut toán song song Data Distribution........... 36  
Hình 2. 13. Tchc dliu theo chiu ngang và theo chiu dc ................................. 37  
Hình 2. 14. Chuyển đi dliu ................................................................................... 40  
Hình 2. 15. Thut toán song song Eclat....................................................................... 41  
Hình 2. 16. Khai phá tp mc phbiến sdng thut toán song song Eclat ................ 42  
Hình 2. 17. Cu trúc FP-tree cc bộ đưc xây dng tcác phân hoạch cơ sở dliu .. 46  
Hình 2. 18. Khai phá tp mc phbiến sdng thut toán song song FP-Growth....... 46  
Hình 3. 1. Giao din nhp dliu đầu vào................................................................... 56  
Hình 3. 2. Giao din thc hin theo thut toán Apriori ................................................ 56  
Hình 3. 3. Giao din thc hin theo thut toán song song Count Distribution.............. 57  
Hình 3. 4. Giao din thc hin theo thut toán song song Eclat ................................... 57  
1
MỞ ĐU  
1. Đt vấn đề  
Ngày nay, con người đang sở hu kho dliệu phong phú, đa dạng và khng l.  
Đặc bit sphát trin ca công nghthông tin và vic ng dng công nghthông tin  
trong nhiu lĩnh vực đã làm cho kho dliu ấy tăng lên nhanh chóng. Sự bùng nnày  
đã dn ti mt yêu cu cp thiết là cn có nhng kthut và công cmới để tự động  
chuyển đổi lượng dliu khng lkia thành các tri thc có ích. Mt khác, trong môi  
trường cnh tranh thì người ta ngày càng cn có thông tin vi tốc độ nhanh để giúp cho  
vic ra quyết định và ngày càng có nhiu câu hi mang tính chất định tính cn phi trả  
li da trên khối lượng dliu khng lồ đã có. Tiến hành các công việc như vậy chính  
là quá trình phát hin tri thức trong cơ sở dliệu, trong đó kỹ thut khai phá dliu  
cho phép phát hin tri thc tim n y. Từ đó, các kỹ thut khai phá dliệu đã trở  
thành mt lĩnh vực thi sca nn Công nghthông tin thế gii hin nay nói chung và  
Vit Nam nói riêng. Rt nhiu tchc và công ty ln trên thế giới đã áp dng kthut  
khai phá dliu vào các hoạt động sn xut kinh doanh ca mình và thu được nhng  
li ích to ln.  
Các kthut phát hin tri thc và khai phá dliệu được thc hin qua nhiu  
giai đoạn và sdng nhiu kthut: phân lp (classification), phân cm (clustering),  
phân tích sự tương tự (similarity analysis), tng hp (summarization), lut kết hp  
(association rules), … Mt trong nhng nội dung cơ bản và phbiến trong khai phá dữ  
liu là phát hin các lut kết hợp. Phương pháp này nhằm tìm ra các tp thuc tính  
thường xut hiện đng thời trong cơ sở dliu và rút ra các lut về ảnh hưởng ca mt  
tp thuc tính dẫn đến sxut hin ca mt hoc nhiu tp thuộc tính khác như thế  
nào? Do đó việc phát hin ra các lut kết hp là một bước rt quan trng trong khai  
phá dliu.  
Mt khác, hin nay nhu cu song song hóa và xlý phân tán là rt cn thiết bi  
kích thước dliệu lưu trữ ngày càng lớn nên đòi hi tốc độ xlý cũng như dung lượng  
bnhhthng phải đảm bo. Vì vy, yêu cu cn có nhng thut toán song song  
hiu qucho vic phát hin các lut kết hp trong khai phá dliu là rt cn thiết, góp  
phần thúc đẩy khả năng ứng dng ca vic phát hin tri thc, htrra quyết định vào  
trong hoạt đng thc tin.  
Tnhng vấn đề nêu trên, tôi chọn đề tài “Nghiên cu các lut kết hp song  
song trong khai phá dliu” để làm luận văn tốt nghip.  
2. Mc tiêu ca luận văn  
Tìm hiu khái quát vkhai phá dliệu trong đó đi sâu về các lut kết hp.  
Tìm hiu mt smô hình tính toán song song.  
2
Nghiên cu xây dng các thut toán lut kết hp song song trong khai phá dữ  
liu.  
Cài đt mt sthut toán song song khai phá dliu và phát hin lut kết hp.  
3. Bcc ca luận văn  
Luận văn chia làm 3 chương:  
Chương 1: Tổng quan vkhai phá dliu  
Chương này gii thiu quá trình khai phá dliu và phát hin tri thức, phương  
pháp khai phá dliu, ng dng và mt số khó khăn trong khai phá dliu.  
Chương 2: Khai phá các lut kết hp song song  
Chương này trình bày tóm tt lut kết hp, mô hình ca bài toán khai phá lut  
kết hp, các khái niệm cơ bản lut kết hợp, các phương pháp khai phá các luật kết hp  
và khai phá các lut kết hp song song.  
Chương 3: Cài đặt thut toán khai phá các lut kết hp song song ng dng cho  
bài toán khai phá dliu.  
3
CHƯƠNG 1  
TNG QUAN VKHAI PHÁ DLIU  
1. 1. Khai phá dliu  
1. 1. 1. Khái nim Khai phá dliu  
Khai phá dliu (Data Mining) là mt khái niệm ra đời vào những năm cuối  
ca thp k1980. Nó là quá trình khám phá thông tin ẩn được tìm thấy trong các cơ sở  
dliu và có thể xem như là một bước trong quá trình khám phá tri thc. Data Mining  
là giai đoạn quan trng nht trong tiến trình khai phá tri thc từ cơ sở dliu, các tri  
thc này htrtrong vic ra quyết đnh trong khoa hc và kinh doanh, …  
Giáo sư Tom Mitchell [20] đã đưa ra định nghĩa của Khai phá dliệu như sau:  
“Khai phá dliu là vic sdng dliu lch sử để khám phá nhng qui tc và ci  
thin nhng quyết định trong tương lai.” Vi mt cách tiếp cn ng dụng hơn, Tiến sĩ  
Fayyad [21] đã phát biu: “Khai phá dliệu, thường được xem là vic khám phá tri  
thức trong các cơ sở dliu, là mt quá trình trích xut nhng thông tin ẩn, trước đây  
chưa biết và có khả năng hữu ích, dưới dng các qui lut, ràng buc, qui tắc trong cơ  
sdliu.” hay nói cách khác “Khai phá dliu – Data Mining là tiến trình khám phá  
tri thc tim ẩn trong các cơ sở dliu. Cthể hơn, đó là tiến trình trích lc, sn sinh  
nhng tri thc hoc các mu tim ẩn, chưa biết nhưng hữu ích từ cơ sdliu ln” [2].  
Nói tóm li, Khai phá dliu là mt quá trình hc tri thc mi tnhng dliu  
đã thu thập đưc [8]–[12]–[15].  
Khai phá dliu là tiến trình khái quát các skin ri rc trong dliu thành  
các tri thc mang tính khái quát, tính quy lut htrtích cc cho các tiến trình ra  
quyết định. Khai phá dliu là vic trích rút tri thc mt cách tự động và hiu qutừ  
mt khi dliu rt ln. Tri thức đó thường dng các mu tin có tính cht không tm  
thường, không tường minh (ẩn), chưa được biết đến và có tiềm năng mang li li ích.  
Để hình dung vấn đề này ta có thsdng mt ví dụ đơn giản như sau: Khai  
phá dliệu được ví như tìm một cây kim trong đống ckhô. Trong ví dnày, cây kim  
là mt mnh nhtri thc hoc mt thông tin có giá trị và đống ckhô là mt kho cơ sở  
dliu rng ln. Như vậy, nhng thông tin có giá trtim ẩn trong kho cơ sở dliu  
sẽ đưc chiết xut ra và sdng mt cách hu ích nhkhai phá dliu.  
Chức năng khai phá dữ liu gm có gp nhóm phân loi, dbáo, dự đoán và  
phân tích các liên kết. Năm 1989, Fayyad, Smyth và Piatestsky-Shapiro đã dùng khái  
nim Phát hin tri thc từ cơ sở dliu (Knowledge Discovery in Database-KDD).  
Trong đó, khai phá dữ liu là một giai đoạn rất đặc bit trong toàn bquá trình, nó sử  
dng các kthuật để tìm ra các mu tdliu. Có thcoi khai phá dliu là ct lõi  
ca quá trình phát hin tri thc.  
Quá trình khai phá dliu stiến hành qua 6 giai đoạn như hình 1. 1 [7]  
4
Đánh giá mẫu  
Khai phá dliu  
Data Mining  
Chuyển đi dliu  
Làm sạch, Tiền xử lý  
Chun bị trước dữ  
liu  
TRI THC  
La chn dliu  
Gom dliu  
Internet,...  
Dliu  
Hình 1.1. Quá trình khai phá dliu  
Bắt đầu ca quá trình là kho dliu thô và kết thúc vi tri thức được chiết xut  
ra. Vlý thuyết thì có vrất đơn giản nhưng thực sự đây là một quá trình rất khó khăn  
gp phi rt nhiều vướng mắc như: quản lý các tp dliu, phi lặp đi lặp li toàn bộ  
quá trình, …  
1. Gom dliu (Gathering): Tp hp dliệu là bước đầu tiên trong quá trình  
khai phá dliu. Đây là bước được khai thác trong một cơ sở dliu, mt kho  
dliu và thm chí các dliu tcác ngun ng dng Web.  
2. Trích lc dliu (Selection): Ở giai đoạn này dliệu đưc la chn hoc phân  
chia theo mt stiêu chuẩn nào đó, ví dụ chn tt cnhững người có tuổi đời từ  
25 – 35 và có trình độ đi hc.  
3. Làm sch, tin xlý và chun bị trước dliu (Cleaning, Pre-processing  
and Preparation): Giai đoan thứ ba này là giai đon hay bsao lãng, nhưng  
thc tế nó là một bước rt quan trng trong quá trình khai phá dliu. Mt số  
5
lỗi thường mc phi trong khi gom dliệu là tính không đủ cht ch, logíc. Vì  
vy, dliệu thường cha các giá trvô nghĩa và không có khả năng kết ni dữ  
liu. Ví d: tuổi = 273. Giai đoạn này stiến hành xlý nhng dng dliu  
không cht chnói trên. Nhng dliu dạng này được xem như thông tin dư  
tha, không có giá tr. Bi vậy, đây là một quá trình rt quan trng vì dliu  
này nếu không được “làm sch - tin xlý - chun bị trước” thì sgây nên  
nhng kết qusai lch nghiêm trng.  
4. Chuyển đổi dliu (Transformation): Tiếp theo là giai đoạn chuyển đổi dữ  
liu, dliệu đưa ra có thể sdụng và điều khiển được bi vic tchc li nó.  
Dliu đã được chuyển đi phù hp vi mục đích khai thác.  
5. Phát hin và trích mu dliu (Pattern Extraction and Discovery): Đây là  
bước mang tính tư duy trong khai phá dữ liu. Ở giai đoạn này nhiu thut toán  
khác nhau đã được sdụng để trích ra các mu tdliu. Thuật toán thường  
dùng là nguyên tc phân loi, nguyên tc kết hp hoc các mô hình dliu tun  
t, …  
6. Đánh giá kết qumu (Evaluation of Result): Đây là giai đoạn cui trong quá  
trình khai phá dliu. Ở giai đoạn này, các mu dliệu được chiết xut ra bi  
phn mm khai phá dliu. Không phi bt cmu dliu nào cũng đều hu  
ích, đôi khi nó còn bsai lch. Vì vy, cn phải ưu tiên những tiêu chuẩn đánh  
giá để chiết xut ra các tri thc (Knowledge).  
Trên đây là 6 giai đoạn trong quá trình khai phá dliệu, trong đó giai đoạn 5 là  
giai đoạn được quan tâm nhiu nht, đó là khai phá dliu.  
1. 1. 2. Kiến trúc ca mt hthng khai phá dliu  
Máy chủ cơ sở dliu hay máy chkho dliu (Database or warehouse  
server): Máy chnày có trách nhim ly dliu thích hp da trên nhng yêu  
cu khai phá của người dùng.  
Cơ sở tri thức (Knowledge base): Đây là miền tri thức được dùng để tìm kiếm  
hay đánh giá độ quan trng ca các hình mu kết qu.  
Máy khai phá dliu (Data mining engine): Mt hthng khai phá dliu cn  
phi có mt tp các modun chức năng để thc hin công vic, chng hạn như  
đặc trưng hóa, kết hp, phân lp, phân cm, phân tích stiến hoá…  
Modun đánh giá mẫu (Pattern evaluation): Bphận này tương tác với các  
modun khai phá dliu để tp trung vào vic duyt tìm các mẫu đáng được  
quan tâm. Cũng có thể modun đánh giá mâu được tích hp vào modun khai  
phá tutheo sự cài đặt của phương pháp khai phá được dùng.  
Giao diện đồ họa cho người dùng (Graphical user interface): Thông qua giao  
diện này, người dùng tương tác với hthng bằng cách đặc tmt yêu cu  
6
khai phá hay mt nhim v, cung cp thông tin trgiúp cho vic tìm kiếm và  
thc hiện khai phá thăm dò trên các kết qukhai phá trung gian.  
Giao diện đồ họa cho người dùng  
Đánh giá mẫu  
Cơ sở tri thc  
Máy khai phá dliu  
Máy chủ cơ sở dliu hay kho dliu  
Làm sch và tích hp dliu  
Lc  
Kho dliu  
CSDL  
CSDL  
Hình 1.2. Kiến trúc ca mt hthng khai phá dliu  
1. 1. 3. Mt skthut khai phá dliu  
Các kĩ thut khai phá dliệu thường được chia thành 2 nhóm chính [12]:  
Kĩ thuật khai phá dliu mô t: có nhim vmô tvcác tính cht hoc các  
đặc tính chung ca dliu trong CSDL hin có. Các kĩ thut này gm có: phân  
cm (clustering), tóm tt (summarization), trc quan hóa (visualization), phân  
tích sphát triển và độ lch (Evolution and deviation analysis), phát hin lut  
kết hp (association rules), ...  
Kĩ thuật khai phá dliu dự đoán: có nhiệm vụ đưa ra các dự đoán dựa vào  
các suy din trên dliu hin thi. Các kĩ thuật này gm có: phân lp  
(classification), hi quy (regression), ...  
Tuy nhiên, do khuôn khcó hn nên tôi chgii thiệu 3 phương pháp thông  
dng nht là: phân lp dliu, phân cm dliu và khai phá lut kết hp.  
1. 1. 3. 1. Phân lp  
Phân lp dliu (Classification) là chia các đối tưng dliu thành các lp da  
trên các đặc trưng của tp dliu. Vi mt tp các dliu hun luyện cho trước và sự  
hun luyn của con người, các gii thut phân loi shc ra bphân loi (classifier)  
dùng để phân các dliu mi vào mt trong nhng lp (còn gi là loại) đã được xác  
định trước. Phương pháp này rất có ích trong giai đoạn đầu ca quá trình nghiên cu  
khi ta biết rt ít về đối tượng cn nghiên cu, nó là tiền đề để tiến hành các phương  
7
pháp phát hin tri thc. Có nhiều phương pháp phân lớp: phân lp da trên cây quyết  
định, phân lp Bayesian, … Quá trình phân lp dliệu thường gồm hai bước [12]:  
Bước 1: Xây dng mô hình da trên vic phân tích các mu dliu có sn.  
Mi mẫu tương ứng vi mt lớp, được quyết định bi mt thuc tính gi là  
thuc tính phân lp. Các mu dliu này còn được gi là tp dliu hun  
luyn (training dataset). Nhãn lp ca tp dliu hun luyn phải được xác  
định trước khi xây dng mô hình, vì vậy phương pháp này còn được gi là hc  
có giám sát (supervised learning).  
Bước 2: Sdng mô hình để phân lp dliu. Chúng ta phải tính độ chính  
xác ca mô hình, nếu độ chính xác là chp nhn được thì mô hình sẽ được sử  
dụng để dự đoán lp cho các mu dliệu khác trong tương lai.  
1. 1. 3. 2. Phân cm  
Phân cm (Clustering) là việc nhóm các đối tượng dliu thành các lớp đối  
tượng có sự tương tự nhau da trên các thuc tính ca chúng. Mi lp đối tượng đưc  
gi là mt cm (cluster). Mt cm bao gồm các đối tượng mà gia bn thân chúng có  
sràng buc ln nhau và khác bit so vi các lớp đối tượng khác. Phân cm dliu là  
mt ví dcủa phương pháp học không có giám sát (unsupervised learning). Phân cm  
dliệu không đòi hi phải định nghĩa trước các mu dliu hun luyn. Vì thế, có thể  
coi phân cm dliu là mt cách hc bng quan sát (learning by observation), trong  
khi phân lp dliu là hc qua ví dụ (learning by example). Trong phương pháp này  
ta không thbiết kết qucác cụm thu được sẽ như thế nào khi bắt đầu quá trình. Các  
cm có thtách riêng hay phân cp hoc gi lên nhau, có nghĩa là mt mc dliu có  
thva thuc cm này va thuc cm kia. Vì vậy, thông thường cn có mt chuyên  
gia vlĩnh vực đó để đánh giá các cụm thu được.  
Phân cm dliệu được sdng nhiu trong các ng dng vphân loi thị  
trường, phân loi khách hàng, nhn dng mu, phân loi trang Web, … Ngoài ra, phân  
cm còn được sdụng như một bước tin xlý cho các thut toán khai phá dliu  
khác.  
1. 1. 3. 3. Lut kết hp  
Phương pháp phát hiện các lut kết hp (Association Rules) nhm phát hin ra  
các lut kết hp gia các thành phn dliệu trong cơ sở dliu [4]. Các gii thut Tìm  
lut liên kết tìm kiếm các mi liên kết gia các phn tdliu, ví dụ như nhóm các  
món hàng thường được mua kèm vi nhau trong siêu thị. Đầu ra ca thut toán là tp  
lut kết hp tìm được. Cho trước mt tập các giao tác, trong đó mỗi giao tác là mt tp  
các mc, tìm sự tương quan gia các mục như là một lut và kết quca gii thut  
khai phá dliu là tp lut kết hp tìm được. Lut kết hợp thường có dng X Y.  
Trong đó: X là tiền đề, Y là hqu(X, Y là hai tp ca mc). Ý nghĩa trực quan ca  
8
lut là các giao tác của cơ sdliệu mà trong đó nội dung X có khuynh hướng đến ni  
dung Y.  
Có hai thông squan trng ca lut kết hợp là độ htrợ (support) và độ tin cy  
(confidence). Độ htrợ và độ tin cậy là hai độ đo của sự đáng quan tâm của lut.  
Chúng tương ứng phn ánh shu ích và schc chn ca luật đã khám phá. Khai phá  
các lut kết hp từ cơ sở dliu là vic tìm các luật có độ htrợ và độ tin cy lớn hơn  
ngưỡng mà người dùng xác định trước.  
Ví d: Phân tích gihàng của người mua hàng trong mt siêu thị ta thu được  
lut: “68% khách hàng mua sa thì cũng mua bánh mỳ, 21% mua chai th. Trong ví  
dtrên thì 68% là độ tin cy ca lut (sphần trăm giao dịch tha mãn vế trái thì tha  
mãn vế phải), 21% là độ htr(sphần trăm giao dịch tha mãn chai vế trái và  
phi).  
Hình 1.3. Mô tlut kết hp  
Lut kết hp mang li nhng thông tin vô cùng quan trng, nó htrkhông nhỏ  
trong quá trình ra quyết định. Phương pháp này được sdng rt nhiu trong các lĩnh  
vực như marketing có chủ đích, phân tích thị trường, qun lý kinh doanh, ... Khai phá  
lut kết hợp được thc hiện qua hai bước:  
Bước 1: Tìm tt ccác tp mc phbiến, mt tp mc phbiến được xác định  
thông qua việc tính độ htrvà tha mãn độ htrcc tiu.  
Bước 2: Sinh ra các lut kết hp mnh ttp mc phbiến, các lut này phi  
tha mãn độ htrcc tiểu và độ tin cy cc tiu.  
Phương pháp này được sdng rt hiu qutrong các lĩnh vực như marketing  
có chủ đích, phân tích quyết định, qun lí kinh doanh, phân tích thị trưng, …  
1. 1. 4. La chọn phương pháp khai phá dliu  
Cu trúc ca thut toán khai phá dliu có ba thành phn chính sau: Biu din  
mô hình, đánh giá mô hình và phương pháp tìm kiếm.  
Biu din mô hình: Mô hình được biu din bng ngôn ngữ L nào đó để mô tả  
các mu có thể khai phá được. Nếu vic biu din mô hình hn chế thì không  
có thi gian hc tp hoc không có các mẫu để to ra mô hình chính xác cho  
dliệu. Người phân tích dliu cn phi hiểu đầy đủ các githiết mô t,  
9
ngưi thiết kế thut toán phi din tả được githiết mô tnào được to ra bi  
thut toán nào mt cách rõ ràng.  
Đánh giá mô hình: Đánh giá xem mẫu có đáp ứng được các tiêu chun ca  
quá trình phát hin tri thức hay không. Đánh giá độ chính xác dự đoán dựa  
trên đánh giá chéo.  
Phương pháp tìm kiếm:  
o Tìm kiếm tham s: Các thut toán tìm kiếm các tham số để tối ưu hoá  
các tiêu chuẩn đánh giá mô hình vi dliệu quan sát được và vi mt  
biu din mô hình đã định.  
o Tìm kiếm mô hình: Giống như một vòng lặp qua phương pháp tìm kiếm  
tham s, biu din mô hình bị thay đổi to nên hcác mô hình. Vi mt  
biu din mô hình, phương pháp tìm kiếm tham số đưc áp dụng để đánh  
giá chất lưng mô hình.  
Hin nay, người ta chưa đưa ra được mt tiêu chun nào trong vic quyết định  
sdụng phương pháp nào vào trong trường hp nào thì có hiu qu, có nhiu kthut  
và mi kthuật được sdng cho nhiu bài toán khác nhau. Các thut toán khai phá  
dliu tự động chỉ đang ở giai đoạn phát triển ban đầu, các kthut khai phá dliu  
còn mi vi lĩnh vực kinh doanh. Rõ ràng là để trli câu hi “khai phá dliu dùng  
kthut nào là tt?” thật không đơn giản vì mỗi phương pháp thì có điểm mnh và  
điểm yếu riêng, thm chí chúng ta còn phi kết hợp các phương pháp trong quá trình  
khai phá.  
1. 2. ng dng ca khai phá dliu  
Khai phá dliệu được vn dng trong nhiu lĩnh vực khác nhau nhm khai thác  
ngun dliệu phong phú được lưu trữ trong các hthng thông tin. Tùy theo bn cht  
ca tng lĩnh vực, vic vn dng khai phá dliu có nhng cách tiếp cn khác nhau.  
Ngân hàng: Xây dng mô hình dbáo ri ro tín dng. Tìm kiếm tri thc, quy  
lut ca thị trưng chứng khoán và đầu tư bất động sn.  
Thương mại điện t: Tìm hiểu, định hướng thúc đẩy, giao tiếp vi khách hàng.  
Phân tích hành vi mua sm trên mng và cho biết thông tin tiếp thphù hp vi nhiu  
loi khách hàng.  
Marketing: Phân tích nhu cu khách hàng da trên mu dliu mua bán hàng  
từ đó xác định chiến lưc kinh doanh, qung cáo, kế hoch sn xut, …  
Khai phá dliu cũng được vn dng hiu quả để gii quyết các bài toán phc  
tp trong các ngành đòi hi kthut cao [11], như tìm kiếm mdu từ ảnh vin thám,  
cnh báo hng hóc trong các hthng sn xut, … Các kthut Khai phá dliệu đã  
được áp dng thành công trong vic dự đoán tải sdụng điện năng cho các công ty  
cung cấp điện, lưu lượng viễn thông cho các công ty điện thoi, mức độ tiêu thsn  
10  
phm cho các nhà sn xut, giá trca sn phm trên thị trường cho các công ty tài  
chính, …  
Ngoài ra, Khai phá dliu còn được áp dng cho các vấn đề xã hội như phân  
tích các kết quphòng chống và điều trmt sloi bnh, phân tích tác hi ca ma tuý,  
phát hin ti phạm hay tăng cường an ninh xã hi, ... Vic vn dụng thành công đã  
mang li nhng hiu quthiết thc cho các hoạt động diễn ra hàng ngày trong đời  
sng.  
1. 3. Mt skhó khăn trong khai phá dữ liu  
- Cơ sở dliu ln: Các tp dliu cn xlý trong khai phá dliệu thưng có  
kích thước cc kln vcsố lượng các bn ghi và số lượng các thuc tính. Trong  
thc tế, kích thước ca các tp dliu trong khai phá dliệu thường mc tera-byte  
(hàng ngàn giga-byte). Với kích thước như thế, thi gian xlý thường cc kdài. Mc  
dù kích thước bnhtrong của máy tính đã gia tăng đáng kể trong thi gian gần đây,  
việc gia tăng này cũng không thể đáp ứng kp vi việc tăng kích thước dliu. Vì vy,  
vic vn dng các kthut xác sut, ly mẫu, đệm, song song, …vào các gii thuật để  
to ra các phiên bn phù hp vi yêu cu ca khai phá dliu trnên ngày càng quan  
trng.  
- Dliu thiếu và nhiu: Mức độ nhiu cao trong dliệu điu này dẫn đến vic  
dự đoán thiếu chính xác.  
- Vấn đề “quá phù hp” (Overfitting): Khi thut toán khai phá tìm kiếm vi các  
tham stt nht cho mt mô hình đặc bit và mt gii hn ca tp dliu. Mô hình đó  
có th“Quá phù hp” trên tp dliệu đó nhưng li thi hành không chính xác trên tp  
dliu kim tra.  
- Sự thay đổi ca dliu và tri thc: Dliu là không tĩnh, dữ liệu thay đổi  
nhanh chóng có thdẫn đến nhng tri thức đã khai phá trước đây trở nên không còn  
phù hp thm chí là vô giá tr.  
- Đánh giá các mu dliu tìm được: Nhiu mu phát hin không thc shu  
ích với người sdng và thách thc vi các hkhai phá dliu.  
- Làm vic vi các dliu quan hphc tp: Do các hệ cơ sở dliu quan hệ  
được sdng rng rãi nên vấn đề làm tt vi các hệ cơ sở dliu này là vấn đề cn  
quan tâm đối vi các hkhai phá dliu.  
- Khai phá thông tin trong các hệ cơ sở dliu hn hp và hthng thông tin  
toàn cu: Vi sự ra đời ca mng máy tính, dliu có thể được thu thp tnhiu  
ngun khác nhau với định dng khác nhau vi số lượng rt ln. Vic phát hin tri thc  
tcác dng dliu hn hp này là mt thách thức đối vi khai phá dliu.  
11  
1. 4. Kết luận chương 1  
Khai phá dliu là svn dng hc thut vào các vấn đề thiết thực đang diễn ra.  
Khai phá dliu là tiến trình khái quát các skin ri rc trong dliu thành các tri  
thc mang tính khái quát, tính quy lut, htrtích cc cho vic ra quyết định. Nghiên  
cu nhm xây dng và ci thin các kthut trong khai phá dliu là mt lĩnh vực  
ha hn và phù hp với điều kin nghiên cu Vit Nam. Khai phá dliu là mt  
ngành khá non tr, các kthut ca ngành còn chưa có khả năng giải quyết hiu quả  
tt các bài toán thc tế. Vic nghiên cu ci thin các gii thut nhằm đưa ra các kỹ  
thut mi là mt khả năng có thể thc hiện trong môi trường làm vic còn thiếu thn ở  
Vit Nam. Mt số hướng nghiên cu vlý thuyết trong khai phá dliệu đang được  
nghiên cu hin nay: Áp dng các chiến lược để ci thin hiu qucác gii thut. Phát  
trin các phiên bn mi ca các gii thut có khả năng giải quyết các tp dliu ln  
bng kthut sdng bộ đệm. Song song và phân bcác gii thut trong khai phá dữ  
liệu để tn dng khả năng tính toán mạnh của tính toán lưi, ...  
12  
CHƯƠNG 2  
KHAI PHÁ CÁC LUT KT HP SONG SONG  
2. 1. Lut kết hp trong khai phá dliu  
Lut kết hp là một hướng quan trng trong khai phá dliu. Lut kết hp giúp  
chúng ta tìm được các mi liên hgia các mc dliu (items) của cơ sở dliu. Lut  
kết hp là dạng khá đơn giản nhưng lại mang khá nhiu ý nghĩa. Thông tin mà dng  
luật này đem lại là rất đáng kể và htrkhông nhtrong quá trình ra quyết định. Tìm  
các lut kết hp mang nhiu thông tin từ cơ sở dliu tác nghip là mt trong nhng  
hướng tiếp cn chính ca lĩnh vc khai phá dliu [12].  
2. 1. 1. Mt số hướng tiếp cn trong khai phá lut kết hp  
Lĩnh vực khai phá lut kết hợp cho đến nay đã được nghiên cu và phát trin  
theo nhiều hưng khác nhau.  
2. 1. 1. 1. Lut kết hp nhphân  
Lut kết hp nhphân (binary association rules hoc boolean association rules)  
là hướng nghiên cứu đầu tiên ca lut kết hp. Hu hết các nghiên cu thi kỳ đầu  
vlut kết hợp đều liên quan đến lut kết hp nhphân. Trong dng lut kết hp này,  
các thuc tính chỉ được quan tâm là có hay không xut hin trong giao tác của cơ sở  
dliu chkhông quan tâm v“mức độ” xut hin. Ví dụ như khách hàng A mua 10  
sn phm B hay 1 sn phẩm B được xem là như nhau. Thuật toán tiêu biu nht khai  
phá dng lut này là thut toán Apriori và các thut toán thuc hApriori [16]. Đây là  
dng luật đơn giản và các lut khác cũng có thể chuyn vdng lut này nhmt số  
phương pháp như rời rc hoá, mhoá,… Ví dvdng lut này: “Nếu khách hàng  
mua sn phm A thì smua sn phm B với độ htr20% và độ tin cy 80%”.  
2. 1. 1. 2. Lut kết hp có thuc tính svà thuc tính danh mc  
Các thuc tính của cơ sở dliu thc tế có kiu rất đa dạng: nhphân, s, danh  
mc, ... Đphát hin lut kết hp có thuc tính svà thuc tính danh mc (quantitative  
and categorial association rules), các nhà nghiên cứu đã đề xut mt số phương pháp  
ri rc hoá nhm chuyn dng lut này vdng nhị phân để có tháp dng các thut  
toán đã có [16]. Ví dvdng lut này “Nếu là nvà tui t[30..50] thì mua thc  
phm”, với độ htrợ là 20%, và độ tin cy là 80%.  
2. 1. 1. 3. Lut kết nhiu mc  
Lut kết nhiu mc (multi-level association rules), vi cách tiếp cn theo lut  
này stìm kiếm thêm nhng lut có dng tng quát hóa. Ví dta din táo măng tô”  
là mt loi “áo mc bên ngoài”, “áo len” là mt loi “áo mc bên ngoài”. Tthc tế  
người mua áo măng tô thì mua giày ng” và “ngưi mua áo len thì mua giày ng”. Ta  
có thphỏng đoán một lut tổng quát hơn: “Người mua áo mc bên ngoài thì mua giày  
ng”. Như vậy dng lut này là dng lut tng quát hoá ca 2 luật trước. Lut “Người  
13  
mua áo mc bên ngoài thì mua giày ng” là mt lut có giá trị đối vi nhu cu ca  
ngưi sdng hin thi, còn lut “người mua áo măng tô thì mua giày ng” và “ngưi  
mua áo len thì mua giày ng” thì không có giá trbng lut tổng quát. Thêm vào đó,  
lut tng quát có thể ở nhiu mc khác nhau.  
2. 1. 1. 4. Lut kết hp mờ  
Vi nhng hn chế còn gp phi trong quá trình ri rc hoá các thuc tính số  
(quantitative attributes), các nhà nghiên cứu đã đề xut lut kết hp m(fuzzy  
association rules) [16] nhm khc phc các hn chế trên và chuyn lut kết hp vmt  
dng tự nhiên hơn, gần gũi hơn với người sdng.  
2. 1. 1. 5. Lut kết vi thuộc tính được đánh trọng số  
Trong thc tế, các thuc tính trong cơ sở dliu không phi lúc nào cũng có vai  
trò như nhau. Có một sthuộc tính được chú trọng hơn và có mức độ quan trng cao  
hơn các thuộc tính khác. Khi đó, trong quá trình tìm kiếm lut, chúng ta có thgán  
thuc tính này có trng slớn hơn thuộc tính kia. Đây là hướng nghiên cu rt thú vị  
và đã được mt snhà nghiên cứu đề xut cách gii quyết bài toán này. Vi lut kết  
hp có thuộc tính được đánh trọng s, chúng ta sẽ khai thác được nhng lut “hiếm”  
(tức là có độ htrthấp, nhưng có ý nghĩa đc bit hoc mang rt nhiu ý nghĩa).  
2. 1. 1. 6. Lut kết hp song song  
Bên cnh khai phá lut kết hp tun t, các nhà làm tin hc cũng tập trung vào  
nghiên cu các thut gii song song để phát hin lut kết hp, đó là Lut kết hp song  
song (parallel mining of association rules) [16]. Nhu cu song song hoá và xlý phân  
tán là cn thiết bởi kích thước dliu ngày càng lớn hơn nên đòi hi tốc độ xlý cũng  
như dung lưng bnhca hthng phải được đảm bo. Có rt nhiu thut toán song  
song khác nhau đã đề xuất để có thkhông phthuc vào phn cng. Bên cnh nhng  
nghiên cu vnhng biến thca lut kết hp, các nhà nghiên cu còn chú trọng đề  
xut nhng thut toán nhằm tăng tốc quá trình tìm kiếm tp phbiến từ cơ sdliu.  
Ngoài ra, còn có mt số hướng nghiên cu khác vkhai phá lut kết hợp như:  
Khai phá lut kết hp trc tuyến, khai phá lut kết hợp được kết ni trc tuyến đến các  
kho dliệu đa chiều (Multidimensional data, data warehouse) thông qua công nghệ  
OLAP (On-Line Analysis Processing), MOLAP (multidimensional OLAP), ROLAP  
(Relational OLAP), …  
2. 1. 2. Các tính cht ca lut kết hp  
Cho D là cơ sở dliu giao dch  
I ={i1, i2, …,in } là tp bao gm n mc phân bit (Item - còn gi là các thuc  
tính - attribute). X I được gi là tp mc (itemset).  
T = {t1, t2, … tm} là tp gm m giao dch (Transaction - còn gi là bn ghi -  
record), mi giao dch có một định danh duy nhất được ký hiu là TID (Transaction  
14  
Identification). Mi giao dịch được định nghĩa như một tp con (subset) các mc trong  
I (T I) và có dng <TID, i1, i2, …,ik>  
Mt giao dch T D htr(support) cho mt tp mc X; X I nếu nó có cha  
tt ccác mc ca X, nghĩa là X T. Trong mt số trường hợp, người ta dùng ký hiu  
T(X) đchtp các giao dch htrcho X.  
Ký hiu support(X) (Viết gn là sup(X)) - Độ htr(support) ca mt tp mc  
X – là tlphần trăm số giao dịch trong cơ sở dliu D cha X trên tng scác giao  
dịch trong cơ sở dliu D.  
|{TD | X T}|  
sup(X) =  
(1)  
| D |  
Định nghĩa 1: Tp mc phbiến: Cho mt tp mc X I và ngưỡng htrti  
thiu (minimum support) minsup (0, 1] (minsup được xác định bởi người sdng).  
Tp mục X được gi là mt tp phbiến (hay Frequent Itemset hoc Large Itemset)  
theo ngưỡng minsup nếu và chnếu độ htrca nó lớn hơn hoặc bằng ngưỡng  
minsup: sup(X) minsup.  
Mt tp mc phbiến được sdụng như là một tập đáng quan tâm trong các  
thut toán, các tp mc không phi là tp mc phbiến là nhng tập không đáng quan  
tâm. Người ta dùng cm từ “X có độ htrti thiu” hoặc “X không có độ htrti  
thiểu” để nói lên X thomãn hay không tha mãn sup(X) minsup.  
Mt tp mục X được gi là k-Itemset nếu lực lượng ca X bng k (X= k).  
Tính chất liên quan đến tp mc phbiến  
Tính cht 1: Độ htrcho các tp con (Support for Subsets)  
GisA, B là các tp mc, nếu A B thì sup(A) sup(B) vì tt ccác giao  
dch ca D htrB thì cũng hỗ trA.  
Tính cht 2: Nếu mt tp mc là tp mc không phbiến thì mi tp cha nó  
không là tp mc phbiến (Supersets of Infrequent Sets are Infrequent).  
Nếu mt tp mục B không có độ htrti thiu trên D, tc là sup(B) < minsup  
thì mi tp cha A ca B cũng không phải là tp mc phbiến vì sup(A) sup(B) <  
minsup.  
Tính chất này được áp dng rt hiu qutrong các thut toán khai phá lut kết  
hp ví dụ như Apriori.  
15  
Hình 2.1. Tp cha tp mc không phbiến là không phbiến  
Tính cht 3: Tp con ca tp mc phbiến cũng là tp mc phbiến (Subsets  
of Frequent Sets are Frequent).  
Nếu mt tp mc B là mt tp mc phbiến trên D nghĩa là sup(B) minsup  
thì mi tp con A của B đều là tp phbiến trên D vì sup(A) sup(B) > minsup.  
Định nghĩa 2: Mt lut kết hp là mt quan hcó dng X Y; trong đó X, Y  
I là các tp mc hay còn gi là itemset và X Y = . Trong đó X là tiền đề, Y là hệ  
quca lut. Lut kết hp có hai thông squan trọng là độ htrợ và độ tin cy.  
Định nghĩa 3: Độ htr(support) ca lut kết hp X Y là tlphần trăm  
gia các giao dch cha X Y và tng scác giao dịch có trong cơ sở dliệu, được  
ký hiu và tính theo công thc:  
{T DX Y T  
sup(X Y) = Pr(X Y) =  
(2)  
D  
Khi nói độ htrca lut bng 6% nghĩa là có 6% tng sgiao dch có cha  
X Y. Độ htrmang ý nghĩa thng kê ca lut kết hp.  
Định nghĩa 4: Độ tin cậy (confidence) đối vi mt giao dch ca X Y là tỷ  
lphần trăm giữa các giao dch cha X Y và sgiao dch có chứa X, được ký hiu  
và tính theo công thc:  
sup(X Y)  
sup(X )  
p(Y T X T)  
p(X T)  
conf(X Y) = p(Y IX I) =  
=
(3)  
Khi nói mt luật có độ tin cy conf = 80% có nghĩa là 80% các giao dch htrợ  
X thì cũng htrcho Y. Vmt xác suất, độ tin cy ca mt lut kết hp là xác sut  
(có điu kin) xy ra Y với điều kiện đã xảy ra X. Độ tin cy ca lut cho biết mức độ  
tương quan trong tập dliu gia hai tp mc X và Y, là tiêu chuẩn đánh giá độ tin  
cy mt lut.  
16  
Khai phá lut kết hp từ cơ sdliu D chính là tìm tt ccác luật có đhtrợ  
lớn hơn ngưỡng htrợ (độ htrti thiểu minsup) và có độ tin cy lớn hơn ngưỡng  
tin cậy (độ tin cy ti thiu minconf), có nghĩa là phi có sup(X Y) minsup và  
conf(X Y) minconf. Nếu lut X Y tha mãn trên D thì cả X và Y đều là các tp  
mc phbiến trên D.  
Tính chất liên quan đến lut kết hp  
Tính cht 4: GisX, Y, Z I là nhng tp mc, sao cho X Y = . Thế  
thì: conf(XY) conf(X\Z YZ).  
Tht vy, tXY XYZ và X\Z X ta có:  
sup(X Y Z)  
sup(X \ Z)  
sup(X Y)  
sup(X )  
Tính cht 5: Lut kết hp không có tính cht hp thành.  
Tc là nếu X Z và Y Z tha mãn trên D thì không nht thiết XY Z là  
đúng.  
Tht vậy, xét trường hp X Y = và các giao dch trong D có htrcho Z  
nếu và chnếu chúng chcha mi X hoặc Y, khi đó conf(XYZ) = 0.  
Tương tự ta cũng có: nếu X Y và Z Z tha mãn trên D thì ta cũng có thể suy ra  
X Y Z.  
Tính cht 6: Lut kết hp không có tính cht tách  
Nếu X Y Z tha mãn trên D thì không nht thiết X Z và Y Z tha  
mãn trên D.  
Ví d, khi Z có mt trong giao dch chkhi cả X và Y đều có mt trong giao  
dịch đó, nghĩa là sup(X Y) = sup(Z). Nếu sup(X) sup(X Y) và sup(Y) sup(X  
Y) thì hai lut trên sẽ không có độ tin cy yêu cầu. Nhưng nếu X Y Z tha trên  
D thì có thsuy ra X Y và X Z cũng thỏa trên D vì sup(XY) sup(XYZ) và  
sup(XZ) sup(XYZ).  
Tính cht 7: Lut kết hp không có tính bc cu.  
Có nghĩa là, nếu X Y và Y Z tha mãn trên D thì không thkhẳng định là  
X Z cũng thỏa mãn trên D.  
GisT(X) T(Y) T(Z) và conf(X Y) = conf(Y Z) = minconf.  
Khi đó, conf(X Z) = minconf2 < minconf (vì 0 < minconf < 1), suy ra lut X  
Z không có độ tin cy ti thiu, tc là X Z không tha trên D.  
17  
Tính cht 8: Nếu lut A (L – A) không có độ tin cy ti thiu thì cũng  
không có lut nào trong các lut B (L – B) có đtin cy ti thiu, vi L, A, B là các  
tp mc và B A.  
Tht vy, sdng tính cht 1 ta có sup(B) sup(A) (vì B A) và theo định  
nghĩa của đtin cy, ta có:  
sup(L)  
sup(B)  
sup(L)  
sup(A)  
conf(B (L - B)) =  
minconf  
Tương tự, nếu lut (L – C) C tha trên D, thì các lut (L – K) K vi  
K C, K   cũng thoả trên D.  
2. 1. 3. Bài toán khai phá lut kết hp  
Cho trước mt tp các mc I, một cơ sở dliệu D, ngưỡng htrminsup và  
ngưng tin cy minconf. Tìm tt ccác tp lut kết hp X Y trên D tha mãn:  
sup(X Y) minsup và conf(X Y) minconf  
Bài toán có thphát biểu như sau:  
Dliu vào: I, D, minsup, minconf.  
Dliu ra: Các lut kết hp tha mãn minsup và minconf.  
Thut toán thc hin qua hai pha:  
Pha 1: Tìm tt ccác tp mc phbiến từ cơ sdliu D tc là tìm tt  
ccác tp mục có đhtrlớn hơn hoặc bng minsup.  
Pha 2: Sinh các lut kết hp tcác tp phbiến đã tìm thy pha 1 sao  
cho đtin cy ca lut lớn hơn hoặc bng minconf.  
2. 1. 4. Mt sthut toán khai phá lut kết hp  
2. 1. 4. 1. Tìm tp mc phbiến (Pha 1)  
Phát hin tp mc phbiến là bước quan trng và mt nhiu thi gian nht  
trong quá trình khai phá lut kết hợp trong cơ sở dliu.  
2. 1. 4. 1. 1. Thut toán Apriori  
Apriori là thuật toán được Rakesh Agrawal, Tomasz Imielinski, Arun Swami đề  
xut lần đầu vào năm 1993 [5].  
Ký hiu  
k-itemset  
Lk  
Ý nghĩa  
Tp mc có k mc  
Tp các k-mc phbiến (large k-itemset) (tc tp các itemset có  
độ htrlớn hơn hoặc bng minsup và có lực lượng bng k). Mi  
18  
phn tca tập này có hai trường:  
- Tp mc (itemset).  
- Độ htrợ tương ứng (support-count (SC)).  
Ck  
Tp các tp k-itemset ng cviên (gi là tp các tp phbiến tim  
năng). Mỗi phn tca tập này có hai trường:  
- Tp mc (itemset).  
- Đỗ htrợ tương ứng (support-count (SC)).  
Bng 2. 1. Mt ský hiu dùng trong thut toán Apriori  
Ni dung thut toán Apriori được trình bày như sau:  
Dliu vào: Tp các giao dịch D, ngưỡng support ti thiu minsup  
Dliu ra: L- tp mc phbiến trong D  
Phương pháp:  
L1={large 1-itemset} //tìm tt ccác tp mc phbiến: nhận đưc L1  
for (k=2; Lk-1  ; k++) do  
begin  
Ck=apriori-gen(Lk-1); //sinh ra tp ng cviên tLk-1  
for (mi mt giao dch TD) do  
begin  
CT = subset(Ck, T); //ly tp con ca T là ng cviên trong Ck  
for (mi mt ng cviên cCT) do  
c.count++; //tăng bộ đếm tn xuất 1 đơn vị  
end  
Lk = {c Ck| c.count minsup*|D|};  
end  
return kLk;  
Trong thuật toán này, giai đoạn đầu đơn giản chlà việc đếm support-count cho  
các item. Để xác định tp 1-item phbiến (L1), người ta chgilại các item mà độ hỗ  
trca nó lớn hơn hoặc bng minsup.  
Trong mỗi giai đoạn tiếp theo, người ta bắt đầu vi tp các tp phbiến đã tìm  
được trong giai đoạn trước để li sinh ra tp các tp mc có khả năng là phổ biến mi  
(gi là tp các ng cviên - candidate itemset) và thc hiện đếm support-count cho  
mi tp các ng cviên trong tp này bng mt phép duyệt trên cơ sở dliu. Ti  
19  
điểm kết ca mỗi giai đoạn, người ta xác định xem trong các tp ng viên này, tp nào  
là phbiến và lp thành tp các tp phbiến cho giai đoạn tiếp theo. Cthlà, trong  
các giai đoạn thứ k sau đó (k>1), mỗi giai đoạn gồm có 2 pha. Trước hết các (k-1)-  
itemset trong tp Lk-1 được sdụng để sinh ra các ng viên Ck, bng cách thc hin  
hàm apriori_gen. Tiếp theo cơ sở dliu D sẽ được quét để tính độ htrcho mi ng  
viên trong Ck. Để việc đếm được nhanh, cn phi có mt gii pháp hiu quả để xác  
định các ng viên trong Ck là có mt trong mt giao dịch T cho trước. Tiến trình này  
sẽ đưc tiếp tục cho đến khi không tìm được mt tp phbiến nào mi hơn nữa.  
Để tìm hiu các thut toán, ta gisrng, các item trong mi giao dịch đã được  
sp xếp theo thttừ điển (người ta sdng khái nim từ điển ở đây để diễn đạt mt  
thtự quy ước nào đó trên các item của cơ sở dliu). Mi bn ghi - record ca cơ sở  
dliu D có thể coi như là một cặp <TID, itemset> trong đó TID là định danh cho  
giao dch. Các item trong mt itemset cũng được lưu theo thứ ttừ điển, nghĩa là nếu  
kí hiu k item cmt k-itemset c là c[1], c[2], …, c[k], thì c[1] < c[2] < … < c[k]. Nếu  
c = X.Y và Y là mt m-itemset thì Y cũng được gi là m-extension (mrng) ca X.  
Trong lưu trữ, mi itemset có một trường support-count tương ứng, đây là trường cha  
số đếm đhtrcho tp mc này.  
Vấn đề sinh tp ng viên (candidate) ca Apriori dùng hàm apriori_gen:  
Hàm apriori_gen với đối slà Lk-1 (tp các large(k-1)-itemset) scho li kết quả  
là mt siêu tp - superset, tc là tp ca tt ccác large k–itemset. Sơ đồ sau là thut  
toán cho hàm này.  
Dliu vào: tp mc phbiến Lk-1 có kích thước (k-1)  
Dliu ra: tp ng cviên Ck  
Phương pháp:  
function apriori-gen(Lk-1: tp mc phbiến có kích thước k-1)  
begin  
// bưc ni  
for (mi L1 Lk-1) do  
for (mi L2 Lk-1) do  
begin  
if ((L1[1]=L2[1]) (L1[2]=L2[2]) ... (L1[k-2]=L2[k-2])   
(L1[k-1]=L2[k-1])) then  
c = L1 L2; // kết ni L1 vi L2 sinh ra ng cviên c  
if has_infrequent_subset(c, Lk-1) then  
remove (c); // bưc ta (xoá ng cviên c)  
20  
else Ck = Ck {c}; //kết tp c vào Ck  
end  
return Ck;  
end  
Hàm has_infrequent_subset kim tra tp con (k-1)-item ca ng cviên k-item  
không là tp phbiến:  
function has_infrequent_subset(c: ng viên k-item; Lk-1 tp phbiến (k-1)-item)  
begin  
//sdng tp mc phbiến trưc  
for (mi tp con (k-1)-item s c) do  
if s Lk-1 then return TRUE;  
end  
Có thmô thàm apriori_gen gồm 2 bước sau:  
Bước ni (join step): tìm Lk là tp k-item ứng viên được sinh ra bi vic kết  
ni Lk-1 vi chính nó cho kết qulà Ck. GisL1, L2 thuc Lk-1. Ký hiu Lij là mc  
thj trong Li. Điều kin là các tp mc hay các mc trong giao dch có thtự. Bước  
kết nối như sau: Các thành phần Lk-1 kết ni (nếu có chung (k-2)-item đầu tiên) tc là:  
(L1[1]=L2[1]) (L1[2]=L2[2]) ... (L1[k-2]=L2[k-2]) (L1[k-1]=L2[k-1]).  
Bước ta (prune step): Ck là tp cha Lk (có thlà tp phbiến hoc không)  
nhưng tất ctp k-item phbiến được cha trong Ck. Bước này, duyt lần hai cơ sở  
dliệu để tính độ htrcho mi ng ctrong Ck snhận đưc Lk. Tuy nhiên đkhác  
phục khó khăn, giải thut Apriori sdng các tính cht:  
1 - Tt ccác tp con khác rng ca mt tp mc phbiến là phbiến;  
2 - Nếu L là tp mc không phbiến thì mi tp cha nó không phbiến.  
Trong bước này, ta cn loi btt ccác k-itemset c Ck mà chúng tn ti mt  
(k-1)-itemset không có mt trong Lk-1. Giải thích điều này như sau: giả ss là mt  
(k-1)-itemset ca c mà không có mt trong Lk-1. Khi đó, sup(s) < minsup. Mt khác,  
c s nên sup(c)< sup(s) < minsup. Vy c không thlà mt tp phbiến, nó cn phi  
loi bkhi Ck. Vic kim tra các tp con (k-1)-itemset có thể được thc hin mt  
cách nhanh chóng bng cách duy trì một cây băm của tt ccác tp mc phbiến tìm  
thy.  
d: L3 = {abc, abd, acd, ace, bcd}  
Bước ni: L3*L3 ta có: abcd tabc và abd; acde tacd và ace  
Bước ta: acde bta vì ade không có trong L3. Vy C4={abcd}  
21  
Hàm subset(Ck, T)  
Hàm subset(Ck, T) tìm tt ccác tp mc ng viên trong Ck có cha trong giao  
dịch T. Để tìm tp mc ng viên ta bắt đầu tnút gc: nếu nút gc là nút lá thì ta xem  
các tp mục trong nút lá đó có chứa trong giao dch T không. Trưng hp là nút trong  
và là kết quca vic áp dng hàm băm cho mục thi ca giao dch T thì ta tiếp tc  
thc hiện hàm băm cho mục thi + 1 ca giao dịch T cho đến khi gp mt nút lá. Thủ  
tục này được thc hiện đệ quy.  
Nhn thy, thut toán Apriori với n là độ dài ln nht ca tp mục được sinh ra,  
thut toán sduyt toàn bộ cơ sở dliu n + 1 ln. Vì thế, nếu bqua thi gian so sánh  
để tìm sxut hin ca mt tp mc trong mt giao dch thì độ phc tp ca thut toán  
là O(n*L), trong đó L là kích thước cơ sở dliu. Ngoài ra, nếu độ htrti thiu  
minsup thay đổi thì thut toán li phi thc hin li từ đu nên rt mt nhiu thi gian.  
d: Gistp các item I = {A, B, C, D, E} và cơ sở dliu giao dch:  
D = {<1, {A, C, D}>, <2,{B, C, E}>, <3, {A, B, C, E}>, <4, {B, E}>}.  
Vi minsup = 0.5 (tức tương đương 2 giao dịch). Khi thc hin thut toán  
Apriori trên ta có hình 2. 2:  
C1  
22  
Cơ sở dliu D  
TID Các mc  
{A, C, D}  
1-itemset support-count  
{A}  
{B}  
{C}  
{D}  
{E}  
2 - 50%  
3 – 75%  
3 – 75%  
1 - 25%  
3 - 75%  
1
2
3
4
{B, C, E}  
{A, B, C, E}  
{B, E}  
Quét toàn bD  
Xóa bmc có  
support < minsup  
C2  
C2  
2 - itemset  
{A, B}  
2-itemset  
{A, B}  
{A, C}  
{A, E}  
{B, C}  
{B, E}  
{C, E}  
L1  
1 - itemset support-count  
{A, C}  
{A, E}  
{B, C}  
{B, E}  
{C, E}  
{A}  
{B}  
{C}  
{E}  
2 - 50%  
3 – 75%  
3 – 75%  
3 - 75%  
Ta  
Kết ni  
L1 & L1  
Quét toàn bD  
C2  
L2  
2 - itemset support-count  
2 - itemset support-count  
{A, B}  
{A, C}  
{A, E}  
{B, C}  
{B, E}  
{C, E}  
1 – 25%  
2 – 50%  
1 – 25%  
2 – 50%  
3 – 75%  
2 – 50%  
{A, C}  
{B, C}  
{B, E}  
{C, E}  
2 – 50%  
2 – 50%  
3 – 75%  
2 – 50%  
Xóa bmc có  
support < minsup  
Kết ni  
L2 & L2  
Quét toàn bD  
Ta  
C3  
3 - itemset  
{B, C, E}  
3 - itemset  
{B, C, E}  
support-count  
3 - itemset  
{B, C, E}  
2 - 50%  
Xóa bmc có  
support < minsup  
3 - itemset  
{B, C, E}  
support-count  
2 - 50%  
Hình 2. 2. Minh hothut toán Apriori tìm tp mc phbiến  
2. 1. 4. 1. 2. Các thut toán thuc hApriori  
Mt sthut toán thuc họ Apriori được đề xuất để tìm tp mc phbiến.  
Thut toán AprioriTID [5] – [6]  
Thut toán AprioriTID là phn mrng theo hướng tiếp cận cơ bản ca gii  
thut Apriori. Thay vì dựa vào cơ sở dliu thô gii thut AprioriTID biu din bên  
trong mi giao tác bi các ng viên hin hành.  
23  
L1= {Large 1-itemset};  
C’1 = Database D;  
for (k=2; Lk-1   ; k++) do  
begin  
Ck = apriori_gen(Lk-1);  
C’k = ;  
for tt ct C’k-1 do  
begin  
// xác định tp ng viên trong Ck cha trong giao dch với định  
//danh t. Tid (Transaction Code)  
Ct = c Ck | (c-c[k]) t.Set_of_ItemSets ^ (c-c[k-1]  
t.Set_of_ItemSets  
for nhng ng viên c Ct do c.count ++;  
if (Ct) then C’k+= < t.Tid, Ct >  
end  
Lk = c Ck | c.count minsup;  
end  
return = kLk;  
Thut toán này cũng sử dụng hàm apriori_gen để sinh ra các tp ng cviên  
cho mỗi giai đoạn. Nhưng thuật toán này không dùng cơ sở dliệu D để đếm các  
support-count với các giai đoạn k > 1 mà sdng tp C’k. Mi phn tca C’k có  
dng <Tid, {Xk}>, trong đó mỗi Xk là mt tp phbiến k_itemset tiềm năng trong giao  
dch Tid. Khi k = 1, C’k tương ứng với D, trong đó mỗi item i được coi là mt itemset  
{i}. Vi k>1, C’k được sinh ra bi C’k = < t.Tid, Ct >. Phn tca C’k tương ứng vi  
giao dch t là <t.Tid, {c| c cha trong t}>. Nếu mt giao dch không cha bt ktp  
ng viên k_itemset nào thì C’k skhông có một điểm vào nào cho giao dch này. Do  
đó, số lượng điểm vào trong C’k có thnhỏ hơn số giao dịch trong cơ sở dliệu, đặc  
bit vi k lớn. Hơn nữa, vi các giá trk khá ln, mỗi điểm vào có thnhỏ hơn giao  
dịch tương ứng vì mt số ứng viên đã được cha trong giao dch. Tuy nhiên, vi các  
giá trk nh, mỗi điểm vào có thlớn hơn giao dịch tương ứng vì mt một điểm vào  
trong C’k bao gm tt ccác ng viên k-itemset được cha trong giao dịch. Đã có  
nhiu thí nghim chng minh thut toán Apriori cn ít thời gian hơn thuật toán  
AprioriTID trong giai đoạn đầu nhưng mất nhiu thời gian cho các giai đoạn sau.  

Tải về để xem bản đầy đủ

pdf 73 trang yennguyen 16/04/2025 100
Bạn đang xem 30 trang mẫu của tài liệu "Luận văn Nghiên cứu các luật kết hợp song song trong khai phá dữ liệu", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfluan_van_nghien_cuu_cac_luat_ket_hop_song_song_trong_khai_ph.pdf