Do đó đề tài tiễn hành xây dựng một hướng tiếp cận để khai phá luật kết hợp định lượng phù hợp với chương trình đào tạo theo hệ tin chỉ hiện dang được áp dung pho biến trên thé giới, đồn
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINHTRƯỜNG ĐẠI HỌC BÁCH KHOA
CAO TRỌNG THÂN
KHAI PHA LUẬT KET HỢP GIA TANG
TREN DU LIEU GIAO DUC
Chuyén nganh: KHOA HOC MAY TINH
Mã số: 60.48.01
LUẬN VÁN THẠC SĨ
TP HO CHÍ MINH, thang 6 năm 2013
Trang 2CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI
TRUONG ĐẠI HOC BACH KHOA -DHQG -HCM
Can bộ hướng dẫn khoa học : TS Võ Thị Ngọc Chau
Xác nhận của Chú tịch Hội đồng đánh giá LV và Trướng Khoa quản lý
chuyên ngành sau khi luận văn đã được sửa chữa (néu có).
CHỦ TỊCH HỘI ĐÔNG TRƯỞNG KHOA
Trang 3ĐẠI HỌC QUỐC GIA TP.HCM CONG H AXA HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc lập - Tự do - Hạnh phúc
NHIEM VỤ LUẬN VAN THẠC SĨ
Họ tên học viên: CAO TRONG THÂN MSHV: 10070497
Ngày, thang, năm sinh: 02/07/1986 Noi sinh: TP HCM
Chuyén nganh: KHOA HOC MAY TINH Mã số : 60.48.01
I TEN DE TÀI: Khai phá luật kết hop gia tăng trên dữ liệu giáo dụcH NHIỆM VỤ VÀ NỘI DUNG:
Tìm hiểu lý thuyết, các công trình nghiên cứu liên quan đến bài toán khai pháluật kết hợp, khai phá luật luật kết hợp gia tăng, và khai phá luật kết hợp trong
lĩnh vực giáo duc.
Xây dựng phương pháp tiếp cận khả thi để giải quyết bài toán khai phá luật kếthợp định lượng trên tập dữ liệu giáo dục, giải quyết van dé dữ liệu gia tăng.Tiến hành thực nghiệm, phân tích kết quả thu được từ đó đánh giá cách tiếp cậnđề xuất
Ill NGÀY GIAO NHIỆM VU: 02/07/2012IV NGÀY HOÀN THÀNH NHIỆM VỤ: 21/06/2013v CÁN BỘ HƯỚNG DAN: TS VÕ THỊ NGOC CHAU
Tp HCM, ngày 21 thang 6 năm 2013
CÁN BỘ HƯỚNG DÂN CHỦ NHIỆM BỘ MÔN ĐÀO TẠO
TS Võ Thị Ngọc Châu
TRƯỞNG KHOA
Trang 4LỜI CÁM ƠN
Tôi xin gửi lời cảm ơn chân thành và sâu sắc nhất đến TS Võ Thị Ngọc Châu,Cô đã tận tình hướng dẫn tôi trong suốt quá trình thực hiện đề cương và luận văncao hoc, tạo mọi điều kiện dé tôi có thé hoàn thành tốt luận van này
Tôi xin gửi lời biết ơn chân thành đến các Thầy Cô trong khoa Khoa Học & KỹThuật Máy Tính trường Dai Học Bách Khoa TPHCM Các Thay Cô đã rất tận tìnhchỉ dạy, trang bị cho tôi những kiến thức quý báu trong suốt thời gian tôi học cao
Tp HCM, ngày 20 tháng 6 năm 2013
Học viênCao Trọng Than
Trang 5TOM TAT LUẬN VĂN
Trong những năm gan day, khai pha dữ liệu đã được ứng dung vào lĩnh vực
giáo dục, hình thành nên một hướng nghiên cứu mới gọi là Khai pha dữ liệu
giáo dục Trong đó khai phá luật kết hợp là một trong những kỹ thuật được sửdụng phô biến nhất Vì vậy chúng tôi đã tìm hiểu các công trình liên quan đếnbài toán khai phá luật kết hợp định lượng gia tăng trên lĩnh vực giáo dục Đâylà một bài toán chưa được quan tâm nhiều trong các công trình liên quan hiệnnay nhưng quan trọng trong việc hỗ trợ khám phá tri thức theo thời gian vớidữ liệu luôn được gia tăng mỗi học kỳ, mỗi năm học trong lĩnh vực giáo dục
Do đó đề tài tiễn hành xây dựng một hướng tiếp cận để khai phá luật kết
hợp định lượng phù hợp với chương trình đào tạo theo hệ tin chỉ hiện dang
được áp dung pho biến trên thé giới, đồng thời giải quyết van dé dữ liệu giatăng Luật kết hợp định lượng khai phá được sẽ cung cấp nhiều thông tin hơncho người dùng so với luật kết hợp luận lý truyền thống và hy vọng sẽ góp
phân vào việc hô trợ ra quyét định về giáo dục thuận tiện hon.
Trang 6In recent years, data mining has been applied to education, which leads to anew research area called Educational Data Mining (EDM) In this area,association rule mining is one of the most used techniques Therefore, wehave found out research related to the incremental quantitative associationrule mining problem on EDM This problem is important to supportknowledge discovery from educational data incrementally coming everysemester and every year However, it has not yet been investigated much inthe existing works.
So this thesis proposes a quantitative association rule mining approachwhich is appropriate for an academic credit system which has been popularlyapplied in the world as well as the incremental problem The minedquantitative rules will give more information to users than the traditionalboolean ones As a result, such rules will contribute to the support ofeducational decision making more conveniently.
Trang 7LỜI CAM ĐOANTôi xin cam đoan răng, ngoại trừ các kêt quả tham khảo từ các công trình khác nhưđã ghi rõ trọng luận văn, các công việc được trình bày trong luận văn này là dochính tôi thực hiện và chưa có phân nội dung nào của luận văn này được nộp đề lây
một băng cấp ở trường này hoặc trường khác
Tp HCM, ngày 20 tháng 6 năm 2013
Học viênCao Trọng Thân
Trang 8MỤC LỤC
NHIỆM VỤ LUẬN VĂN THẠC SĨ -~ -~-~=~===============~= ii
LOI CAM ON - nnn nnn iiiTOM TAT LUẬN VĂN -~~~~~~ ~~~~~>~~-====~~=>~z========~=======~=~~- ivABSTRACT - V902.9060670 ~ ÌÓÔ viMỤC LỤC -~ ~~ ~~ ~~==~~==~~=========r==r=rrrrrrrrrrrrrrrrrrrrrrrerrreer viiDANH MỤC HÌNH -~~~ ~~~~~===~======~==============~====~~= ix
DANH MỤC BẢNG -~~ ~~-~~~~~~~~~~~~~~~=~>==~>==~~==~===~=z=~========~=- XChương 1: GIỚI THIỆU VẤN DE - 1
1.1 Giới thiệu dé tài - 1
1.2 Mục tiêu va phạm vi nghiên cứu của dé tai - 4
1.3 Ý nghĩa của dé tài - 5
1.3.1 Ý nghĩa khoa học -~~~~~~~=============>>================~~~= 51.3.2 Ý nghĩa thực tién - 5
Chương 2: CƠ SỞ LÝ THUYET -~ ~~~=====~=============~= 7
2.1 Tổng quan - 7
2.1.1 Phân loại luật kết hợp - 7
2.1.2 Khai phá luật kết hợp -~ -~ -=~=======================~== 10
2.2 Một số kiến thức cơ ban -~ ~-======================== 10
2.3 Các phương pháp khai phá tập phổ biến trên CSDL tĩnh - 12
2.3.1 Phương pháp Apriori - 12
2.3.2 Phuong phap FP-tree - 14
Trang 92.4.1 Thuật toán FUP - 19
2.5 Cac độ do sự tương quan - 27
Chương 3: CÁC CÔNG TRÌNH NGHIÊN CỨU LIÊN QUAN - 31
3.1 Khai phá luật kết hợp trong giáo duc - 31
3.2 Các giải thuật khai phá luật kết hợp gia tăng - 33
3.3 Các độ do sự tương quan - 34
Chương 4 HƯỚNG TIẾP CAN DE TÀI VÀ GIẢI PHAP - 40
4.1 Giới thiệu van dé - 40
4.2 Hướng tiếp cận dé tài - 40
4.3 Thực hiện giải phap - 42
4.3.1 Roi rac hóa dt liệu và tao file dạng arff - 42
4.3.2 Chạy thực nghiệm trên Weka, tích hợp FP-Growth vào dự án - 45
4.3.3 Hiện thực thuật toán FUFP-Growth - 46
4.3.4 Điều chỉnh dạng luật sang dạng định lwong - 47
Chương 5 KET QUÁ THUC NGHIEM VÀ DANH GIA - 50
5.1 Môi trường thực nghiệm - 50
5.2 Tập dữ liệu - 50
5.3.1 Kết quả thực nghiệm trên tập dữ liệu khóa 2005 - 51
5.3.2.1 Trường hợp thứ nhất - 59
5.3.2.2 Trường hợp thu hai - 62
Chương 6 TONG KET - 67
6.1 Những công việc đã thực hién - 67
6.2 Dong góp của dé tai - 67
6.3 Hướng phát triển tiếp theo - 68
Tài liệu tham khao - 69PHU LUC -==~~~====~~~====~~===========~====~====r=~==mr 74
Trang 10DANH MỤC HÌNH
Hình 2 - 1.Hình 2 - 2.Hình 2 - 3.Hình 2 - 4.Hình 2 - 5.Hình 2 - 6.Hình 2 - 7.
Hình 4 - 1.luận văn
Hình 5 - 1.Hình 5 - 2.Hình 5 - 3.Hình 5 - 4.Hình 5 - 5.Hình 5 - 6.Hình 5 - 7.Hình 5 - 8.Hình 5 - 9.
Vi dụ thuật toán ADFIOFI c1 11H rerey 14
Cây FP-tree sau khi giao dịch đầu tiên được xử ly 18
Cây FP-tree sau khi giao dịch thứ 2 được xử lý 19
Cây FP-tree kết Qua eccccccccscccccssssesescsesescsesscsesesessesessssseseaees 19
4 trường hợp xảy ra khi thêm mới giao dịch vào CSDL 20
Tiến trình thực hiện bước 1 trong thuật toán FUP 22Tiến trình tìm tập prelarge và large 1-iteMS€t 26Các bước chính cần tiễn hành dé thực hiện các công việc của
¬ nee eeeee nee eeeeeees nee eeeeeaaeeeeeeeeaaeesensesaaeeeecnaeaeeeeseesaeeseeseseaeeseneas 4
Kết quả so sánh trên dữ liệu học kỳ L - 2 555: 60Kết quả so sánh trên dữ liệu học kỳ 2 -: - 5555: 61Kết quả so sánh trên dữ liệu học kỳ 3 7 -5555c: 61Kết quả so sánh trên dữ liệu học kỳ 4 2-c-c<csc5e: 61Kết quả so sánh trên dữ liệu học kỳ 5 - - 555: 62Kết quả so sánh dữ liệu trên học kỳ 6 2-cc< 5555: 62Kết quả so sánh trong trường hợp thứ hai - 2-5-5: 63Luật boolean ban đầu ¿6 tt SE SE SkekEkrererrerree 64
Luat dinh lung 0 -.aaiIIIỚIIII 65
Trang 11DANH MỤC BÁNGBảng 2 - 1 CSDL ban đầu - 5-5221 E221 121221 212121121 21112111 cte 17
Bảng 2 - 2 Tập tất cả các item cùng với tần số xuất hiện - 17
Bảng 2 - 3 Các giao dịch chỉ chứa các frequent item đã được sắp xếp 18
Bang 2 - 4 CSDL ban dau oiccccccccccccccsccscscsssscsescsssesescsscsesesesscsessseseeseavens 24Bảng 2 - 5 Các giao dich mới cần thêm vào - +5 +cscszs+se2 24Bảng 2 - 6 Tap large itemset được khai thác từ CSDL ban đầu 25
Bảng 2 - 7 Bốn trường hop và kết quả xử lý của các thuật toán FUP 25
Bảng 2 - 8 Bang tong kết giao dịch liên quan game và video 27
Bảng 3 - 1 Một số công trình Khai phá luật kết hợp trong Giáo dục 35
Bang 3 - 2 Các công trình khai phá luật kết hợp gia tăng 37
Bảng 3 - 3 Các công trình liên quan đến các độ đo sự tương quan 38
Bảng 4 - 1 Tập dữ liệu ban đầu - - 5252 +E2EE£E#EeESEEEEeEerrrkrrrrrred 42Bảng 4 - 2 Rời rac hóa dữ liỆu - Q22 321111 v1 re 43Bảng 4 - 3 Dữ liệu trước khi ánh Xa - c5 111113 vn rereg 43Bang 4 - 4 Dữ liệu sau khi ánh xạ 2c c1 111113 re rereg 44Bang 5 - 1 Dac diém tập dữ liệu eee 50Bảng 5 - 2 Kết quả thực nghiệm tập dữ liệu Khóa 2005 năm thứ 1 52
Bảng 5 - 3 Kết quả thực nghiệm tập dữ liệu Khóa 2005 năm thứ 2 53
Bảng 5 - 4 Kết quả thực nghiệm tập dữ liệu Khóa 2005 năm thứ 3 54
Bảng 5 - 5 Kết quả thực nghiệm tập dữ liệu Khóa 2005 năm thứ 4 55
Bảng 5 - 6 Kết quả thực nghiệm tập dữ liệu Khóa 2005 năm thứ 5 56
Bảng 5 - 7 Kết quả thực nghiệm tập dữ liệu Khóa 2005 năm thứ 6 57
Bảng 5 - 8 Kết quả thực nghiệm tập dữ liệu Khóa 2005 năm thứ 7 58Bảng 5 - 9 Kết quả thực nghiệm trường hợp thứ nhất 2-5-5: 59Bảng 5 - 10 Kết quả thực nghiệm trường hợp thứ hai - -55- 63
Trang 12Chương 1: GIỚI THIỆU VẤN ĐỀ
Chương này sẽ trình bay tong quan về khai pha dữ liệu và việc áp
dụng khai phá dữ liệu, cụ thể là khai phá luật kết hợp, vào lĩnh vực giáo
dục, các ưu điểm và thách thức của khai phá luật kết hợp trên dữ liệu
giáo dục Cuôi cùng là trình bày mục tiêu và ý nghĩa của dé tài.1.1 Giới thiệu đề tài
Trong những năm gan day, sự phát triển mạnh mẽ của công nghệ thông tinvà việc ứng dụng công nghệ thông tin vào hau hết mọi lĩnh vực sản xuất, quảnlý, kinh doanh, đã tạo ra một lượng dt liệu không lỗ Làm sao khai thácđược những thông tin hữu ích từ kho dữ liệu ấy trở thành một vấn đề rất được
quan tam Từ đó, khám pha tri thức trong các cơ sở dữ liệu (KnowledgeDiscovery in Databases — KDD) ra đời Day là quá trình khám phá nhữngthông tin mới hữu ích và có giá tri từ lượng dữ liệu lớn [1,21] KDD nhìn
chung bao gồm quá trình tiền xử ly (pre-processing), khai phá dữ liệu (datamining), hậu xử lý (post-processing) [2] Trong đó, khai phá dữ liệu là cốt lõicủa KDD, bao gồm các giải thuật suy luận (inferring algorithms) dé khám phadữ liệu, phát triển các mô hình toán học và khám phá các mẫu có ý nghĩa,chính là các tri thức cần khai phá [1.21]
Khai phá dữ liệu được ứng dụng trong rất nhiều lĩnh vực như bán lẻ (retailsales), sinh tin hoc (bioinformatics), và chống khủng bố (counter-terrorism)[3] ngân hàng viễn thông phân tích DNA [4] Và trong những năm gân day,
khai phá dữ liệu đã được ứng dụng vào lĩnh vực giáo dục, hình thành nên mộthướng nghiên cứu mới gọi là khai phá dữ liệu giáo dục (Educational DataMining — EDM) [5].
Đề thúc day cho sự phát triển của lĩnh vực nghiên cứu này, Hội nghị Quốctế về Khai phá dữ liệu giáo dục (International Conference on EducationalData Mining) được tô chức hằng năm, bắt đầu từ năm 2008, bởi TỔ công tácvề Khai phá Dữ liệu Giáo dục Quốc tế (International Working Group onEducational Data Mining ) Ngoài ra tổ công tác này còn thành lập Hội Khaiphá Dữ liệu Giáo dục Quốc tế (International Educational Data Minng
Trang 132011, và xuất bản các Tạp chí Khai phá Dữ liệu Giáo dục (Journal of
Educational Data Mining - JEDM).
Trong những năm gan đây, EDM duoc sử dung trong các hệ thong learning va Hé thong quan ly hoc tap (Learning Management System - LMS),Hệ thống trợ giáo thông minh (Intelligent Tutoring System — ITS) [6] và Tri
E-tué nhan tao trong Giao duc (Artificial Intelligence in Education — ATED)
[7] trên khắp thé giới để giải quyết các van dé cũng như hỗ trợ hệ thống giáo
dục như [8]:e Du đoán điêm sô của sinh viên và kêt qua học tậpe Duy trì và cải tiên các khóa học (nội dung, các hoạt động )
e Tạo ra các dé nghị giúp sinh viên nhận biết nội dung nào là phù hop
nhât với họ.
V.V
Đề khai phá được các mẫu/mô hình và các mối quan hệ mới hữu ích từ cácdữ liệu giáo dục, nhiều kỹ thuật đã được áp dụng như phân lớp(classification), gom cum (clustering), luật kết hop (association rule), thôngkê va trực quan hóa (statistics and visualization), khai thác mẫu tuần tự
(sequential pattern mining) [3.4,5,8].
Trong đó khai phá luật kết hop là một trong những kỹ thuật phố biến nhất
được sử dụng trong khai pha dir liệu giáo dục [5,8,10,11,12,13,14].
Khai phá luật kết hợp được sử dung trong các hệ thong e-learning [12] dé:tự động hướng dẫn hoạt động của người học, tạo ra và giới thiệu tài liệu học
tập một cách thông minh, xác định các thuộc tính đặc trưng cho sự chênh lệch
hiệu suất hoc tập giữa các nhóm sinh viên khác nhau phát hiện các mối quanhệ đáng quan tâm từ các thông tin sử dung của học sinh để cung cấp thông tinphản hồi cho tác giả, tìm kiếm những sai lầm của sinh viên thường hay xuấthiện cùng nhau, tối ưu hóa nội dung của công thông tin e-learning bang cáchxác định các nội dung được quan tâm nhất bởi người sử dụng, trích xuất cácmô hình hữu ích để giúp nhà giáo dục và quản trị web đánh giá và hiểu cáchoạt động khóa học trực tuyến Trong [11], khai phá luật kết hợp được sửdụng dé tìm mối liên hệ giữa các môn học mà sinh viên không đạt nhằm giúp
Trang 14họ định hướng học tập trong tương lai [15] kết hợp khai phá luật kết hợp vớilập trình tiễn hóa (genetic programming) dé khám phá các mối quan hệ giữakiến thức, thời gian và điểm số, giúp giáo viên thay đổi cau trúc và nội dung
ban đâu của môn học.
Khai phá luật kết hợp được giới thiệu đầu tiên năm 1993 trong [19], đượcsử dụng dé khám phá các mối quan hệ giữa các tập phan tử (itemset) trong cơsở dữ liệu Một luật kết hợp có dang A => B [support, confidence], trong đó A,B là các itemset, support va confidence lần lượt là độ hỗ trợ và độ tin cdy cua
luật.Vị dụ:
computer > antivirus_software [support=2%;confidence=60% |
Luật này có nghĩa là 2% các giao dịch cho thay máy tinh (computer) vaphần mém diệt vi-rút (antivirus software) được mua cùng nhau và 60% khách
hàng nêu mua may tính sẽ mua phân mêm diệt vi-rút.
Thông tin này rõ ràng rất hữu ích đối với doanh nghiệp giúp họ có chiến
lược kinh doanh hiệu quả hơn.
Bài toán khai phá luật kết hợp trên cơ sở dữ liệu được chia thành hai bàitoán nhỏ [20.21] Bài toán thứ nhất là tìm tập pho biến, là tập các phân tử cóđộ hỗ trợ thỏa mãn ngưỡng tối thiểu cho trước Bài toán thứ hai là tìm các luậtkết hợp từ những tập phô biến thỏa mãn độ tin cậy tối thiểu cho trước Bàitoán thứ hai có thé được giải quyết dé dàng và hiệu quả trong khoảng thờigian hợp lý Tuy nhiên bài toán thứ nhất lại tốn nhiều thời gian và chi phí tính
toán khi áp dụng trên các cơ sở đữ liệu lớn.Tuy nhiên lượng dữ liệu ngày một lớn và được cập nhật hàng ngày Việc
cập nhật dữ liệu có thể khiến các tập phố biến thành không phố biến và ngược
lại, và do đó sẽ phát sinh những luật kết hợp mới cũng như loại bỏ một số luật
kết hợp được khai phá trước đó Để giải quyết vẫn đề dữ liệu gia tăng, cácthuật toán truyền thống không còn phù hợp và một số thuật toán mới đã đượcdé xuất Dau tiên là thuật toán FUP do Cheung ef al đề xuất năm 1996 [23]
Y tuong cua thuat toan la luu lai tất cả các độ hỗ trợ của các tập phố biến cũ
Trang 15viên (candidate itemsets) cần kiểm tra lại Tuy vậy, thuật toán FUP vẫn phảixử lý lại toàn bộ co sở dữ liệu gốc khi thêm mới dữ liệu Một số thuật toán
khác như AFPIM [24], FELINE [25], CanTree [26] sử dụng các khái niệm
mới dé khai pha dữ liệu gia tăng Các thuật toán trên sử dụng các cau trúc dữliệu như FP-Tree, CanTree để lưu tất cả các thông tin của các mẫu Tuy nhiêncác thuật toán này đều tốn nhiều chỉ phí cho việc xử lý lại toàn bộ cơ sở dữliệu gốc Năm 2001, Hong et al.[37] đã đề xuất khái niệm pre-large itemset dégiảm bớt số lần xử lý lại cơ sở dữ liệu gốc khi có giao dịch mới được thêmvào Thuật toán chỉ xử lý lại toàn bộ cơ sở đữ liệu sốc khi số lượng giao dịchmới thêm vào vượt quá một ngưỡng an toàn Đến năm 2008 Hong et al.[38]đề xuất cầu trúc FUFP-tree (Fast Updated FP-tree) dựa trên cau trúc FP-treeđể xử lý các giao dịch mới và giúp cho quá trình cập nhật lại cây dễ dàng hơn.Vào năm 2009, cũng chính Hong et al.[39] đã kết hợp khái niệm pre-largeitemset vào cau trúc FUFP-tree để xây dựng thuật toán Pre-FUFP dé xử lýtrường hợp thêm mới giao dịch hiệu quả hon, đặc biệt khi số lượng nhỏ giaodịch được thêm vào Năm 2011, Lê Thiện Phương et al.[40] đã đề xuất thuậttoán Pre-FUT, kết hợp khái niệm pre-large itemset của Hong với cấu trúc Trieđể cải tiễn hiệu năng của thuật toán FUP
Hau hết các thuật toán khai phá luật kết hợp thường sinh ra một lượng lớn
các luật và không đảm bảo rằng các luật đó có hữu ích không Mặc dù việc sửdụng độ hỗ trợ và độ tin cậy có thể giúp loại bỏ nhiều luật Tuy nhiên ngay cảcác luật có độ hỗ trợ và độ tin cậy cao vẫn có thé không thu vi (interesting —dễ hiểu đối với con người, mới và hữu ich [21]) Dé giải quyết van dé này cóthé sử dụng các độ đo tương quan (vi du lift, cosine ) nhăm đánh giá mứcđộ liên quan giữa các thuộc tính tốt hơn
1.2 Mục tiêu và phạm vỉ nghiên cứu của đề tài
Mục tiêu của đề tài là xây dựng một hướng tiếp cận cho bài toán khai pháluật kết hợp định lượng gia tăng với dữ liệu đầu vào là tập kết quả học tập củasinh viên trong hệ giáo dục tín chi và dau ra là tập các luật kết hợp địnhlượng Các luật kết hợp định lượng được khai phá dễ hiểu đối với một người
dùng thông thường như giáo viên, sinh viên và bộ phận quản lý, bộ phận đàotạo của các trường, các cơ sở giáo dục.
Trang 16Do đó dé tài sẽ áp dụng qui trình Khám phá tri thức tong quát (gồm giaiđoạn tiền xử lý, khai phá dữ liệu và hậu xử lý) vào bài toán khai phá luật kết
hợp định lượng gia tăng trên cơ sở dữ liệu giáo dục Trong đó tập trung chủ
yếu vào giai đoạn khai phá dữ liệu và hậu xử lý kết quả khai phá được Giảipháp sẽ được thử nghiệm và đánh giá trên tập dữ liệu điểm thi của các sinh
viên khóa 2005-2008 của khoa Khoa học và Kỹ thuật Máy tính, Đại học Bách
Khoa TpHCM từ học kỳ I năm học 2005-2006 đến học kỳ I năm học
2011-2012.1.3 Ý nghĩa của đề tài
1.3.1 Ý nghĩa khoa họcMột trong những khía cạnh mà dé tài quan tâm và xử lý là vấn đề dữ liệuliên tục được thêm vào qua từng học kỳ cũng như việc thay đối chương trìnhdao tao và các môn học ảnh hưởng đến nhau Nếu không quan tâm đến van dénày thì các luật khai phá được sẽ bị lỗi thời và không còn phù hợp với tìnhhình hiện tại Do đó, luận văn đã đề xuất và thực hiện được một cách tiếp cậncho bài toán khai phá luật kết hợp định lượng gia tăng trong lĩnh vực giáodục Hướng tiếp cận này được hình thành từ những kỹ thuật khai phá mẫu phôbiến tổng quát hiện có cũng như gia tăng hiện nay Ngoài ra, những xử lýriêng của luận văn dé hỗ trợ lĩnh vực khai pha dtr liệu giáo dục trong hệ thống
giáo dục tín chỉ cũng được thực hiện cho luật kết hợp định lượng
So với các công trình liên quan, bài toán khai phá luật kết hợp định lượnggia tăng chưa được xem xét và giải quyết trước đây Hướng tiếp cận của luậnvăn tuy đơn giản nhưng khả thi để hỗ trợ cho hệ thống ra quyết định về giáodục với các luật kết hợp định lượng khám phá được Hiệu quả của các giảithuật khác nhau được sử dụng trong hướng tiếp cận của luận văn cũng đượcxem xét và đánh giá day đủ
1.3.2 Y nghĩa thực tiễnHọc đại học là một quá trình đòi hỏi nhiều nỗ lực, thời gian, tiền bạc ảnhhưởng không chỉ đến bản thân sinh viên mà còn gia đình của họ Một vấn đềquan trọng không kém là khả năng định hướng và viễn kiến của mỗi sinhviên Nhiều sinh viên không nhận ra rằng việc học không tốt một môn họcnào đó có thể ảnh hưởng đến các môn học khác, kết quả là họ bị trượt một
Trang 17Do đó kết qua thu được từ dé tài có thé giúp cho sinh viên có được cái nhìnbao quát hơn, nghiêm túc hơn, đầy đủ hơn, xuyên suốt chương trình đàotạomà họ đang theo học Từ đó, họ thay đối nhận thức về tam quan trọng củacác môn học để có những điều chỉnh phù hợp, giúp cho việc học hiệu quảhon, và nếu như cảm thấy ngành nghề mình đang theo đuôi không phù hợp hocó thé thay doi sớm hơn.
Đối với giáo viên, việc phát hiện một sinh viên nào đó có khả nang không
đạt môn học do mình phụ trách vì những môn học liên quan trước đó mà sinh
viên này không đạt cũng được hỗ trợ với kết quả của dé tài Từ đó, giáo viêncó thể thực hiện nhắc nhở, động viên sinh viên dành thêm thời gian bồ sungkiến thức bị khuyết Nếu giáo viên nhận thấy sinh viên lơ là môn học mà sẽảnh hưởng đến các môn sau này thì giáo viên có thể tiễn hành nhắc nhở, địnhhướng cho sinh viên dé họ nhận thức được tam quan trọng của môn học, từ đócô gắng hơn trong học tập
Đặc biệt với giáo viên chủ nhiệm, những người theo dõi và hỗ trợ sinh viêntrong suốt quá trình học, khi có được những thông tin hữu ích khai phá đượcsẽ giúp cho họ định hướng và giúp đỡ tư vấn sinh viên của mình tốt hơn
Đối với các cơ sở đào tạo, các trường đại học, cao đẳng, cụ thể là các khoa
chuyên ngành, khi phát hiện các sinh viên có nguy cơ thất bại trong học tập.họ có thé tiễn hành nhắc nhở, định hướng cho sinh viên lộ trình học phù hợphơn, đề nghị các môn học phù hợp hơn ( đối với các môn tự chọn trong
chương trình đào tạo theo hệ tín chỉ ).
Giáo dục đại học đòi hỏi sự đầu tư rất lớn không chỉ của người học mà còncủa nhà nước và xã hội Mặt khác, giao dục đại học còn anh hưởng đến nguônnhân lực tương lai của đất nước Do đó, việc có được các thông tin hữu ích từcác dữ liệu quá khứ sẽ giúp cho việc cải tiến nội dung và chương trình đào tạo
hiệu quả hơn, từ đó nâng cao chất lượng giáo dục, đào tạo được nguon nhan
lực tốt hơn cho xã hội cũng như góp phan nâng cao hiệu qua dau tu cho giáo
dục.
Trang 18Chương 2: CƠ SỞ LÝ THUYẾTChương 2 trình bày cơ sở lý thuyết của dé tai bao gồm các khái niệmcơ bản phục vụ cho các phân kế tiếp và các thuật toán nên tảng trongkhai phá luật kết hợp Phan cuối chương sẽ trình bày một số độ do được
sử dụng pho biến
2.1 Tổng quan [21]
2.1.1 Phân loại luật kết hợpKhai phá luật kết hợp được giới thiệu lần đầu tiên bởi Agrawal e al [19]
cùng với bài toán phân tích giỏ hàng (market basket analysis): “Nhóm các
món hàng nào khách hàng thường mua trong một chuyến mua sắm ?” Dé trảlời cho câu hỏi đó bài toán phân tích giỏ hàng được tiến hành trên dữ liệu giao
dịch của khách hàng.
Nếu không gian bài toán là tập các món hàng (item) của cửa hàng và mỗimón hàng có một giá tri luận lý (Boolean) biểu diễn sự có mặt hoặc vắng mặt
của nó trong một giao dịch thì thông tin khách hàng mua máy tính cũng sẽ
mua phần mềm diệt vi-rút có thé được biểu diễn dưới dạng luật kết hợp
(association rule) như sau:
buys(X, “computer ”)) —> buys(X, “antivirussoftware ”) (2.1)
Phân tích giỏ hàng chỉ là một trong những dạng của khai phá luật kết hợp.Thực tế còn nhiều loại khai phá luật kết hợp khác có thé được phân loại dựa
vào các tiêu chí sau:° Dựa vào loại gia trị (types of values) được xử lý trong luật:
Nếu luật liên quan đến sự có mặt và vắng mặt của các phân tử (item) thiđó là luật kết hop luận lý (Boolean association rule) Ví dụ luật (2.1) làluật kết hợp luận lý
Nếu luật mô tả sự kết hợp giữa các phân tử được định lượng(quantitative item) thì luật này là luật kết hợp định lượng (quantitativeassociation rule) Luật (2.2) dưới đây là một ví dụ về luật kết hợp định
Trang 19age(X, “30:::39”) ^ income(X, “42K:::48K”)) — buys(X, “highresolution TV”) (2.2)° Dựa trên sô chiêu (dimensions) của dir liệu liền quan trong luật:
Nếu như các phan tử hay thuộc tính trong luật chỉ liên quan đến mộtchiều thì đó là luật kết hợp đơn chiều (single-dimensional association rule).Luật (2.1) là luật kết hợp đơn chiều vì nó chỉ liên quan đến một chiều là
buys.
Nếu như mét luật liên quan đến nhiều chiều như age, income, buys trongluật (2.2) thì đó là luật kết hợp đa chiều (multidimensional association
rule).° Dựa trên mức độ triru tượng hóa (levels of abstractions) liênquan trong tập luật:
Giả sử có các luật kết hợp sau:
buys(X, “computer”)) —> buys(X, “HPprinter `) (2.3)buys(X, “laptop compufer ”)) —> buys(X, “HPprinter ”) (2.4)
Các phan tir trong luật (2.3) va (2.4) được tham chiếu (reference) bởinhiều mức độ trừu tượng khác nhau (ví dụ “computer” có mức độ trừutượng cao hon “laptop computer”) Các luật này là luật kết hop đa mức
(multilevel association rules).
Nếu các luật trong một tập mà không tham chiếu các phan tử hay thuộc
tính tại các mức trừu tượng khác nhau thì được gọi là luật kết hợp đơn mức
(single-level association rules).
° Dựa trên bản chất của sự kết hợp (nature of the association) liên
quan trong luật:
Phân tích các phan tử phô biến có thé sinh ra rat nhiều luật Các luật thỏamãn độ hỗ trợ tối thiêu và độ tin cậy tối thiểu gọi là luật kết hợp mạnh
(strong association rules).
Trang 20Tuy nhiên các luật này có thé dư thừa và không thé hiện mối quan hệtương quan giữa các tập phần tử Do đó các luật kết hợp mạnh này cầnđược mở rộng để đáp ứng các yêu cầu về sự tương quan thông kê(statistical correlations) dẫn đến các luật tương quan thống kê (correlation
rules).
Luật kết hợp định lượng [21, 43]Một thuộc tính có thể là định lượng (quantitative attributes) hoặc phân loại(categorical attributes) Thuộc tính định lượng là các thuộc tính số (numeric)và có thé sắp thứ tự giữa chúng, ví dụ tuôi, giá cả, cân nặng Thuộc tínhphân loại còn được gọi là thuộc tính tên (nominal attributes), ví dụ màu sắc,nghề nghiệp, học luc , không có thứ tự giữa các giá trị Thuộc tính luận lý(boolean atrributes) có thể xem là một trường hợp đặc biệt của thuộc tínhphân loại Ví dụ về luật kết hợp định lượng trong cơ sở đữ liệu nhân viên nhưsau:
{age[25, 40], gender[female]} => {salary[ 13500, 18700]} (supp = 0.03, conf = 0.8)
Luật trên có nghĩa là 3% (support) công nhân là nữ có tuôi từ 25 đến 40 vàcó thu nhập từ 13, 500 USD đến 18, 700 USD”, trong khi 80% (confidence)công nhân nữ tuôi từ 25 đến 40 đang kiếm được thu nhập từ 13, 500 USD đến
18,700 USD.
Như vậy bài toán khai phá luật kết hop định lượng có thé được phat biểunhư sau: cho trước một cơ sở dir liệu, độ hỗ trợ tôi thiểu minsup và độ tin cậytối thiểu minconf, tìm tat cả các luật kết hợp định lượng có độ hỗ trợ và độ tin
cậy thỏa mãn minsup và minconf.
Phương pháp phô biến dé giải quyết bài toán trên là chuyên về bài toán khaiphá luật kết hợp luận lý Cụ thể là đối với mỗi giá trị phân biệt (value) của
một thuộc tinh (attribute) định lượng hay phân loại, cặp (attribute, value) sẽđược ánh xạ sang một thuộc tính luận lý, và sau đó sử dụng các giải thuật khai
phá luật kết hợp luận lý để tiễn hành khai phá Tuy nhiên miền giá trị của cácthuộc tính trong nhiều trường hợp rất lớn và liên tục Do đó quá trình rời rạchóa (discretization) được tiễn hành đầu tiên dé chia miền giá trị của các thuộc
tính định lượng thành các khoảng (interval) Sau đó cặp (attribute, interval)
Trang 212.1.2 Khai phá luật kết hợpNhư đã dé cập ở chương 1, bài toán khai phá luật kết hợp được chia làm haibài toán con là (1) Khai phá tập phố bién và (2) khai phá luật kết hop từ cáctập pho biến Bài toán thứ hai có thé được giải quyết dé dàng như sau: giả sửta có Ly là tập phố biến, Ly = {xX , x¡ x.} tiến hành:
VX cL, kiểm tra độ tin cậy của luật LAY —>X có thỏa ngưỡng tin cậy tốithiểu cho trước hay không
Bài toán thứ nhất thường tốn nhiêu chi phí về thời gian và tài nguyên tínhtoán Nhiều thuật toán đã được đề xuất để tìm tập phan tử phố biến, có thé
chia các thuật toán này thành ba nhóm sau: (1) nhóm thuật toán tựa Apriori(Apriori-like), (2) nhóm thuật toán tựa FP-growth (frequent-pattern growth-based) và (3) nhóm thuật toán sử dụng định dang dữ liệu dọc (vertical dataformat).
Phan tiếp theo sé trình bay chi tiết thuật toán Apriori (nhóm tựa Apriori) vàEP-growth (nhóm tựa FP-growth) Điểm khác biệt giữa hai thuật toán hay hainhóm thuật toán này là thuật toán Apriori yêu cầu phát sinh tập ứng viên cònthuật toán FP-growth thì không yêu cau phát sinh tập ứng viên Và trong khiApriori thực hiện chiến thuật sinh và thử (generate-and-test) thì FP-growth lạinén cơ sở dữ liệu vào cấu trúc dữ liệu gọi là FP-tree (Frequent-Pattern tree)
Tuy nhiên hai thuật toán trên chỉ giải quyết được bài toán khai phá tập phốbiến trên cơ sở dữ liệu tĩnh Dé đáp ứng nhu cau khai phá tập phổ biến trên cơsở dữ liệu tăng trưởng thì năm 1996, Cheung ef al [23] đã đề xuất thuật toánFUP (Fast-Updated algorithm) Chi tiết thuật toán này được trình bày trongphân 2.4.1
2.2 Một số kiến thức co’ bản [13]Các khái niệm cơ bản [1,2,3,21]:T= {ij, ,i,f: tập n thuộc tính (item) phần biệt.X CT: tập thuộc tính hay một itemset Một itemset có k items gọi là k-itemset.
Trang 22D: CSDL giao dịch, mỗi giao dich (transaction) T (là một bản ghi — record)
thuộc D là một tập các thuộc tính thỏa mãn T €T và có dạng <TID, ¡;, ,/y>,
trong đó TID là định danh (identifier) duy nhất của một giao dịch nào đó.Cho CSDL giao dịch D và tập thuộc tính X €1 Độ hỗ trợ của X trong D, kíhiệu sup(X) (support(X) hoặc s(X)), được định nghĩa là tỷ lệ phan trăm cácgiao dịch hỗ trợ X trên tong các giao dịch có trong D
|7eD| XcT}|
(2.5)
D|
sup(X )= P,(X)=
Cho tập thuộc tính X CJ va một một ngưỡng hỗ trợ tối thiểu minsup €
(0,1] (được xác định bởi người sử dụng) Một itemset X được gọi là một fap
phổ biến (frequent itemset hoặc large itemset) với độ hỗ trợ tôi thiểu minsup
nêu và chỉ nêu sup(X) = minsup.
Trong các thuật toán chúng ta chỉ quan tâm các tập pho biến, còn các tậpkhông phô biến thì không đáng quan tâm
Một luật kết hợp là một quan hệ có dạng X Y trong đó X, Y Cl, va Xí)Y =@ Trong đó, X là tiền dé (antecedent), Y là hệ quả (consequent) của luật.Hai thông số quan trọng của luật kết hợp là độ hỗ trợ và độ tin cậy
Độ hỗ trợ (support) của luật kết hợp X > Y là tỷ lệ phần trăm giữa các giaodịch chứa X U Y và tông số các giao dịch trong CSDL
conf (X>Y)= p(YcI|XcI)= (2.7)
Trang 232.3 Các phương pháp khai phá tập pho biến trên CSDL tinh[13]2.3.1 Phuong phap Apriori
Apriori [19] là thuật toán khai thác luật kết hop do Rakesh Agrawal,Tomasz Imielinski, Anin Sawami đề xuất vào năm 1993, sau đó đượcAgrawal cải tiễn [32] bằng cách sử dung cấu trúc cây băm (hash-tree) dé lưutập ứng viên Thuật toán sinh tập ứng viên từ những tập phd biến ở bướctrước, sử dụng kỹ thuật tỉa (pruning) dé bỏ di tập ứng viên không thỏa mãnngưỡng hỗ trợ cho trước
Các ký hiệu được sử dụng trong thuật toán:
Ly = {ly l›, l;„ } tập các k-itemset phố biến
Cy = {C¡, C¿, , Ci, } tập các k-itemset Ứng viên, môi c; có 2 trườngitemset va count dùng dé chứa tập thuộc tính va độ phô biên cua tập thuộctính đó trong cơ sở đữ liệu.
Nội dung thuật toán
INPUT: tập các giao dịch D, ngưỡng hỗ trợ minsupOUTPUT: tập Answer gồm các tập pho biến trên D
Phương pháp:L¡ = {large 1-itemset};for (k = 2; Ly # Ø; k++) do beginC, = apriori_gen(L,.;); // sinh tap ứng viên mới Cỳforall giao dich t © D do begin
C, = subset(C;, 7); // các tập ứng viên chứa trong /forall tập mục ứng cử c C Œ, do
c.count++ ;
end ;l„ = {c C C¡ | c.count > minsup }
Trang 24end ;Answer=U , L;;
Thuật toán Apriori sử dung kỹ thuật lặp, nó sử dung k-itemsets dé tim(k+1)-itemsets Đầu tiên tìm tập I-itemset phố biến L; băng cách tính độ hỗtrợ của mỗi phần tử (item) và giữ lại các phần tử có độ hỗ trợ lớn hơn hoặcbăng minsup Trong các giai đoạn thứ k sau đó (k > 2), mỗi giai đoạn gdm có
Bước kết nỗi (Join step): Bước này kết nỗi các phan tử trong L;.; với nhau.Trong nay, giả sử rang các thuộc tính của các tập ứng viên đã được sắp xếptheo thứ tự từ điển Nếu có k-2 item dau tiên (gọi là phan tiền tố) của hai (k -1)-itemset J), 1, nào đó mà giống nhau thi ta khởi tạo một k-itemset ứng viêncho C, bằng cách lấy phân tiền tổ này hợp với 2 item thứ k- 7 cal; val (Cycó dạng là /;[I], /;[2] L[k-2], /,Ix-L] LIkK-1] ) Điều kiện 1,[k -7] < l›|& -7]nhăm đảm bảo không có hai itemset giống nhau được sinh ra
Bước cắt tỉa (Prune step): Trong bước này, ta cần loại bỏ tất cả các itemset ci € Ck mà tồn tại một (k-1)-itemset s,s C ci và s € Lk-1 Giải thíchđiều này như sau: một (k-1)-itemset s, s C ci và s € Lk-/ Khi đó, sup(s) <minsup vì s không phải là tập phố biến, mặt khác do ci D s nên sup(ci) <sup(s) < minsup Vậy ci không thé là tập pho biến, nó can được loại bỏ ra khỏi
k-Ck.Vi du 2.1: Cho co so đữ liệu giao dich D với 4 giao dich, I = {A, B, C, D,E, K} va minsup = 60%.
Trang 25{A} 100% | ứngviên {A,B} {A,B} 100%
{B} 100% Crt lL) - {A,D} Quét D- {A,D} 75%
{D} 75% {B,D} {B,D} 75%
Sinh tapứng viên C;
từ Ƒ¿
Lạ C;3-itemset Support Quét D 3-itemset
{A,B,D} 75% - {A,B,D}Hình 2 - 1 Ví dụ thuật toán Apriori
2.3.2 Phương pháp FP-tree:Apriori và các phương pháp tựa Apriori (Apriori -like) dựa trên đặc tinh
không đơn điệu của độ hỗ trợ (anti-monotone Apriori heuristic) dé giam kichthước tập ứng viên Tuy nhiên trong trường hợp số lượng tập ứng viên lớn,các tập phan tử dài hoặc độ hỗ trợ tối thiểu nhỏ thì các phương pháp tựaApriori sẽ tốn chi phí cao khi:
e Bung nô số lượng ứng viên khi phat sinh tập ứng viên Ví dụ nếu có 10°tập I-itemset thì thuật toán Apriori sẽ phải phát sinh hơn 10’ tập 2-itemset
ứng viên.
Trang 26e Quét CSDL nhiều lần để kiểm tra độ hỗ trợ của tập ứng viên theo cơchế so trùng mẫu (pattern matching) Rõ ràng khi số lượng tập ứng viên lớn,các giao dịch trong cơ sở dữ liệu dài thì việc này tốn chỉ phí rất lớn.
Dé khắc phục những nhược điểm của phương pháp Apriori thì Han etal.[36] đã đề xuất phương pháp FP-tree, phương pháp khai thác tập phổ biếnmà không cần phát sinh toàn bộ tập ứng viên Phương pháp này sẽ nén cácCSDL lớn vào một cấu trúc mới gọi là FP-tree (Frequent-Pattern tree), mởrộng của cau trúc cây tiền tố (prefix-tree) Câu trúc FP-tree:
e Có mật độ cao, nhưng hoàn thiện cho các mẫu khai thác phố biến.e Tránh được các chi phí khác phải bỏ ra khi quét CSDL nhiều lần.Tác giả còn đưa ra một phương pháp khai thác các mẫu phố biến hiệu quadựa trên cau trúc FP-tree gọi là FP-growth Phương pháp này sử dụng phươngthức “chia dé tri”, phân tích các tác vụ khai thác dữ liệu thành các tác vụ khácnhỏ hơn và tránh được việc phát sinh toàn bộ tập ứng viên Ưu điểm nổi bậccủa phương pháp FP-tree là chỉ quét dữ liệu 2 lần Ngoài ra nó còn có các ưu
Tuy nhiên bản thân phương pháp FP-tree và thuật toán khai thác tập phổ
biên trên câu trúc FP-tree cũng có những diém hạn chê:e Việc xây dựng cây FP-tree cho các CSDL lớn gặp khó khăn, không đủ
bộ nhớ dé lưu trữ.e Khi có những giao tác mới được thêm vào CSDL thi cây FP-tree canđược cập nhật như thé nao
Trang 27Thuật toán xây dựng cay FPFuntion createFPtree()INPUT: CSDL D chứa các giao dịch, ngưỡng minsup.OUTPUT: Cay FP-tree
Bước 1: Duyệt D và tính độ phô biến của các item Sắp xếp các item theo
thứ tự giảm dần độ phố biến, ta được tập kết quả L.Bước 2: Tạo nút gốc cho cây T, ký hiệu là root Duyệt D lần thứ 2 Ung với
mỗi giao tác trong D thực hiện 2 công việc sau:e Chon và sắp xếp những item pho biến theo thứ tự trong f list.e Giao dịch đang xét được ký hiệu như sau [plr list] gồm 2 phan, p làphan tử item đâu tiên và P là những item còn lại của giao dịch (không baogdm những item không thỏa ngưỡng phố biến) Gọi hàm insert tree([plr list]
root).Nội dung hàm insert_tree([p|r_list], Node)
Bước 1: Kiểm tra néu tồn tại nút con (child) được trỏ trực tiếp từ Node và
được gan nhãn là p.item-name (hay child.item-name=p.item-name) thì tăng
chỉ số đếm của nút child lên 1 Nếu không tôn tại thì tạo một nút con mới(child), khởi tạo chỉ số đêm của nút child này là 1, sau đó tạo các liên kết củanút child này với Node và ngược lại, liên kết với nút có cùng item-name
Bước 2: Kiểm tra nêu rlist chưa rỗng thì gọi ham insert tree(r list, child)
Trong quá trình xây dựng cây FP-tree một Header_Table được xây dựng
để giúp đỡ cho quá trình duyệt cây FP-tree Header_Table bao gồm các itemtrong tập large itemset cùng với tan số xuất hiện của các item đó trong CSDLvà một con trỏ (frequency head) dùng dé liên kết đến nút dau tiên có nhãntương ứng với item đó trong cây FP-tree Nếu nhiều hơn một nút có cùng mộtnhãn thì những nút đó sẽ được liên kết tuần tự với nhau Các nút trong câyEP-tree liên kết đơn với nhau
Ví dụ 2.2: Cho CSDL gồm 5 giao dịch như Bảng 2-1 và minsup=50%
Trang 28Bảng 2 - 1 CSDL ban đầu
TID Items100 a,c, d,f, ø,1,m,p200 a,b,c,f,l,m,o300 b,f,h,J,o400 b,c, k,s,p,w500 a,c,e,f,l,m,n,p
Trước tiên CSDL sẽ được quét dé tim ra tap large 1-itemset Tap tat cả cácitem trong CSDL cùng với tan số xuất hiện của chúng được thé hiện dưới
Bảng 2-2.
Bảng 2 - 2 Tap tat cả các item cùng với tan sô xuât hiệnItems Count Items CountA 3 j |B 3 k |C 4 | 2D | m 3E l n lF † oO 2G | p 3H l S lI l Ww l
Từ Bảng 2-2 ta tìm được tập large 1-itemset Lị = {a:3, b:3, c:4, f:4,p:3}.
Tiếp theo thì các item trong L¡ sẽ được sắp xếp theo thứ tự giảm dan của tansố xuất hiện, ta có tập L7; = {ƒ/:4, c:4, a:3, b:3, m3, p:3} Sau cùng các giaodịch trong CSDL sẽ được quét để xây dựng cây FP-tree Các giao dịch chỉchứa các item trong L; được thé hiện trên Bảng 2-3
Trang 29Bang 2 - 3 Các giao dịch chỉ chứa các frequent item đã được sắp xếp
TID Frequent item
200 f,c,a,b,m300 f,b
400 c,b,p500 f,c,a,m,p
Trong Bảng 2-3 thì giao dịch dau tiên là (f, c, a, m, p) Gốc của cây FP-treeban dau là rỗng Giao dịch nay sẽ được chèn vào cây FP-tree theo nhánh dautiên Mỗi nút trong nhánh này được khởi tạo chỉ số đếm là 1 Kết quả sau khigiao dịch đầu tiên được xử lý thé hiện trên Hình 2-2
G
ZZTID Frequent item f1
Hình 2 - 2 Cây FP-tree sau khi giao dich đầu tiên được xử ly
Giao dịch thứ 2 tiếp theo sẽ được xử lý Giao dịch thứ 2 có prefix (f, c, a)cùng với nhánh dau tiên trong cây FP-tree, nên chỉ số đếm của ƒ, c, a sẽ đượctăng lên 1 và một nút mới (0:7) sẽ được tao ra và liên kết đến nút cha (2:2).Bên cạnh đó thì một liên kết sẽ được tạo ra giữa 2 nút b và m Kết quả théhiện ra Hình 2-3 và tương tự thì cây FP-tree cuối cùng được xây dựng đượcthê hiện trên Hình 2-4
Trang 30Z: f:2TID Frequent item |100 f,c, a, f, m, p :
200 fc.abm ——> c2
300 fb a-2400 c,b, p T————_500 fc.a.mp m:1 b:1
Header Table eee let
Item frequency head ee a :f -. -. | ee pm c:3 ĐT | — >| b:1
TT» * : ` x
m_— >| p:2 m:1
Hinh 2 - 4 Cay FP-tree két qua
2.4 Khai phá luật kết hop gia tăng [13]:2.4.1 Thuật toán FUP
Thuật toán FUP (Fast-UPdate algorithm) do Cheung et al đề xuất năm
1996 [23] Thuật toán xử lý trường hop thêm giao dich mới vào CSDL.
Một số ký hiệu:
Trang 31DB :CSDL ban dau.L : tập hợp các tập phô biến trong CSDL ban dau.
L, : tập large k-itemset trong DB.
s :d6 hỗ trợ tối thiêu.D : số lượng các giao dịch trong DB.X.supportp : số lượng các giao dịch trong DB chứa X.X.supportg : sô lượng các giao dịch trong db chứa X.X.supportyp : số lượng các giao dịch trong DBY db chứa X.db : CSDL được thêm vào CSDL ban dau
d : số lượng các giao dịch trong db.L' _ : tập hop tập các phô biến trong CSDL DBU db
L', : tập large k-Itemset trong DBUdb
Một tập X là tập pho biến trong CSDL DBUdb nêu
X.support = s X (D+d)
Large Smallitemsets itemsetsLarge
itemsets
Small
| slemsets_
Trường hợp l Truong hợp 2 `
<
| Trường hợp 3 Trường hợp 4
Hình 2 - 5.4 trường hop xảy ra khi thêm mới giao dịch vào CSDL [23]
Nhu vậy sẽ có 4 trường hợp xảy ra khi thêm các giao dich mới vào CSDL.
Trường hợp 1: Một itemset là phô bién (large) trong CSDL ban đầu và
Trang 32trong các giao dịch được thêm vào.
Trường hop 2: Một itemset là phố biến (large) trong CSDL ban dau nhưnglà không phố biến (small) trong các giao dịch được thêm vào
Trường hop 3: Một itemset là không phô biến (small) trong CSDL ban daunhưng là phô bién (/arge) trong các giao dịch được thêm vào
Trường hop 4: Một itemset là không phô biến (small) trong CSDL ban đầu
và trong các giao dịch được thêm vào.
Nhận xét: Trường hợp 1 thì itemset đó vẫn sẽ phố biến trong CSDL saukhi được cập nhật, trường hợp 4 thì itemset đó vẫn sẽ không phô biến trong
CSDL sau khi được cập nhật, do đó trường hợp 1 và 4 sẽ không anh hưởng
đến kết quả của tập phô biến khai thác được Trường hợp 2 có thể sẽ loại bỏđi một số itemset đã tôn tại trong tập phố biến của CSDL gốc, còn trườnghợp 3 có thé sẽ b6 xung thêm một số itemset mới vào tập phô biến đã đượckhai thác Một thuật toán quản lý tốt tập phd biến đã được khai thác trongtrường hợp các giao dịch mới được thêm vào phải làm được một SỐ công việcsau.
1 Đánh giá xem các các itemset thuộc tập phố biến (large itemset) trongCSDL ban dau có còn phô bién (/arge) trong CSDL sau khi được cập nhật
trợ.
Bước 2: Trong khi quét db thì một tập hợp các ứng viên C;, sẽ được trích
xuất ra từ db cùng với độ độ hỗ trợ Độ hỗ trợ của các phan tử trong C; séđược cập nhật dựa vào DB để tìm ra tập các tập phố biến mới
Trang 33Bước 4: Kích thước của CSDL sau khi được cập nhật trong mỗi lần lặp sẽđược giảm xuống băng phép cắt tỉa dựa vào các item trong db.
2.3.1 Bước 1:
Bồ dé 1: Một 1-itemset X C L; là không phổ biến (¢ L1) trong CSDL
sau khi được cập nhật DBY db nếu và chỉ néu X.supportyp <s x (D+d)CM: Dựa vào định nghĩa độ hỗ trợ tối thiểu và định nghĩa large 1-
itemset.
Bồ dé 2: Một 1-itemset X € L¡ có thé trở thành phổ biến (winner haylarge itemset C L';) trong CSDL sau khi được cập nhật DBY db nếu và chỉnếu X.supporftr> sx d
Hình 2 - 6 Tiến trình thực hiện bước 1 trong thuật toán FUP
Mô tả chỉ tiết bước 1:
- Quét db,¥ Xe€ L¡, cập nhật X.supportyp, sau khi quét xong db thì Y X
= L¡ kiểm tra X.supportup < s* ( D +d) nếu X thỏa thì X là loser và loại X
Trang 34tìm thay trong C, với tập L¡ ta được tập L'.
Vi dụ 2.3: D= 1000, d= 100, s = 3 %, CSDL, có 4 items J), L, 13, [4lị, L,€ L với lị.supportp =32, lb.supportp =31 Gia su Ï¡.support¿ =4,l.suppori¿ =1 Sau khi quét db ta có [).supportyp = 36 > 1100 x 3 %,I,.supportyp = 32 < 1100 * 3 % vì vay 1›; là loser va bi loại khỏi L;, thêm L;vào L’,
Gia sử 73, 1,€ L, nhưng xuat hiện trong các giao dich trong db, nên ca J; và
1, có thé là những ứng viên tim an l„ le CŒ¡,1 3.supporty =6 , l.SMDDOTf¿ = 2,
vi l¿supporfạ< sX d=3%* 100 nên J, bị loại khỏi C;, gia su 13.supportp
= 28 nên J;.supportyp = 34> 1100 3 %suyral;© L’,
2.3.2 Bước 2:
Bồ dé 3: Nếu (k - 1)-itemset {X¿, , X¿.„} là không phổ biến (1oser) tại bước
lặp thứ (k - 7) (€ Ly; nhưng € /¿;), L một large k-itemset © L, chứa một
trong các itemset {X,, , X;;} thì không thé là phố biến (winner) trong bước
- Khởi tạo C; bang cách áp dung hàm appriori-gen [2] trên L'; C> sẽ khôngchứa các phân tử đã chứa trong L¿ Quét db dé tính độ hỗ trợ của các phan tửtrong C,,¥ X©& CG, néu X.supporty<s * d thì loại X ra khỏi C,
- Quét DB để cập nhật độ hỗ trợ của các phần tử còn lại trong C;,Y Xe C;nếu X.supportyp < sX (D +d) thì loại X là tập phố biến, ngược lại loại X ra
Trang 35Vi dụ 2.4: D = 1000, đ =100, s = 3%, CSDL có 4 items 1¡, bh, ?;, [4L, ={ 1, b, Is}, La = { Tih, bls} và h.supporfp = 50, bbl;.supportp = 31,
giả sử L= { I), b, 14} Trong lần lặp thứ 2 ta sẽ tìm L2Ta có: I; L¡ - L', nên ta loại LJ; ra khỏi Lạ Tién hành quét db, giả sử
l,l›.supporf¿ = 3 nên Ïl;1]›.supporfup = (3 + 50) > 3% * 1100 nên I,¿£ L’,
Áp dụng hàm appriori-gen trên L', ta được tập Cp = { Ib, Ly, bly} vì Lb
€ L; nên C; = { [ly bly} Quét db ta có: l,E,suppor†¿ = 2 < 3% * 100 nên
loại LJ, ra khỏi C; Sau đó ta tiến hành quét DB, giả sử 1,1¿.supporrp = 30 nên
l,l¿SupPporfup = 5 + 30 > 3% * 1100 nên T;1¿ được thêm vào L2
Ví dụ 2.5: Cho CSDL ban đầu như Bảng 2-4 Các giao dịch mới cần thêmvào được thể hiện trên Bảng 2-5 Tập large itemset được khai phá từ CSDLban đầu được thể hiện trên Bảng 2-6
Bảng 2 - 4 CSDL ban đầu [37]
Giao dịch ban đầu
TID Items100 ACD200 BCE300 ABCE400 ABE500 ABE600 ACD700 BCDE800 BCE
Bang 2 - 5 Các giao dich mới cần thêm vào [37]
Giao dịch mớiTID Items900 ABCD1000 DEF
Trang 36Bảng 2 - 6 Tập large itemset được khai thác từ CSDL ban dau [37]
Large itemsets1 item Count 2 item Count 3 item CountA 5 BC 4 BCE 4B 6 BE 6
C 6 CE +D 6
Kết luận:Bảng 2 - 7 Bốn trường hợp và kết quả xử lý của các thuật toán FUPTH: CSDL gốc — CSDL thêm vào Kết quả
sau khi quét lại và xử lý toàn bộ
CSDL gốc
Nhu vậy trong trường hợp thêm giao dịch mới vào CSDL thì thuật toán
FUP có thé giải quyết được trường hợp 1, 2 va 4 Còn trong trường hợp 3 thìFUP phải tiễn hành quét lại CSDL ban dau
Trang 37Trích xuất tập large 1-itemset từnhững giao dịch mới cân thé
New transactions
Tim tap candidate 1-itemset
TID Items
900 ABCD1000 DEF
Item Count
A 1B 1C 1D 2E 1F 1vao
Item Count
A 1B 1C 1E 1
Cập nhật đến độ hỗ trợ của taplarge 1-itemset| trong CSDL gốc
V
Item CountA 6B 7C 7E 7Tìm tập large
CSDL sau khi
1-itemset củathêm mới giao dịch
VItem Count
A 6B 7C 7E 7
>>
Trích xuất tập small 1-itemset từ
những giao dịch mới cân thêm vàoltemCount
21
Trích xuất tap large 1-itemsettrong những giao dịch mới cần
VItem Count
Item Count
A 6B 7C 7D 5E 7
Hình 2 - 7 Tiến trình tim tap prelarge va large 1-itemset [37]
Trang 382.5 Các độ do sự tương quan [1, 9, 21, 35]
Sau khi luật được rút ra, bước tiếp theo là chọn ra các quy tắc có ý nghĩa vàloại bỏ những quy tắc khác Độ hỗ trợ và độ tin cậy là hai độ do thông dungtrong khai phá luật kết hợp Tuy nhiên ngay cả khi một luật được khai phá vớiđộ hỗ trợ và độ tin cậy mạnh (strong support and confidence) vẫn có thê
không thú vị như ví dụ sau.Vi dụ 2.6:
Cho bảng tổng kết các giao dịch liên quan đến trò chơi máy tính (game) và
video như bảng 2-8.
Bảng 2 - 8 Bảng tổng kết giao dịch liên quan game và video [21]
game game Lrow
video 4,000 3,500 7,500video 2,000 500 2,500
Dol 6,000 4,000 10,000
Trong số 10 000 giao dich thi có 6000 giao dịch chứa game, 7500 giao dịchchứa video và 4000 giao dịch chứa cả game va video Giả sử rang độ tin cậytối thiểu là 60% Luật kết hợp sau được khai phá:
buys(X, “computer games”)) — buys(X, “videos” [support = 40%,confidence = 66%] (2.8)
Luật (2.8) là luật kết hợp mạnh vì độ tin cậy của nó thỏa mãn độ tin cậy tôithiểu Tuy nhiên có sự “nhằm lẫn” ở đây vì xác suất mua video là 75%, trongkhi xác suất mua video sau khi mua trò chơi máy tính chỉ 66% Hay nói cáchkhác, việc biết rằng một khách hàng mua trò chơi máy tính thật sự làm giảmxác suất người đó mua video từ 75% xuống 66%
Đề khắc phục những hạn chế của việc đánh giá sức mạnh của luật kết hợp
dựa trên độ hỗ trợ và độ tin cậy, một số độ đo khác cần được sử dụng để xácđịnh chất lượng của luật
Trang 39Một số định nghĩa liên quan đến độ đoĐộ đo đối xứng và không đối xứngMột độ đo M là đối xứng (symmetric) khi M(X—Y) = M(Y—>X) Ngược lạithì M là không đối xứng (asymmetric).
Ví du: support là độ đo đối xứng vì s(XY) = sup(Y—X) trong khiconfidence là độ đo không đôi xứng vì thường conf(X —>Y) khác conf(YX)
Tương quan nghịch và tương quan thuận
Hai thuộc tính X và Y là tương quan nghịch (negative correlation) nêu như
giá trị của thuộc tính này tăng trong khi giá trị của thuộc tính kia giảm và
ngược lại Điều đó có nghĩa là mỗi thuộc tính ngăn cản (discourage) thuộc
tính khác Ngược lại khi giá tri hai thuộc tính cùng tăng hay cùng giảm thìchúng tương quan thuận (positive correlation) với nhau.
Lift:Sự xuât hiện của itemset X độc lập với sự xuat hiện cua itemset Y nêuP(XIY) =P(X)P(Y) ngược lại chúng phụ thuộc và tương quan với nhau.
P(X)P(Y) — sup(Y)lift(X >Y )=
Lift là một độ đo đối xứng, tam tri trong khoảng [0,+œ) Giá tri lift nhỏ hơn 1 cho thay sự xuất hiện của X tương quan nghịch với sựxuất hiện của Y Trong khi đó nếu Jift lớn hon 1 thì X và Y là tương quanthuận hay sự xuất hiện của X sẽ kéo (imply) theo sự xuất hiện của Y Nếu liftbăng 1 thì X và Y không tương quan với nhau
Trang 40Quay lại với ví dụ 2.6, lift của luật (2.8) là 0.89 Vì giá tri này nhỏ hon 1
nên có sự tương quan nghịch giữa việc mua trò chơi máy tính và video Điềunày không thê nhận biết khi dùng độ hỗ trợ và độ tin cậy
Cosine:
P(XY) _ sup(X LY)J P(X ).P(Y) v|sup(X ).sup(Y)cosine(X >Y)= (2.10)
Cosine là độ do đôi xứng, tam trị trong khoảng [0,1].Cosine (X—>Y) càng gần Ithì càng nhiều giao dịch chứa X đồng thời chứa Yvà ngược lại Trong khi đó cosine (XY) càng gan 0 thì càng nhiều giao dịch
chứa X mà không chứa Y và ngược lại.
[X,Y |
vIXUYI
kích thước co sở dữ liệu và các giao dich không chứa X cũng như Y không
Lưu ý rằng cosine(X >Y)= , do đó cosine không phụ thuộc vào
ảnh hưởng đến kết quả cosine (XY)
Added valueAdded value của luật X>Y ký hiệu AV (X —Y) đánh gia xem liệu ti lệgiữa các giao dịch chứa Y với các giao dịch chứa X lớn hơn tỉ lệ giữa các giao
dịch chứa Y với tat cả các giao dịch hay không Do đó nếu xác suất tìm thay Ysau khi X được tìm thấy lớn hơn xác suất tìm thay Y trong tất cả các giao dịch
thì X và Y liên quan với nhau và X suy ra (imply) Y.
AV(X>Y)= P(Y|X)— P(Y)=conƒ(X-—»Y )— P(Y) (2.11)AV(X—Y) lớn hon 0 thì X và Y liên quan nhau, ngược lại thì sự xuất hiệncủa X làm cản trở sự xuất hiện của Y Added value có mối liên hệ gần gũi vớilift Khi added value bang 0 thi lift bang 1, added value dương thi lift lớn hon1 và khi added value âm thi lift nhỏ hơn 1 Hon nữa AV(X¥—Y) tiễn về 1 khilift(X—Y) tiễn tới vô định, và AV(X—Y) tiễn về -1 khi /ift(X—Y) tiến về 0