DANH MUC CAC KY HIEU VIET TAT Cụ Tap cac k-itemset ứng viên C, Tap các k-itemset ứng viên mà TID của giao dịch sinh ra liên kêt với tập mục ứng viên Conf Độ tin cậy Confidence CF
Trang 1ĐẠI HỌC THÁI NGUYÊN KHOA CÔNG NGHỆ THÔNG TIN
cg Leo
LE THI VIET HOA
KHAI PHA DU LIEU VA THUAT TOAN KHAI PHA
LUAT KET HOP SONG SONG
Chuyén nganh: KHOA HOC MAY TINH
LUAN VAN THAC SI CONG NGHE THONG TIN
Hướng dẫn khoa hoc: PGS.TS DOAN VAN BAN
Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Trang 2LOI CAM ON
Xin chân thành cảm ơn Thây giáo PGS.TS Đoàn Văn Ban đã tận tình
chỉ dạy và hướng dẫn tôi trong suốt thời gian học tập và làm luận văn
Tôi cũng xin xin lời biết ơn chân thành đến quý Thây giáo, cô giáo Viện Công nghệ Thông đã tận tình giảng dạy, trang bị cho tôi những kiến thức quý báu trong suốt quá trình học tập tại Khoa
Xin cảm ơn tất cả các anh chị em học viên Cao học khóa 5, cắm ơn cán
bộ công chức, giảng viên — Khoa Công nghệ Thông tin - Đại học Thái Nguyên
đã tạo điều kiện giúp đỡ tôi trong suốt quá trình học tập và làm luận văn
Cuối cùng xin cảm ơn gia đình, bạn bè, đồng nghiệp đã giúp đỡ tôi trong suốt thời gian học tập và hoàn thành luận văn này
Thái Nguyên, tháng 9 năm 2006
Tác giả
Lê Thị Việt Hoa
Trang 3LOI CAM DOAN
Tôi xin cam đoan đề tài khoa học “Khai phá dữ liệu và thuật toán khai
phá luật kết hợp song song” này là công trình nghiênứu của bản thân tôi
Các số liệu và kết quả nghiên cứu nêu trong luận văn này là trung thực, được các tác gl cho phép sử dụng và các tài liệu tham khảo như đã trình bày trong luận văn Tôi xin chịu trách nhiệm về luận văn của mình
Trang 41.2 Kiến trúc của một hệ thông khai phá dữ liệu
1.3 Các giai đoạn của quá trình khai phá dữ liệu
1.4 Một số kỹ thuật khai phá dữ liệu
1.5 Các cơ sở dữ liệu phục vụ cho khai phá dữ liệu
1.6 Các phương pháp chính trong khai phá dữ liệu
177 Các ứng dụng của khai phá dữ liệu
1.8 Khai phá dữ liệu và các lĩnh vực liên quan
1.9 Các thách thức trong phát hiện tri thức và khai phá dữ liệu
Trang 52.4 Khai phá luật kết hợp với một số khái niệm mở rộng
2.4.1 Giới thiệu
2.4.2 Khai phá luật kết hợp trọng số
2.4.3 Khai phá luật kết hợp tông quát
2.5 Kết luận chương 2
Chương 3: MỘT SÓ PHƯƠNG PHÁP KHAI PHÁ LUẬT KẾT HỢP
SONG SONG VA PHAN TICH DANH GIA CAC THUAT TOAN
3.1 Nguyên lý thiết kế thuật toán song song
3.2 Hư ớng tiếp cận chính trong thiết kế thuật toán khai phá luật kết hợp song song 3.2.1 Mô hình song song dỡ liệu
3.2.2 Mô hình song song thao tác
3.3 Một số thuật toán khai phá luật kết hợp song song
3.3.1 Thuat toan Count Distribution (CD)
3.3.2 Thuat toan Data Distribution (DD)
3.3.3 Thuat toan Candidate Distribution
3.3.4 Thuat toan song song Fp-Growth
3.3.5 Thuat toan song song Eclat
3.4 Phân tích, đánh giá và so sánh việc thực hiện thuật toán
3.4.1 Phân tích và đánh giá thuật toán song song
3.4.2 So sánh việc thực hiện các thuật toán
Trang 6DANH MUC CAC KY HIEU VIET TAT
Cụ Tap cac k-itemset ứng viên
C, Tap các k-itemset ứng viên mà TID của giao dịch sinh ra
liên kêt với tập mục ứng viên Conf Độ tin cậy (Confidence)
CFPT FP-Tree điêu kiện cơ sở (Fisst conditional FP-Tree)
D Cơ sở đữ liệu giao dịch
D, Phân thứ ¡ của cơ sở dữ liệu D
ltem Mục
Itemset Tap muc
I Tap cac muc
KDD Phat hiện tri thức trong co sé dir ligu (Knowledge Discovery
in Database) CSDL Co so dit ligu (Database)
k-itemset | Tập mục gôm k mục
Lx Tập các k-itemset phô biên
MPI Truyện thông điệp
minconf | Ngưỡng tin cậy tôi thiêu
minsup Ngưỡng hỗ trợ tôi thiểu
OLAP Phân tích trực tuyên
OLTP Xử lý giao dịch trực tuyên
SC Số dém hé tro (support count)
sup D6 hé tro (support)
T Giao dich (transaction)
Tid Dinh danh cua giao dich
Tid-List Danh sach cac dinh danh cua giao dich
X >Y Luat két hop (véi X là tiên đê, Y là hệ quả)
Trang 7
DANH MUC HINH VE VA BANG
Trang Hình 1.1 Khám phá tri thức trong cơ sở đữ liệu điển hình 3 Hình I.2 Các bước của quy trình khai phá dữ liệu 5
Hình 1.4: Mẫu kết quả của nhiệm vụ phân cụm đữ liệu 8
Hình 1.6: Một số lĩnh vực liên quan đến khai phá đữ liệu 14
Hình 2.1 Sơ đồ tông quan của thuật toán khai phá tập muc phé bién 24 Hình 2.2: Ví dụ thuật toán Apriori 28 Bang 2.1.a Thong tin cua một cửa hàng bán lẻ 33 Bang 2.1.b Tap giao dịch D của cửa hàng 33 Hinh 3.1 Mô hình song song đữ liệu 51 Hình 3.2 Mô hình song song thao tác 52
Hình 3.4 Phát hi én các tập mục phô biến bởi thuật toán song song CD 54
Hình 3.5 Sơ đồ mô tả thuật toán Data Distribution 55 Hình 3.6: Sơ đồ luồng thuật toán Data Distribution 56
Hình 3.7: Phat hi én cac tập mục pho biến bởi thuật toán song song DD 57 Hình 3.8: Các phân hoạch CSDL và các FP-Tree cục bộ ban đầu 61 Bảng 3.1: Các mẫu điều kiện cơ sở và các FP-Tree điều kiện cơ sở 62
Hình 3.9: Quá trình sinh tập phổ biến bởi 2 bộ xử lý P và P; 63
Hình 3.10: Quá trình chuyển đổi CSDL theo chiều dọc 70
Trang 8MO DAU
Với sự bùng nỗ và phát triển của công nghệ thông tin đã mang lại nhiều
hiệu quả đối với khoa học cũng như các hoạt động thực tẾ, trong đó khai phá dữ liệu là một lĩnh vực mang lại hiệu quả thiết thực cho con người Khai phá dữ liệu đã giúp người sử dụng thu được những tri thức hữu ích từ những cơ sở dữ
liệu hoặc các kho dữ liệu không lồ khác
Cơ sở dữ liệu trong các đơn vị, tô chức kinh doanh, quản lý khoa học chứa đựng nhiều thông tin tiềm ấn, phong phú và đa dạng, đòi hỏi phải có những phương pháp nhanh, phù lựp, chính xác, hiệu quả để lấy được những thông tin bố ích Những “ứr¡ thức” chiết suất từ nguồn cơ sở dữ liệu trên sẽ là nguồn thông tin hỗ trợ cho lãnh đạo trong việc lên kế hoạch hoạt động hoặc trong vệc ra quyết định sản xuất kinh doanh Tiến hành công việc như vậy chính là thực hiện quá trình phát hiện tri thức trong cơ sở dữ liệu (Knowledge Discovery in Database) mà trong đó lỹ thuật khai phá dữ liệu (Data Mininpg) cho phép phát hệện những tri thức tiềm ân Để lẫy được thông tin mang tính tri thức trong khối dữ liệu khống lồ, cần thiết phải phát triển các kỹ thuật có khả năng tích hợp các dữ liệu từ các hệ thống giao dịch khác nhau, chuyên chúng thành một tập hợp các cơ sở dữ liệu ổn định có chất lượng Các kỹ thuật như vậy được gọi là kỹ thuật tạo kho dữ liệu và môi trường các dữ liệu nhận được khi áp dụng các kỹ thuật tạo kho dữ liệu nói trên được gọi là kho dữ liệu (Data Warehouse) [19, 24]
Một trong các nội dung cơ bản nhất trong khai phá dữ liệu và rất phố biến
là phát hiện các luật kết hợp Phương pháp này nhăm tìm ra các tập thuộc tính thường xuất hiện đồng thời trong cơ sở dữ liệu và rút ra các luật về ảnh hưởng
của một tập thuộc tính dẫn đến sự xuất hiện của một (hoặc một tập) thuộc tính
khác như thế nào Bên cạnh đó, nhu cầu song song hóa và xử lý phân tán là rất
cần thiết hiện nay bởi kích thước lưu trữ dữ liệu ngày càng nhiêu nên đòi hỏi tốc
độ xử lý cũng như dung lượng bộ nhớ hệ thống phải đảm bảo Vì thế, yêu cầu
cần có những thuật toán song song hiệu quả cho việc phát hiện luật kết hợp
Ứng dụng khai phá dữ liệu đã mang lại những lợi ích to lớn trong việc tổng hợp và cung cấp những thông tin trong các nguồn cơ sở đữ liệu lớn Hơn
Trang 9thước dữ liệu lưu trữ ngày càng lớn nên đòi hỏi tốc độ xử lý cũng như dung
lượng bộ nhớ hệ thống phải đảm bảo Vì thế, yêu cầu cần có những thuật toán
song song hiệu quả cho luật kết hợp
Phương pháp nghiên ứu của luận văn là tông hợp các kết quả dự a trên các bài báo khoad‡c trong nột số hội thảo quốc tế và các bài báo chuyên
ngành, từ đó trình bày các van đề khai phá dữ liệu và xây dựng một số thuật
toán khai phá luật kết hợp song song
Nội dung luận văn được trình bày trong 3 chương và phân kết luận
Chương 1: Tổng quan về khai phá dữ liệu: Giới thiệu tổng quan về quá
trình khai phá đ liệu, kho đữ liệu và khai phá đữ liệu; kiến trúc của một hệ
thống khai phá đữ liệu; Nhiệm vụ chính và các phương pháp khai phá đữ liệu
Chương 2: Khai phá luật kết hợp song song: Chương này trì nh bày tống
quan về luật kết hợp; phát biểu bài toán khai phá dữ liệu, phát hiện luật kết hợp;
các khái nệm cơ bản luật kết hợp và các phương pháp khai phá luật kết hợp;
khai phá luật kết hợp với một số khái niệm mở rộng
Chương 3: Một số phương pháp khai phá luật kết hợp song song và phân tích đánh giá các thuật toán song song
Thái Nguyên 0] tháng 10 năm 2008
Tác giả
Lê Thị Việt Hoa
Trang 10Chương 1
TONG QUAN VE KHAI PHA DU LIEU
1.1 Khái niệm
Khai phá dữ liệu là một khái niệm ra đời vào những năm cuối của thập kỷ
80, nó là quá trình tìm kếm, khám phá d ưới nhiều góc độ khác nhau nhằm phát
hiện các mối liên hệ, quan hệ giữa các dữ liệu, đối tượng bên trong CSDL, kết
quả của việc khai phá là xác định các mẫu hay các mô hình tồn tại bên trong
nhưng chúng nằm ân ở các CSDL [3] Về bản chất nó là giai đoạn duy nhất rút trích và tìm ra được các mẫu, các mô hình hay thông tin mới, tri thức tiềm ân có trong CSDL chủ yếu phục vụ cho mô tả và dự đoán Đây là giai đoạn quan trọng nhất trong quá trình phát hiện tri thức từ CSDL, các tri thức này hỗ trợ trong việc
ra quyết định, điều hành trong khoa học và kinh doanh
Khai phá đữ liệu là tiễn trình khám phá tri thức tiềm ân trong các CSDL,
cụ thể hơn, đó là tiễn trình lọc, sản sinh những tri thức hoặc các mẫu tiềm ấn,
chưa biết những thông tin hữu ích từ các CSDL lớn
1.2 Kiến trúc của một hệ thống khai phá dữ liệu
Khai phá d ữ liệu là quá trình rút trích thông tin bố ích từnhững kho dữ liệu lớn
Khai phá d ữ liệu là quárình chính trong khai phá tith ức từ cđữ liệu
Kiến trúc của một hệ thống khai phá đữ liệu có các thành [2] phan như sau:
Trang 11
e CSDL, kho dữ liệu hoặc lưu trữ thông tm khác: Đây là một hay các tập CSDL, các khi dữ liệu, các trang tính hay các dạng khác của thông tim được lưu trữ
Các kỹ thuật làm sách đữ liệu và tích hợp dữ liệu có thê được thực hiện
e May chi CSDL (Database or Warehouse Server): May cm c6 trach
nhiệm lấy những đữ liệu thích hợp dựa trên những yêu cầu khám phá của người
dùng
e Cơ sở tri thức (Knowledge-base): Đây là mền tri thức dùng để tìm kiếm hay đánh giá đ quan trọng của các mẫu kết quả thu được Tri thức này có thể bao gồm một sự phân cấp khái niệm dùng để tổ chức các thuộc tính hay các giá trị thuộc tính ở các mức trừu tượng khác nhau
e May khai pha dt ligu (Data mining engine): là một hệ thong khai pha
dữ liệu cần phải có một tập các Modul chức năng đê thực hiện công việc, chăng hạn như kết hợp, phân lớp, phân cụm
e Modul danh gid niu ( Pattern evaluation): BO phan tuong tac véi cdc Modul khai pha dir liéu dé tập trung vào việc duyệt tìm các mẫu đáng được quan tâm Nó có thê dùng các ngưỡng về độ quan tâm để lọc mẫu đã khám phá được
Cũng có thể Modul đánh giá nẫu được tích hợp vào Modul khai phá đ liệu,
tùy theo cách cài đặt của phương pháp khai phá dữ liệu được dùng
e Giao diện đồ họa cho người dùng (Graphical user inferface) Bộ phận này cho phép người dùng giao tiếp với hệ thống khai phá dữ liệu Thông qua giao diện này người dùng tương tác với hệ thống bằng cách đặc tả một yêu cầu khai phá hay nột nhiệm vụ, c ung cấp thông tin trợ giúp cho việc tìm kiếm và thực hiện khai phá thăm dò trên các kết quả khai phá trung gian Ngoài ra bộ phận này còn cho phép người dùng xem các lược đồ CSDL, lược đồ kho đữ liệu,
các đánh giá mẫu và hiên thị các mẫu trong các khuôn dạng khác nhau
1.3 Các giai đo ạn của quá trình khai phá dữ liệu
Các thuật toán khai phá dữ liệu thường được mô tả như những chương trình hoạt động trực tiếp trên tệp dữ liệu Với các phương pháp học máy và
thống kê trước đây, bước đầu tiên là thuật toán thường nạp toàn bộ tệp (file) đữ
liệu vào trong bộ nhớ Khi chuyên sang các ứng dụng công nghiệp liên quan đến việc khai phá các kho dữ liệu lớn, mô hình này không thê đáp ứng được Không
Trang 12chỉ bởi nó không thé nap hết dữ liệu vào trong bộ nhớ mà còn khó có thê chiết
xuất dữ liệu ra các tệp đơn giản để phân tích
Thống kê tóm tắt
nhiệm liệu liên xu ly dir đữ liệu x
vu quan ligu Mau
Hình I.2 Các bước của quy trình kha1 phá dữ liệu
Quá trình xử lý khai phá dữ liệu bắt đầu bằng việc xác định chính xác vẫn
đề cần giải quyết Sau đó sẽ xác định dữ liệu liên quan dùng để xây dựng giải pháp Tiếp theo là thu thập đữ liệu có liên quan và xử lý chúng thành dạng sao cho thuật toán khai phá dữ liệu có thê hiểu được
Quá trình khai phá dt liệu [2] trai qua ba bước:
Bước một: Lọc dữ liệu được thực hiện trong quá trình tiền xử lý Công
việc đầu tiên là tích hợp và chỉnh sửa dữ liệu Khi dữ liệu được thu thập từ nhiều
nguồn khác nhau nên có thể có những sự sai sót, dư thừa và trùng lặp Lọc dữ liệu là cát bỏ những dư thừa để dữ liệu được định dạng thống nhất Dữ liệu sau khi lọc và chính sửa sẽ nhỏ hơn, xử lý nhanh chóng hơn
Ví dụ, trong bài toán tìm quy luật mua hàng của khách hàng trong một siêu thị, ta tìm xem khách hàng thường cùng mua những mặt hàng nào để sắp xếp những món hàng đó gần nhau Từ dữ liệu nguồn do siêu thị cung cấp, có thê
có nhiều thuộc tính không cân thiết cho khai phá dữ liệu như: Mã khách hàng, nhà cung cấp, đơn giá hàng, người bán hàng Các dữ liệu này cần cho quản lý bán hàng nhưng không an cho khai phá dữ liệu, ta loại bỏ các thuộc tính này
khỏi dữ liệu trước khi khai phá dữ liệu
Bước hai: Khai phá đĩ liệu, là công việc chính, sử dụng các thuật toán
khác nhau để khai phá các kiến thức tiềm ấn trong đữ liệu
Trang 13Bước ba: Sau xử lý, là quá trình ước lượng kết quả khai phá theo yêu cầu
của người dùng Nhiều kỹ thuật khai phá đữ liệu được ứng dụng cho một nguồn đữ
liệu, các kỹ thuật cho các kết quả có thê khác nhau Các kết quả được ước lượng bởi những quy tắc nào đó, nếu cuối cùng kết quả không thỏa mãn yêu câu, chúng ta
phải làm lại với kỹ thuật khác cho đến khi có kết quả mong muốn
1.4 Một số kỹ thuật khai phá dữ liệu
Mục đích của khai phá dữ liệu là chiết xuất ra các tri thức có lợi cho kinh doanh hay cho nghiên đu khoa học Do đó, ta có thể xem mục đích của khai phá đữ liệu sẽ là mô tả các sự kiện và dự đoán Các mẫu khai phá dữ liệu phát hiện được nhằm vào mục đích này Dự đoán liên quan đến việc sử dụng các biến hoặc các đối tượng (bản ghi) trong CSDL để chiết xuất ra các mẫu, dự đoán được những giá trị chưa biết hoặc những giá trị tương lai của các biến đáng quan tâm Mô tả tập trung vào việc tìm kiếm các mẫu mô tả dữ liệu mà con người có
lớp để dự đoán giá tri bị mất tại một số thuộc tính của dữ liệu hay tiên đoán giá
trị của dữ liệu sẽ xuất hiện trong tương lai
Quá trình phần p dữ li ệu được thực hiện qua hai bước Bước thir nhất: Dựa vào tập hợp dữ liệu huấn luyện, xây dựng một mô hình mô tả những đặc trưng của những lớp dữ liệu hoặc những khái niệm, đây là quá trình học có giám
sát, học theo mẫu được cung cấp trước Bước /ứ hai: Từ những lớp dữ liệu
hoặc những khái niệm đã được xác định trước, dự đoán giá trị của những đối tượng quan tâm
Trang 14Một kỹ thuật phân lớp dữ liệu được Han và Kamber đưa ra là cây quyết định
Mỗi nút của cây đại diện một quyết định dựa vào giá trị thuộc tính tương ứng Kỹ
thuật này đã được nhiều tác giả nghiên cứu và đưa ra nhiều thuật toán
Một ví dụ tiêu biểu về cây quyết định:
ta có thê dự đoán việc có thê mua một laptop hay không dựa vào những thuộc tính khách hàng rứi là tuổi và nghề nghiệp Cây quyết định có thể ứng dụng rộng rãi trong nhiều hoạt động của đời sống thực
Phân nhóm đữ liệu [13, 24]
Phân nhóm là thuật khai phá dữ liệu tương tự như phân lớp dữ liệu Tuy nhiên, sự phân nhóm đữ liệu là quá trình học không được giám sát, là quá trình nhóm niữn g đối tượng vào trong những lớp tương đương, đến những đối tượng trong một nhóm là tương đương nhau, chúng phải khác với những đối tượng trong những nhóm khác Trong phân lớp dữ liệu, một bản ghi thuộc về lớp nào là phải xác định trước, trong khi phân nhóm không xác ẩnh trước Trong phân nhóm, những đối tượng được nhóm lại cùng nhau dựa vào sự giỗng nhau của chúng Sự giống nhau giữa những đối tượng được xác định bởi những chức năng giống nhau Thông thường những sự giống nhau về định lượng như khoảng cách hoặc độ đo khác được xác định bởi những chuyên gia trong lĩnh vực của mình
Trang 15Hình 1.4: Mẫu kết quả của nhiệm vu phan cum đữ liệu
Đa sÕ các ứng dụng phân nhóm được sử dụng trong sự phân chia thị trường Với sự phân nhóm khách hàng vào trong từng nhóm, những doanh nghiệp
có thể cung cấp những dịch vụ khác nhau tới nhóm khách hàng một cách thuận
lợi Ví dụ, dựa vào chỉ tiêu, số tiền trong tài khoản và việc rút tiền của khách hàng, một ngân hàng có thể xếp những khách hàng vào những nhóm khác nhau Với mỗi nhóm, ngân hàng có thể cho vay những khoản tiên tương ứng cho việc mua nhà, mua xe, Trong trừng hợp này ngân hàng có thể cung cấp những dịch vụ tốt hơn, và cũng chắc chắn rằng tất cả các khoản tiền cho vay đều có thê
thu hồi được Ta có thê tham khảo một khảo sát toàn diện về kỹ thuật và thuật
toán phân nhóm trong
Hồi qui (Regression): Là việc học một hàm ánh xạ từ một tập dữ liệu thành một biến dự đoán có giá tr thực Nhiệm vụ hồi qui tuong tu nhu phân lớp, diém
khác nhau chính là ở chỗ thuộc tính đề dự báo là liên tục chứ không rời rac [13,
23] Việc dự báo các giá trị số thường được làm bởi các phương pháp thống kê
cô điểm chẳng hạn như hồi qui tuyến tính Tuy nhiên, phương pháp mô hình hóa cũng được sử dụng [13, 24]
Hình 1.5: Mẫu kết quả của nhiệm vụ hồi quy
Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Trang 16Ứng dụng của hồi quy là rất nhiều, ví dụ: dự đoán số lượng sinh vật phát quang hiện thời trong khi rừng bằng cách dò tìm vi sóng lăng thiết bị cảm bién
từ xa; dự đoán khả năng tử vong của bệnh nhân khi biết các kết quả xét nghiệm chuẩn đoán; dự đoán nhu cầu tiêu thụ một sản pham moi bang mot ham chi tiéu quảng cáo hình 1.5 chỉ ra mẫu kết quả hồi quy tuyến tính đơn giản, ở đây tông
số nợ được điều chỉnh cho phù hợp giống như một hàm thu nhập tuyến tính Việc điều chỉnh này là không đáng kết bởi vì chỉ tồn tại một tương quan yếu giữa hai biến
Tổng hợp (summarization): Là công vệc liên quan đến các phương pháp tìm kiếm một mô tả cô đọng cho tập con dữ liệu [23, 24] Các lỹ thuật tổng hợp thường được áp dụng trong việc phân tích dữ liệu có tính thăm dò và báo cáo tự động
Mô hình hóa phụ thuộc (dependency modeling): Là việc tìm kiếm mô hình mô
tả các phụ thuộc quan trọng giữa các biến Mô hình phụ thuộc tôn tại ở hai mức:
® Mức cấu trúc của mô hình (thường dưới dạng đồ thị) xác định các biến phụ thuộc cục bộ vào các biến khác; @ Mức định lượng của mô hình xác định mức
độ phụ thuộc của các biến [13, 24] Những phụ thuộc này thường được biểu thị dưới dạng luật
Quan hệ phụ thuộc cũng có thể biểu diễn dưới dạng mạng tin cậy [24]
Đó là đồ thị có hướng không có dạng chu trình, các nút biểu diễn thuộc tính và trọng số chỉ liên kết phụ thuộc giữa các nút đó
Phát hiện sự thay đổi và độ lệch (change and deviation dectection): Nhiệm vu này tập trung vào khám phá những thay đối có ý nghĩa trong dữ liệu dựa vào các giá trị chuẩn hay độ đo đã bẾt trước, phát hiện độ lệch đáng kế giữa nội dung của tập con dữ liệu và nội dung mong đợi Hai mô hình độ lệch thường dùng là lệch theo thời gian và lệch theo nhóm Độ lệch theo thời gian là sự thay đổi có nghĩa của dữ liệu theo thời gian Độ lệch theo nhóm là tr khác nhau giữa dữ liệu trong hai tập con đữ liệu, tính cả trường hợp tập con của đối tượng này thuộc tập con kia, nghĩa là xác định dữ liệu trong một nhóm con của đối tượng
có khác nhau đáng kế so với toàn bộ đối tượng [13, 24]
Trang 171.5 Các cơ sở dữ liệu phục vụ cho khai phá dữ liệu
Dựa vào những kiểu đữ liệu mà kỹ thuật khai phá áp dụng, có thê chia dữ
liệu thành các loại khác nhau
Cơ sở dữ liệu quan hệ
Đến nay, hầu hết dữ liệu được lưu giữ dưới dạng cơ sở dữ liệu quan hệ
Cơ sở dữ liệu quan hệ là một nguồn tài nguyên lớn nhất chứa những đối tượng
mà chúng ta dn khai phá Cơ sở dữ liệu quan hệ có cầu trúc cao, đữ liệu được
mô tả bởi một tập những thuộc tính và lưu trong những bảng Khai phá đữ liệu
trên cơ sở dữ liệu quan hệ chủ yếu tập trung khai phá mẫu Ví dụ, trong cơ sở dữ
liệu của một ngân hàng, ta có thê tìm được những khách hàng có mức chỉ tiêu cao, ta có thê phân loại những khách hàng này dựa vào quá trình chỉ tiêu của họ Cũng với việc phân tích những mục chỉ tiêu của khách hàng, ching ta co tk cung cấp một số thông tin của khách hàng đến những doanh nghiệp khác Giả sử
rằng một khách hàng chỉ mỗi tháng 500 đô la cho thời trang, nếu được phép,
ngân hàng có tÉÊ cung cấp thông tin về khách hàng này cho những cửa hàng thời trang
Cơ sở dữ liệu giao tác
Cơ sở dữ liệu giao tác là tập hợp những bản ghi giao dịch, trong đa số các trường hợp chúng là những bản ghi các dữ liệu hoạt động của doanh nghiệp, tô
chức Với tính phô biến của máy tính và thương mại điện tử, ngày nay có rất
nhiều cơ ở dữ liệu giao tác Khai phá dữ liệu trên cơ sở dữ liệu giao tác tập trung vào khai phá lật kết hợp, tìm mối tương quan giữa những mục đữ liệu
của bản ghi giao dịch Nghiên cứu sâu về cơ sở đữ liệu giao tác được mô tả chỉ
tiệt ở phan sau
Cơ sở dữ liệu không gian
Cơ sở dữ liệu không gian bao gồm hai phân: Phần thứ nhất là dữ liệu quan hệ hay giao tác, phần thứ hai là thông tin định vị hoặc thông tin địa lý
Những luật kết hợp trên cơ sở dữ liệu không gian mô tả mối quan hệ giữa các
đặc trưng trong cơ sở đữ liệu không gian Dạng của luật kết hợp không gian có dang X => Y, wi X, Y 1a tap hợp những vị từ không gian Những thuật toán
Trang 18khai phá luật kết hợp không gian tương tự như khai phá luật kết hợp nhưng thêm những vị từ về không gian
Cơ sở dữ liệu có yếu tố thời gian
Giống như cơ sở dữ liệu không gian, cơ sở dữ liệu có yếu tô thời gian bao gôm hai phân: Phần thứ nhất là dữ liệu quan hệ hay giao tác, phần thứ hai là
thông tin về thời gian xuất hiện dữ liệu ở phần thứ nhất Những luật kết hợp có
yếu tô thời gian có nhiều thông tin hơn những luật kết hợp cơ bản VÍ dụ, từ luật kết hợp cơ bản {Bia} — {Thuốc lá}, với dữ liệu có yếu tố thời gian chúng ta có
thể có nhiều luật: Độ hỗ trợ của luật {Bia} — {Thuốc lá} là 20% từ 9 giờ đến
13 giờ, là 50% trong thời gian 19 giờ tới 22 giờ Rõ ràng rằng, những người bán
lẻ có thể xác định chiến lược đề buôn bán tốt hơn
Hầu hết nghiên cứu về lĩnh vực này ngày nay hình thành một hướng khai phá dữ liệu mới gọi là khai phá mẫu lặp liên tục, khai phá tập mục dữ liệu thường xuyên trong cơ sở dữ liệu thời gian
Cơ sở dữ liệu đa phương tiện
Số lượng trang web đang bùng nổ trên thế giới, web có mặt ở khắp mọi nơi, duyệt web đã là nhu cầu của mọi tầng lớp trong xã hội Thông tin trên web đang phát triển với tốc độ rất cao, khai phá thông tin trên web (web mining)đ ã trở thành một lĩnh vực nghiên cứu chính của khai phá dữ liệu, được các nhà nghiên cứu đặc biệt quan tâm Khai phá d ữ liệu web thông thường được chia thành ba phạm trù chính: Khai phá cách dùng web (web usage mining), khai phá c ấu tric web (web structure mining) va khai pha n 6i dung web (web content mining)
Khai phá cách dùng web ập trung vào việc khai phá thông tin của người truy nhập web Với những thông tin này người khai phá dữ liệu có thê cung cấp những thông tIn hữu ích cho người dùng và các nhà kinh doanh
1.6 Các phương pháp chính trong khai phá d ữ liệu
e Phan lớp và dự đoán (Classjfication & Prediction)
Xếp một đối tượng vào một trong những lớp đa biết Ví dụ : phân Ép vùng địa ly theo đữ liệu thời tiết Đối với hướng tiếp cận này thường áp dụng một số kỹ thuật như học máy (Machine learning), cây quyết định (Decision
Trang 19tree), mạng nơron nhân tạo (Neural network) Với hướng này, người ta còn gọi
là học có giám sát hạy học có thây (Supervised learning)
e Phân cum va phan doan (Clusterring and Segmentation)
Sắp xếp các đối tượng theo từng cụm (số lượng và tên của cụm chưa
được biết trước) Các đối tượng được gom cụm sao cho mức độ tương tự giữa
các đối tượng trong cùng một cụm là lớn nhất và mức độ tương tự giữa các đôi tượng nằm trong các cụm khác nhau là nhỏ nhất Lớp bài toán phân cụm còn được gọi là học không giám sát hạy học không thây
e Luật kết hợp (Associafion rules)
Luật kết hợp là dạng luật biểu diễn tri thức ở dạng khá đơn giản Mục tiêu
của phương pháp này là phát hện và đưa ra các mối liên hệ giữa các giá trị dữ
liệu trong cơ sở dữ liệu Mẫu đầu của giải thuật khai phá dữ liệu là tập luật kết
hợp tìm được
Ví dụ về luật kết hợp: Một cửa hàng bán văn phòng phẩm đăng thông tin quảng cáo mỗi tuần trên một tờ báo địa phương Khi một mặt hàng, chăng hạn như mc in đã được chỉ định bản giảm giá, người bán hàng xác định các mặt hàng khác nào :ẽ được mua cùng lúc với zmực in Họ thấy rằng giấy A4 và mực
in được khách hàng mua cùng chiếm 30% và kẹp giấy được mua kèm với mực
¡n là 40% Dựa vào các mối quan hệ này, người bán hàng bày bán giấy 44 và
kẹp giấy gần với mặt hàng mực in khi bán gm giá Họ cũng quyết định không
đưa các mặt hàng này vào danh sách các mặt hàng giảm giá Các hành động này nhằm mục đích tăng thêm toàn bộ khối lượng hàng bán ra bởi việc bán các mặt hàng mua myc in
Có 2 luật kết hợp được đề cập ở ví dụ trên Luật thứ nhất là: “30% khách
hàng mua mực in lẫn giấy A4 ” Luật thứ hai là: “40% khách hàng khi mua mực
in thi ding mua ke p giấy” Các luậ t kết hợp này thường được sử dụtg bởi các cửa hàng bán lẻ để phân tích các giao dịch của cửa hàng Đối với người quan lý kinh doanh, các lệ t kết hợp được phát hiện có thé duoc dung trong chién dich
Trang 20quảng cáo, tiếp thị, quản lý hàng tồn kho và dự trữ hàng Các luật kết hợp cũng
được sử dụng cho các ứng dụng khác như dự đoán lỗi, cho các mạng điện thoại
bằng việc xác định các sự kiện xuất hiện trước đó
e Khai pha chudi theo thoi gian (Sequential temporal patterns)
Cũng tương tự như khai phá dữ liệu băng luật kết hợp nhưng có thêm tính thứ tự và tính thời gian Hướng tiếp cận này được ứng dụng nhiều trong lĩnh vực tài chính và thị trường chứng khoán bởi vì chúng có tính dự báo cao
e Mô tả khái niệm và tổng hợp hóa (Summarization)
Liên quan đến các phương pháp ìm kiếm một mô tả cho một tập con dữ
liệu Các kỹ thuật toán tắt thường được áp dụng cho các phân tích dữ liệu tương
tác có tính thăm dò và tạo báo cáo tự động
1.7 Các ứng dụng của khai phá dữ liệu
Khai phá dữ liệu tuy là một lĩnh vực mới nhưng đã thu hút được sự quan tâm của rât nhiều nhà nghiên cứu, nhờ có nhiều những ứng dụng trong thực tiễn, các ứng dụng điển hình, có thé liệt kê như sau:
- Phân tích dữ liệu và hỗ trợ ra quyét dinh (Analysis & decition support)
- Điều trị trong y học (Medical): mối liên hệ giữa triệu chứng, chuẩn đoán
và phương pháp điều trị (chế độ dinh đưỡng, thuốc men, phẫu thuật)
- Phân p văn bản, tóm tắt văn bản và phân lớp cdc trang Web (Text mining & Web mining)
- Tin sinh học (Bio-informatics): Tìm kiếm, đối sánh các hệ gen và thông tin đi truyền, môi liên hệ ø1ữa một số hệ øen và một số bệnh di truyền
- Nhận dạng
- Tai chinh va th truong chung khoan (Finance & stock market): Phan
tích tình hình tài chính và dự đoán giá cô phiếu
- Bảo hiểm (Insurance)
- Giáo dục (Education)
Trang 211.8 Khai phá dữ liệu và các lĩnh vực liên quan
| a tuệ nhân tạo
Thương mại >| Khai pha dir ligu | Tai chinh,
LO K Ầ "SẺ ngân hàng
Gido dục Cac nganh
khoa hoc khac
Hình 1.6: Một số lĩnh vực liên quan đến khai phá dữ liệu
Phát hến tri thức và khai phá dữ liệu được coI là trung tâm của nhiều ngành khoa lọc, nó liên quan đến rất nhiều ngành, nhều lĩnh vực khác nhau như tài chính, ngân hàng, thương mại, y tế, giáo dục, thống kê, máy móc, trí tuệ nhân tạo, cơ sở đữ liệu, thuật toán học, tính toán song song, thu nhận tri thức trong các hệ chuyên gia, quan sát dữ liệu
Lĩnh vực học máy và nhận dạng mẫu là giống nhau trong khai phá dữ liệu nghiên cứu các lý thuyết và thuật toán của hệ thống trích ra các mẫu và mô hình
dữ liệu Khai phá dữ liệu tập trung vào việc mở rộng các lý thuyết và thuật toán
cho các vẫn đê về tìm ra các mẫu đặc biệt, đây được coi là những mẫu hữu ích
hoặc tri thức quan trọng tập dữ liệu lớn
Đặc biệt, phát hiện tri thức và khai phá dữ liệu rat gan gũi với lĩnh vực
thống kê, sử dụng các phương pháp thống kê để mô hình dữ liệu và phát hiện
các mẫu, luật , kho dữ liệu và các công œ xử lý trực tuyến (OLAP - online
analytical processing) ập trung vào phân tích đữ liệu đa chiều, tốt hon SQL trong tính toán và phân tích thống kê đa chiều cũng liên quan chặt chẽ đến khai phá dữ liệu
Đặc trưng của hệ thống khai phá dữ liệu là nhờ vào các phương pháp thuật toán và kỹ thuật từ những lĩnh vực khác nhau, nhằm mục đích cuối cùng là
trích ra tri thức từ đữ liệu trong CSDL không lồ
Trang 221.9 Các thách thức trong phát hiện tri thức và khai phá dữ liệu
Khai phá đữ liệu ngày càng đóng một vai trò quan trọng trong việc tìm ra các tri thức thực sự có ích, hiệu quả tiềm ấn trong các khối đữ liệu thông tin khống lồ vẫn hàng ngày đang được thu thập, lưu trữ để giúp các cá nhân và tô chức đưa ra được các quyết định chính xác và nhanh chóng Tuy đã có rất nhiều các giải pháp và phương pháp được ứng dụng trong khai phá dữ liệu nhưng trên thực tế quá trình này vẫn gặp không ít khó khăn và thách thức như:
- - Cơ sở đữ liệu lớn
- _ Số chiều các thuộc tính lớn
- Thay đổi dữ liệu và tri thức có thể làm cho các mẫu đã phát hện
không còn phù hợp
- _ Dữ liệu bị thiếu hoặc bị nhiễu
- Quan hệ giữa các trường phức tạp
- _ Giao tiếp với người sử dụng và kết hợp với các tri thức đã có
- _ Tích hợp với các hệ thống khác
Cơ sở dữ liệu lớn có thể lớn về số lượng các bản phi, lớn về số lượng các thuộc tính trong CSDL Số lượng các bản ghi trong CSDL lớn có khi dung lượng tới hàng gigabyte, terabyte; số các thuộc tính trong CSDL có thê rất nhiều
và đa dạng Đề giải quyết vẫn đề này, người ta thường đưa ra một ngưỡng nào
đó cho CSDL băng các cách như chiết xuất mẫu, xấp xỉ hoặc xử lý song song
Trong CSDL khi mà ố các thuộc tính là rất lớn , cùng với số lượng lớn các bản ghi sẽ dẫn đến kích thước độ phức tạp của bài toán tăng lên Vì vậy, không gian tim kim, không gian trạng thái gia tăng, n hiều mẫu hay mô hình thừa, trùng lặp phát sinh nhiều luật thừa, đây được coi là van dé nan giai trong qué trinh khai pha & liéu Nham giải quyết được những vẫn để trên , phải sử dụng một số các tri thức đã biết trước để loại bỏ và trích lọc ra những dữ liệu thích hợp với yêu câu của bài toán
Trang 23Van dé đữ liệu bị thay đôi phụ thuộc theo thời gian, có nghĩa là dữ liệu bị
ảnh hưởng và phụ thuộc vào thời điểm quan sát, lẫy mẫu, thời điểm khai phá
Kết quả đạt được sau khai phá cũng gây không ít khó khăn cho khai phá đữ liệu,
như các mẫu được khai phá ở bước trước, có thê không còn giá trị hay vô nghĩa
đối với thời điểm sử dụng, hoặc có thể làm nhiễu hay phát sinh hiệu ứng phụ
làm sai ch kết quả Dé khắc phục được van dé này cần phải chuẩn hóa, cải tiễn, nâng cấp các mẫu, các mô hình và có thê xem các thay đôi này là mục đích
của khai phá và tìm kiếm các mẫu bị thay đối
Thuộc tính không phù hợp, các bộ giá trị không đây đủ, bị thiếu giá trị trong các mên thuộc tính đã làm ảnh hưởng rất lớn trong khai phá đữ liệu Trong quá trình khai phá đữ liệu, khi các hệ thống tương tác với nhau phụ thuộc
nhau mà thếu vắng một vài giá trị nào do , sé dẫn đến các mẫu không được
chính xác, bị thiếu, không đây đủ Đề giải quyết cho vẫn để này, người ta coi sự thiếu vắng của các dữ liệu này là giá trị ân, chưa biết và có thể được tiên đoán bằng một số phương pháp nào đó
Quan hệ phức tạp giữa các thuộc tính trong CSDL cũng là vẫn dé can
được quan tâm Những bộ thuộc tính có cẫu trúc, phân lớp phức tạp, có mối liên
hệ phức tạp với nhau trong CSDL đòi hỏi khai phá dữ liệu phải có các giải pháp, các kỹ thuật để có thê áp dụng được, nhận ra được các mối quan hệ này trong quá trình khai phá dữ liệu
1.10 Kết luận chương 1
Các tri thức tiềm ân trong các CSDL có ý nghĩa rất lớn trongnhều lĩnh vực vì vậy việc phát hiện, rút trích tự động các tr1 thức ấn từ các tập hợp dữ liệu lớn thông qua các mẫu, mô hình dữ liệu càng đóng một vai trò hết sức quan trọng, đặc biệt là trong bối cảnh hiện nay khi mà sự phát triển nhanh chóng của các ứng dụng công ngiệ thông tin ở nhiều ngành nghề trong đời sống xã hội, ngày càng áo ra nhiều CSDL khống lồ Chương này trình bày tóm tắt các
phương pháp khai phá ữ liệu phố biến, các thành phần chủ yếu của một giải
thuật khai phá dữ liệu và những thành tựu cũng như những thách thức trong khai phá dữ liệu Trong các phương pháp khai phá dữ liệu, khai phá các luật kết hợp
là một trong những lĩnh vực đang được quan tâm và nghiên cứu mạnh mẽ
Trang 241993 [19], được sử dụng để xác định các mối quan hệ giữa các tập thuộc tính trong CSDL Vệc xác định các quan hệ này không được dựa vào các đặc tính
dữ liệu vốn có của chúng (như các phụ thuộc hàm), mà nên dựa vào sự xuất hiện cùng lúc của các thuộc tính dữ liệu
Ví dụ 1.1
Trong một hiệu sách lưu lại các phiếu mua sách, người ta phát hiện ra rằng: Trong số những người mua quyên "Các khái niệm và kỹ thuật khai phá dữ liệu" thì có 40% số người đó mua thêm quyên " Hệ guảntrị cơ sở dữ liệu ", và
25% mua thêm quyền "Kho đữ liệu"
Trong ví dụ trên, tìm được hai luật kết hợp:
- Có 40% số người mua quyên " Các khái nệm và kỹ thuật khai phá dữ liệu" thì đồng thời mua quyền "Hệ quản trị cơ sở đữ liệu"
- Có 25% số người mua quyên " Các khái nệm và kỹ thuật khai phá dữ
liệu " thì đồng thời mua quyền "Kho đữ liệu"
Với những quy tắc được khám phá trên, ta có thê sắp xếp các quyền sách
có liên quan với nhau ở vị trí gần nhau để giúp cho người mua sách thuận tiện hơn Những quy tắc đó cũng giúp cho nhà sách có chiến lược kinh doanh tốt hơn
Luật kết hợp được sử dụng rộng rãi trong nhiều lĩnh vực khác nhau như:
Kinh doanh, sản xuất, giao thông, viễn thông, giáo dục, quản lý thị trường,
Trang 25Luat két hop cho biét phạm vi mà trong đó, sự xuất hiện của tập các thuộc tính A nào đó trong các ỗn ghi của CSDL D sẽ kéo theo sự xuất hiện của tập
các thuộc tính khác B, cũng trong những bản ghi đó, có dạng A — B Mỗi luật
kết hợp được đặc trưng bởi một cặp tỷ lệ đó, là độ hỗ trợ và độ tin cậy Thông tin mà lệ t kết hợp mang lại là rất to lớn và hỗ trợ đáng kế cho quá trình ra quyết định trong kinh doanh cũng như trong nghiên cứu khoa học
2.2 Luật kết hợp
2.2.1 Các khái niệm cơ bản [18, 22|
Đặt: I = {i, ,i,}: tap n muc (Item, con gọi là thuộc tính) phân biệt D: CSDL giao dich
Mỗi giao dich (Transaction - cdn gpi 1a ban ghi - record) T e D được định nghĩa như một tập con các mục trong I (T c ] và có nột định danh duy nhất có dạng <TID, 1, , 1>
Một giao dịch T e D hỗ trợ cho tập mục X, X c I nếu nó chứa tất cả các
mục của X, nghĩa là X c T, trong một số trường hợp người ta dùng ký hiệu
TŒX) để chỉ tập các giao dịch hỗ trợ cho X Ký hiệu sup(X) (support(X) hdc
s(X)) 1a ty 16 phan trim của các giao dịch hỗ trợ X trên tổng các giao dịch có trong D, nghĩa là:
ceDIXcT]
Ta có 0 < sup(X) < 1 voi moi tap muc X
Định nghĩa 2.1: Cho nit tap X cI va not ngưỡng hỗ trợ tối thiểu
(minimum support) minisupe (0,1] (được xác định bởi người sử dụng) Một tập mục X được gọi là một íập mục pho bién (Frequent Itemset hoac Large Iteset) với độ hỗ trợ tối thiểu minsup nêu và chỉ nếu sup(X) > minsup
Một /áp mục phổ biến được sử dụng như là một tập đáng quan tâm trong các thuật toán, ngược lại, những tập mục không phải £ập mực phổ biến là những tập không đáng quan tâm Trong các trình bày sau này, ta sử dụng những cụm từ
Trang 26khác như ‘“‘X có đ& hỗ trợ tối thiểu '', ““X không có @ hỗ trợ tối thiểu ”’ cũng chi dé nói lên X thỏa mãn hay không thỏa man sup(X) > minsup
Một tập mục X được gọi là k-itemset nếu lực lượng của X bằng k (tức
X|=k)
là
Mật số tính chất liên quan đến tập mục phố biến:
Tính chat 2.1: Néu A cB, A, B 1a cac tập muc thi sup(A) = sup(B) vi tat
cả các giao dịch của D hỗ trợ B thì cũng hỗ trợ cho A
Tính chất 2.2: Một tập mục B không có độ hỗ tối thiểu trên D nghĩa là
sup(B) < minsup thì mọi tập cha A của B sẽ không phải là tập mục phố biến vì sup(A) < sup(B) < minsup
Tinh chat 2.3: Néu tap muc B la mot tap muc phô biến trên D, nghĩa là sup(B) > minsup thì mọi tập con A của B đều là tập phổ biến trên D vì sup(A) = sup(B) > minsup
Định nghĩa 2.2: Một luật kết hợp là một quan hệ có dạng X —Y, trong
đó X, Y c I là tập các mục còn gọi là 1temset, và X ¬Y = ó Ở đây, X được gọi
là tiền đề, Y là hệ quả 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
Định nghĩa 2.3: Độ hỗ trợ (support) của luận kết hợp X — Y là tỷ lệ phần trăm giữa các giao dịch chứa X t2 Y và tổng số các giao dịch trong CSDL
ƒ<DIXUỎYc7T]
sup(X — Y) = P,(X \(2ŸY)= Dl (2.2)
Bởi vậy, ta nói độ hỗ trợ của luật băng 5% nghĩa là có 5% tổng số giao
dịch có chứa X v2 Y Độ hỗ trợ mang ý nghĩa thông kê của luật kết hợp Trong
khi, một độ hỗ trợ cao cho luật kết hợp thường được mong muốn nhất, tuy nhiên điều đó không phải luôn luôn đúng Ví dụ, nếu ta str dụng luật kết hợp dé du đoán thất bại các nút chuyển mạch trong mạng điện thoại dựa vào tập sự kiện nào đó xuất hiện trước một thất bại, mặc đù hai sự kiện này không thường xuyên xuất hiện, các luật kết hợp chỉ ra quan hệ này vẫn có tầm quan trọng đáng kê
Trang 27Dinh nghia 2.4: Đối với một số giao dịch được đưa ra, độ tin cậy (confidence) của luật kết hợp X => Y là tý lệ phần trăm giữa số giao dịch có chứa X \2 Y và số giao dịch chứa X
conf (X Y=p(YcIlxcpn= P cTAXcT) _sup(X VY) 9.3)
Vì vậy, nếu ta nói rằng một luật có độ tin cậy conƒ = 85% có nghĩa là 85%
các giao dịch hỗ trợ cho X thì cũng hỗ trợ cho Y Độ tin cậy của luật cho biết
mức độ tương quan trong tập dữ liệu (dataset) giữa hai tập mục X và Y và là
tiêu chuẩn đánh giá độ tin cậy của một luật
Việc khai thác các luật kết hợp từ cơ sở dữ liệu D chính là việc tìm tất cả các luật
có độ hỗ trợ và độ tin cậy lớn hơn ngưỡng hỗ trợ (độ hỗ trợ tối thiểu) và ngưỡng tin cậy
(độ tin cậy tối thiếu) do ngư ời sử dụng xác định trước Ngưỡng hỗ trợ và ngưỡng tin cậy
lần lượt được ký hiệu là minsup và mincoƒ Chú ý r ăng, nếu luật X— Y thỏa mãn trên D thì cả X và Y đềulà các t ập mục phô biến trên D
Một số tính chất liên quan đến luật kết hợp
Tính chất 2.4: Nêu X > Z va Y => Z 1A théa mãn trên D thì không nhất
thiết X +; Y Z là đúng
Xét tru ong hop XNY = © va cdc giao d ich trong D có hỗ trợ cho Z nêu và chỉ nếu chúng chỉ chứa X hoặc Y, khi đó cor/{X t2 Y — Z) = 0 Tương t ự tac fing co: Néu
X => Y va Z => Z thỏa mãn trên D thì cũng không thể suy ra X— Y UZ
Tính chất 2.5: Nêu luật X +2 Y — Z thỏa mãn trên D thì không nhất thiết
X => Z va Y Z thỏa mãn trên D
Chang hạn, khi Z có nặt trong giao dịch chỉ khi cả X và Y đều có mặt trong giao dịch đó, nghĩa là sup(X \2 Y) =sup(Z) Nếu sup(X) = sup(X U) Ÿ) và
sup(Y) > sup(X \) Y) thì 2 luật trên sẽ không có độ tin cậy yêu cầu
Tuy nhiên, nêu X — Y \J) Z thỏa mãn trên D thì suy ra được X —> Y và
X Z.cũng thỏa mãn trên D
Tính chất 2.6: Nêu X — Y va Y Z thỏa mãn trên D thì không thê
khẳng định X — Z cũng thỏa mãn trên D
Trang 28Giả sử T(X) c T(Y) c T(Z) va conf(X => Y) = conf(Y => Z) = minconf Khi d6, ta c6 conf(X => Z) = minconf’ < minconƒ vì minconƒ< 1, ngiĩa là luật
X => Z không có độ tin cậy tối thiêu
Tính chất 2.7: Nếu luật X => (L - X) không có ô tin cậy tối thiểu thì
không có luật nào trong các luật Y — (L-— Y) có độ tin cậy tối thiểu, trong đó YcCX;X,YCL
That vay, theo tinh chat 2.1, vi Y c X nén sup(Y) = sup(X) va theo dinh nghĩa độ tin cay, ta có:
sup port(L) < SUP port(L) confidence(Y => (L— Y)) = < minconf
sup port(Y) sup port(X) Nếu luat (L — X) => X thỏa mãn trên D thì các luật (L - Y) > Y wi
Y cX và Y zØ cũng thỏa mãn trên D
2.2.2 Khai phá luật kết hợp
Trơng mục này sẽ giới thiệu chỉ tiết bài toán khai phá luật kết hợp (Association Rule Mining) Nh ững kết quả khác nhau trong khai phá luật kết hợp sẽ được trình bày
chỉ ti ết cùng với những thuật toán và những ví dụ kinh điển
Bài toán khai phá luật kết hợp trên một cơ sở dữ liệu được chia thành hai
bài toán nhỏ Bài toán thĩ nhấ là tìm tất cả các tập mục đữ liệu có độ hỗ trợ
thỏa ngưỡng tối thiểu cho trước, gọi là tập các tập mục đữ liệu thường xuyên
Bài toán thứ hai là tìm ra những luật kết hợp từ những tập mục đữ liệu thường xuyên thỏa do tin cay tôi thiểu cho trước
Bài toán thứ hai được giải quyết như sau: Giả sử ta có tập các mục đữ liệu thường xuyên Lx, wi L, = ` b những luật kết hợp theo ngưỡng tin cậy tối thiểu Cọ với những mục dữ liệu thường xuyên này được phát sinh ra băng cách:
Luật thứ nhất: (Ki, sXi, Xi JO Mi J, kÉm tra độ tin cậy của luật này có thỏa ngưỡng tin cậy tối thiểu cho trước hay không
Luật thứ hai: txị,.xị, xị, ,.xị ]|—> tị, }, kiềm tra độ tin cậy của luật này có
thỏa ngưỡng tin cậy tối thiểu cho trước hay không
Trang 29Luật thứ k+1: {x;,.x:,.0%i,,; &i,,-%, |, kiểm tra độ tín cậy của luật này có
thỏa ngưỡng tin cậy tối thiểu cho trước hay không
Tổng quát: VX C Lx, ta kém tra độ tin cậy của luật X —> L¿ \ X có thỏa ngưỡng tin cậy tôi thiêu cho trước hay không
Bài toán th ứ hai là đơn gián, hầu hết nghiên cứu về luật kết hợp tập trung ở bài toán th ứ nhất Sau đây chúng ta tập trung giải quyết bài toán thứ nhất
2.2.3 Cách tiếp cận khai phá luật kết hợp
Khai phá luật kết hợp là một lĩnh vực nghiên cứu được nhiều người quan
tâm và có nhều kết quả đã được công bó Ở đây chỉ giới thiệu một số cách tiếp cận kinh điển và cơ bản, làm cơ sở đề phát triển các thuật toán mới
Bài toán thứ nhất có thể chia nhỏ hơn nữa thành hai bài toán: Tìm các tập
mục đữ liệu ứng viên và tìm các tập mục dữ liệu thường xuyên Tập mục dữ liệu ứng viên là những tập mục dữ liệu, mà ta phải tính độ hỗ trợ để xem nó có phải
là tập mục dữ liệu thường xuyên hay không Tập mục dữ liệu thường xuyên là những tập mục đữ liệu có độ hỗ trợ lớn hơn hay bằng ngưỡng tối thiểu cho
trước Phát triển thuật toán khai phá luật kết hợp, là làm gäm độ phức tạp tính
toán của thuật toán để cải thiện tốc độ xử lý
Ta có thê phân loại các thuật toán tìm tập thường xuyên theo hai tiêu chí: + _ Phương pháp duyệt qua không gian tìm kiếm
+ Phuong pháp xác định độ hỗ trợ của tập mục đữ liệu
Với phương pháp duyệt qua không gian tìm kiếm được phân làm hai cách: Duyệt theo chiều rộng (Breadth First Search - BFS) và duyệt theo chiều sâu (Depth First Search — DFS)
Duyệt theo chiều rộng là duyệt qua đữ liệu nguyên bản, để tính độ hỗ trợ của tất cả các tập ứng viên có k-1, mục dữ liệu trước khi tính độ hỗ trợ của các tập ứng viên có k mục dữ liệu Một cơ sở đữ liệu có n mục dữ liệu, trong lần lặp thứ k để tìm những tập k-mục dữ liệu ứng viên, phải kiểm tra tất cả
|
k n!
C? =—————- tập k-mục dữ liệu
k!(n—k)!
Trang 30Duyệt theo chiều sâu, là duyệt qua cơ sở dữ liệu đã được chuyên thành câu trúc cây, quá trình duyệt được gọi đệ quy theo chiều sâu của cây
Với cơ sở dữ liệu có n mục đữ liệu, Ï = {xị, Xa, ., xạ}, thì không gian tìm
kiếm là tập tất cả các tập con của I, đây là bài toán NP khó, nếu không có
phương pháp duyệt thích hợp thì bài toán không giải được khi n đủ lớn
Phương pháp xác định độ hỗ trợ của tập mục dữ liệu X c I được phân làm
hai cách: Cách th nhất: Đêm số giao tác trong cơ sở dữ liệu chứa X Cách thứ hai: Tính phân giao của các tập định danh giao tác chứa X
Phát biểu bài toán phát hiện luật kết hợp
Cho một tập các mục I, một cơ sở dữ liệu giao dịch D, ngưỡng hỗ trợ minsup, ngưỡng tin cậy minconƒ Tìm tất cả các luật kết hợp X —Y trên CSDL
D sao cho: sup(X => Y) = minsup va conf(X => Y) = minconf Bai toán khai thác luật kết hợp có thể được chia ra làm 2 bài toán con được phát biểu trong thuật toán sau:
Nội dung thuật toán
Vao: I, D, minsup, minconf
R: Các luận kết hợp thỏa mãn minsup va minconf
Phương thức:
(1) Tìm tất cả các tập mục phổ biến từ CSDL D tức là tim tat cả các tập
mục có độ hỗ trợ lớn hơn hoặc băng rminsup
(2) Sinh ra các luật từ các tập mục phô biến (large itemsets) sao cho độ tin cậy của luật lớn hơn hoặc bằng mìnconƒ
Bước l: Tìm các tập mục phổ biến như được mô tả trong hình 2.1
Bước 2: Sinh các luật kết hợp từ tập mục phô biến tìm được ở bước 1 Tùy theo ngữ cảnh các thuộc tính dữ liệu, cũng như phương pháp sử dụng trong các thuật toán; người ta có thê phân bài toán khai phá luật kết hợp ra nhiều nhóm khác nhau Cling han, néu gia tri cua các thuộc tính có kiểu boolean thì
ta gọi la khai pha luat két hop Boolean (Mining Boolean Association Rules)
Trang 312.3.1 Phát hiện các tập mục phố biến
Các thuật toán phát hiện tập mục phố biến, phải thiết lập một số giai đoạn
trên CSDL Trong giai đạn đầu, ta thực hiện tính độ hỗ trợ suppor: cho mỗi
mục riêng lẻ và xác định xem mục nào là phổ biến, nghĩa là có support > minsup Trong mỗi giai đoạn tiếp theo, ta bắt đầu với các tập mục phố biến đã tìm được trong giai đoạn trước, để sinh ra các tập mục có khả năng là tập phố biến mới (còn gọi là tập mục ứng cử - candidate itemset) và tính & hé trợ cho các tập mục ứng cử này bằng một phép duyệt CSDL Cuối mỗi giai đoạn, người ta xác định xem trong các tập mục phô biến cho giai đoạn tiếp theo Tiến trình này sẽ tiếp tục, cho đến khi không tìm được một tập các tập mục phố
biến mới hơn nữa
support cho cac phan tt? ctia tap C,
Ly tly C, bang phép kiém tra minsup
Ta giả sử các mục trong mỗi giao dịch đã được sắp xếp theo thứ tự từ
điển (diễn tả một thứ tự quy ước nào đó cho các mục của CSDL) Các mục trong một tập mục cũng được lưu trữ theo thứ tự từ điển, nghĩa là, một k-itemset c; ki hiệu là œ;¡[ 1], c[2] , c¡[k] thì c;[1] < œ[2] < < c¡[k] Nếu c¡ = X.Y và Y là một m-itemset thi Y ding được gọi là một m -mở rộng (m-extention) của X Trong lưu trữ, mỗi tập mục có một trường sporf_counf tương ứng, dùng để lưu độ
hỗ trợ cho tập mục này
2.3.1.1 Thuật toán Apriori [18, 21, 22]
Trang 32Apriori là thuật tốn khai phá luậ t kết hợp do RaKesh Agrawal, Tomasz Imielinski, Anin Sawami đưa ra vào năm 1993, làền tảng cho việc phát triển những thuật tốn sau này Thuật tốn sinh tập mục ứng cử từ những tập mục phơ biến ở bước trước, sử dụng kĩ thuật “tỉa” để bỏ đi tập mục ứng cử khơng thỏa
mãn ngưỡng hỗ trợ cho trước
Các ký hiệu sử dụng trong thuật tộn:
Ly = {]1, l, , lj, } tập các k-Itemset pho bién
Cy = {Ci, Cø; , Cj, .} ập các k -itemset ứng cử, mỗi c¡ cĩ 2 trừng
itemset va count ding để chứa tập mục và số đếm hỗ trợ của tập mục đĩ trong
cơ sở đữ liệu
Nội dung thuật tốn
Dữ liệu vào: Tập các giao dịch D, ngưỡng hỗ trợ minsup
Dữ liệu ra: Tập Answer bao gồm các tập mục phơ biến trên D
Phương pháp:
L¡ = {large 1-itemset};
for (k = 2; Lx # 6; k++) do begin
C, = apriori_gen(Lx.1); // sinh tap muc tng cu moi Cx;
forall giao dich t c D do begin
C, = subset(Cy, t); // các tập mục ứng cử chứa trong t;
forall tap muc tng cu cj € C; do
C¡.COUnf ++ ; end;
Lụ = {c¡ c Cụ | c;.count = minsup }
end;
Answer = UL;
Giai thich thuat toan
Trong thuật tốn này, giai đạn đầu đơn giản chỉ là việc tính độ hỗ trợ của các mục Đề xác định Lạ, ta chỉ giữ lại các mục cĩ độ hỗ trợ lớn hơn hoặc bang minsup
Trong các giai đoạn thứ k sau đĩ (k > 1), mỗi giai đoạn gồm cĩ 2 pha: Pha thứ 1: Các (k-1)-itemset phơ biến trong ập Lự¡ tìm được trong giai đoạn thứ k-I được dủng để sinh ra các tập mục ứng cử Cy bằng cách thực hiện
Trang 33Pha thứ 2: CSDL D sẽ được quét để tính độ hỗ trợ cho mỗi tập mục ứng
cử trong Cụ Các tập mục ứng cử trong C¿ mà được chứa trong giao dịch t có thê được xác định một cách hiệu quả bằng việc sử dụng cây băm
Ham apriori_gen() thuc hién hai bước:
Bước kết nối (Join step): Bước này kết nối các phần tử trong Lx.1 Trong nay, gia sur rang các mục của các tập mục đã được sắp xếp theo thứ tự từ điển Nếu có k-2 item đầu tiên (gọi là phần tiền tố) của hai (k-1)-itemset lị, lạ nào đó
mà giống nhau thì ta khởi tạo một k-itemset ứng cử cho Cự bằng cách lây phần
tiền tố này hợp với 2 item thứ k-1 của l¡ và lạ (có thể phải sắp lại thứ tự cho các
item nay) Đều kiện l¡[k-1] < la[k-1] nhằm tránh trường hợp 2 tập mục Ì và lạ giống nhau kết nỗi với nhau
Bước cắt tia (Prune step): Trong bước này, ta cần loại bỏ tất cả các kitemset c¡ c C¿ mà tổn tại một (k-1)-Itemset s, s C c¡ và s £ L¿¡ Giải thích điều này như sau: mot (k-1)-itemset s,s Cc, vas ¢ Ly Khi do, sup(s) < minsup vì s không phải là tập phô biến, mặt khác do c¡ D s nên sp(c¡) < sup(§) < minsup Vậy c¡ không thê là tập phô biến, nó cần được loại bỏ ra khỏi Cụ
Ví dụ: Cho tập các mục pho bién L3 = {{a; b; c}; {a; b; d}; {a; c; d};
{a; c; e} 5 {b; c; d}}
Chúng ta lết nối tập mục phổ biến 1¡ = {a; b; c} vàập mục phố biến
lạ = {a; b; d}, ta được tập mục ứng cử c ¡ ={a; b; c; d} Œ 3 tap con ( {a; b; c}; {a; b; đ} ; {b; c; đ}) s c c¡ đều thuộc Lạ do đó c¡ được giữ lại và Ca <— c¡ Cũng tương tự, ta kết nối tập mục phố bién 13 = {a; c; d} vapt mục pho bién
lạ = {a; c; e}, ta sinh ra đực tập mục ứng cử c s = {a; c; d; e} Ta cóập mục s= {a; d; e} C cạ mà s £ Lạ nên tập mục ứng cử c¿ bị loại
Hàm subset và cầu trúc cây băm (hash-tree)
Cấu trúc cây băm: ĐỀ tăng hiệu quả cho việc tìm các tập mục thường xuyên và tính độ hỗ trợ cho các tập mục ứng cử, thuật toán sử dụng cầu trúc cây
Trang 34băm đ lưu trữ các tap muc tmg cir Cy Moi nut của cây băm hoặc chứa một danh sách của các tập mục (nếu là nút lá) hoặc một băm (hash table) (nếu là nút trong) Tại mỗi nút trong, mỗi phân tử (bucket) của bảng băm trỏ đến một nút
khác Gốc của cây được định nghĩa có độ sâu băng 1 Nút ở độ sâu d thì trỏ đến
nút ở độ sâu (d + 1) Các lập mục được lưu trữ trong các nút lá tạo thành một danh sách liên kết và đã được sắp xếp Khi số tập mục lưu trong nút lá vượt quá ngưỡng thì nút lá chuyên thành nút trong Khi thêm một tập mục c; vào cây, ta bắt đầu duyệt từ nút gốc trên cây cho đến khi tìm được nút lá phù hợp, cách thực hiện như sau: ở mỗi nút trong độ sâu d, chúng ta quyết định đi theo nhánh nào bằng cách sử dụng hàm băm đối với mục thứ d (c;¡[d] lưu mục thứ đ) của tập MuUuc Cj
Hàm subsef(Cy t): Ham nay dùng ê tìm tat ca các tập mục ứng cử trong Cụ có chứa trong giao dịch t Để tìm tập mục ứng cử ta bắt đầu từ nút gốc: nếu nút gốc là nút lá thì ta xem các tập mục trong nút lá đó có chứa trong giao dịch t hay không Trường hợp nút trong, và là Ết quả của việc áp dụng hàm băm cho mục thứ 1 của giao dịch t, thì ta tép tục thực hiện hàm băm cho mục thứ (¡ +1) của giao dịch t, cho đến khi tìm gặp nút lá Thủ tục tìm này được thực hiện đệ quy
2.3.1.3 Ví dụ minh họa thuật toán Apriori
Cho cơ sở dữ liệu giao dịch D, I = {bánh mì, bơ, trứng, sữa, đông sương, kem} Áp dụng thuật toán Apriori để tìm các tập phô biến thỏa minsup = 60%
Sau khi áp dụng thuật toán Apriori c ác tập mục phô biến thu được chỉ
ra trong hình 2.2 L = L¡ t2 Lạ t2 Lạ = {{bánh mì}; {bơ}; {sữa}; {bánh mì, bơ}; {bánh mì, sữa}; {bơ, sữa}; {bánh mì, bơ, sữa} }
Trang 35
100 | {kem, bánh mì, sữa, bơ } n> | {Anh mi} 100%
200_ | {sữa, bánh mì, trứng, đường, bơ} Quét D {bơ} 100%
{bánh mì, sữa } {bánh mì, sữa } {bơ} 100%
{banh mi} 100% {bánh mì, bơ, sữa } {bánh mì, bơ, sữa } {bo} 100%
Hình 2.2: Vi dụ thuật toan Apriori
2.3.1.4 Các thuật toán phát hiện tập mục phổ biến khác
Có rất nhiều thuật toán được đề xuất để phát hiện các tập mục phô biến đây là bước quan trọng và chiếm nhiều thời gian nhất trong quá trình khai phá
luật kết hợp trong CSDL Sau đây là một số thuật toán tiêu biểu và đặc điểm của
4
no
= Thuat toán Apriori-TID
Như đã đề cập ở phân trên, thuật toán Apriori quét to àn bộ CSDL trong
mỗi giai đoạn để tính độ hỗ trợ Việc quét toàn bộ CSDL có thể là không cần
thiết đối với tất cả các giai đoạn Với ý tưởng, Agrawal đã đề xuất một thuật toán khác, gọi là thuật toán Aprior1- TID
Trang 36Tương tự thuật toán Aprlori, thuật toán Aprlori-TID cũng sử dụng hàm apriori_gen() đễ xác định các tập mục ứng cử trước khi bắt đầu mỗi giai đoạn
Điểm khác nhau chủ yếu của thuật toán này so với thuật toán Apriori là;
nó không s dụng CSDL để tính độ hỗ trợ trong các giai đoạn k > 1 Thay vào
đó nó sr dụng mã khóa của các tập mục ứng cử đã sử dụng trong giai đoạn trước, C, Nhiêu thí nghiệm trên nhiều CSDL chỉ ra rằng thuật toán Apriori cần
ít thời gian hơn giải thuật Apriori-TID trong các giai đoạn đầu ,nhưng mất nhiều thời gian cho các giai đoạn sau, mô tả chi tiết trong [20, 21]
= Thuat toan Apriori-Hybrid
Thuật toán này dựa vào ý tưởng “không cần thiết phải sử dụng cùng một
thuật toán cho tất cả các giai đoạn lên trên dữ liệu” Như đã dé cập ở trên, thuật
toán Apriori thực thi hiệu quả ở các giai đoạn đâu, thuật toán Apriori-TID thực thi hiệu quả ở các giai đoạn sau Phương pháp của thuật toán Aprliori-Hybrid là
sử dụng thuật toán Apriori ở các giai đoạn đầu và chuyên sang sử dụng thuật toán Aprlori-TID ở các gia1 đoạn sau, được trình bày chi tiết trong [21]
= Thuat toan AIS (Agrawal Imielinski Swami)
Trong thuật toán AIS, tập các mục ứng cử được sinh ra và được tính khi
quét toàn bộ CSDL Với mỗi giao dịch t, thuật toán chọn các tập mục phố biến
nào đã được phát hiện ở giai đoạn trước có chứa trong giao dịch t Các tập mục ứng cử mới được sinh ra bằng việc mở rộng các tập phổ biến này với các mục khác trong giao địch t [ 18, 21]
Thuật toán DIC (Dynamic ltemset Counting)
Thuật toán DIC bắt đầu tính độ hỗ trợ cho các k-itemset sau khi quét
((k - 1) * M) giao dch, M < |D| va dimg việc tính sau khi các k-itemset này
được thấy trong tất cả các giao dịch Thuật toán Apriori là trường hợp đặc biệt
của thuật toán DIC, ứng với M = |DÌ Vì vậy, thuật toán DIC thực hiện tốt hơn
thuật toán AprlorI nếu M được chọn thích hợp [18, 21]
Thuật toán OCD (Of-line Candidate Determination)
Kỹ thuật OCD được giới thiệu bởi Mannila vào năm 1994, dựa vào y