Đặt vấn đề Trong lĩnh vực khai phá dữ liệu data mining, luật kết hợp association rule được dùng để chỉ mối quan hệ kiểu “điều kiện hệ quả” giữa các phần tử dữ liệu chẳng hạn, sự xuất hi
Trang 1Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
NGUYỄN THỊ HẢI LÝ
KHAI PHÁ LUẬT KẾT HỢP HIẾM TRÊN CƠ SỞ DỮ LIỆU VÀ ỨNG DỤNG
LUẬN VĂN THẠC SĨ CHUYÊN NGÀNH KHOA HỌC MÁY TÍNH
Thái Nguyên - 2015
Trang 2Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC CÁC KÝ HIỆU, VIẾT TẮT iv
DANH MỤC CÁC BẢNG BIỂU v
DANH MỤC CÁC HÌNH VẼ vi
MỞ ĐẦU 1
CHƯƠNG 1 3
KHAI PHÁ DỮ LIỆU VÀ BÀI TOÁN KHAI PHÁ LUẬT KẾT HỢP 3
1.1 Khai phá dữ liệu 3
1.1.1 Quá trình phát hiện tri thức từ cơ sở dữ liệu 3
1.1.2 Kiến trúc của hệ thống khai phá dữ liệu Error! Bookmark not defined 1.1.3 Quá trình khai phá dữ liệu 5
1.1.4 Nhiệm vụ của khai phá dữ liệu Error! Bookmark not defined 1.1.5 Các ứng dụng của khai phá dữ liệu 6
1.2 Khai phá luật kết hợp trong cơ sở dữ liệu 7
1.2.1 Bài toán mở đầu Error! Bookmark not defined 1.2.2 Các khái niệm cơ sở 7
1.2.2.1 Cơ sở dữ liệu giao tác 7
1.2.2.2 Tập mục phổ biến 8
1.2.2.3 Luật kết hợp 8
1.2.3 Khai phá luật kết hợp 9
1.2.4 Các cách tiếp cận khai phá tập mục phổ biến Error! Bookmark not defined 1.2.5 Các thuật toán điển hình khai phá tập mục phổ biến 10
1.2.5.1 Thuật toán Apriori 10
1.2.5.2.Thuật toán FP_growth 13
1.2.6 Thuật toán sinh luật kết hợp: 14
Trang 3Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
1.2.7 Một số mở rộng khai phá luật kết hợp 17
Kết luận chương 1 18
Chương 2: LUẬT KẾT HỢP HIẾM 19
2.1 Giới thiệu chung về luật kết hợp hiếm 19
2.2 Một số hướng nghiên cứu chính phát hiện luật kết hợp hiếm 20
2.2.1 Sử dụng ràng buộc phần hệ quả của luật 20
2.2.2 Thiết lập đường biên phân chia các tập phổ biến và không phổ biến 21
2.2.3 Phát hiện luật kết hợp hiếm từ các CSDL định lượng 22
2.3 Khuynh hướng nghiên cứu về luật hiếm 23
2.4 Phát hiện luật kết hợp hiếm Sporadic trên CSDL giao tác 24
2.4.1 Khái niệm về luật hiếm Sporadic 24
2.4.2.Thuật toán Apriori-Inverse 27
2.4.3 Thuật toán tìm tập Sporadic tuyệt đối hai ngưỡng đóng 32
2.4.3.1 Tập Sporadic tuyệt đối hai ngưỡng 33
2.4.3.2 Thuật toán MCPSI tìm tập Sporadic tuyệt đối hai ngưỡng đóng 35
Kết luận chương 2 38
Chương 3 38
THỰC NGHIỆM TÌM LUẬT HIẾM SPORADIC TUYỆT ĐỐI 38
3.1 Giới thiệu bài toán 39
3.2 Dữ liệu thực nghiệm 40
3.3 Xây dựng chương trình 42
3.4 Thực nghiệm khai phá 43
3.5 Kết quả thực nghiệm 47
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 49
TÀI LIỆU THAM KHẢO 50
Trang 4Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
LỜI CAM ĐOAN
Tôi xin cam đoan Luận văn “KHAI PHÁ LUẬT KẾT HỢP HIẾM TRÊN CƠ SỞ DỮ LIỆU VÀ ỨNG DỤNG”là công trình nghiên cứu của riêng tôi dưới sự hướng dẫn của TS Nguyễn Huy Đức Kết quả đạt được trong luận văn là sản phẩm của riêng cá nhân tôi, không sao chép lại của người khác Trong toàn bộ luận văn, những điều được trình bày trong luận văn là của cá nhân hoặc là được tổng hợp từ nhiều nguồn tài liệu Tất cả các tài liệu tham khảo đều có xuất xứ rõ ràng và được trính dẫn hợp pháp
Tôi xin chịu hoàn toàn trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời cam đoan của mình
Thái Nguyên, ngày tháng năm 2015
Người cam đoan
Nguyễn Thị Hải Lý
Trang 5Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
LỜI CẢM ƠN
Lời đầu tiên tôi xin gửi lời cảm ơn chân thành và biết ơn sâu sắc tới TS.Nguyễn Huy Đức - Trường Cao đẳng Sư phạm Trung ương, Thầy đã chỉ bảo và hướng dẫn tận tình cho tôi trong suốt quá trình nghiên cứu khoa học và thực hiện luận văn này
Tôi xin chân thành cám ơn sự dạy bảo, giúp đỡ, tạo điều kiện và khuyến khích tôi trong quá trình học tập và nghiên cứu của các thầy cô giáo của Viện Công nghệ thông tin, Trường Đại học Công nghệ thông tin và Truyền thông - Đại học Thái Nguyên
Và cuối cùng, tôi xin gửi lời cảm ơn tới gia đình, người thân và bạn bè, những người luôn ở bên tôi những lúc khó khăn nhất, luôn động viên tôi khuyết khích tôi trong cuộc sống và trong công việc
Tôi xin chân thành cảm ơn!
Thái Nguyên, ngày tháng năm 2015
Tác giả
Nguyễn Thị Hải Lý
Trang 6Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
DANH MỤC CÁC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT
FP-tree Frequent pattern tree
Trang 7Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
DANH MỤC CÁC BẢNG BIỂU
Bảng 1.1: Danh mục các tập mục trong CSDLError! Bookmark not defined
Bảng 1.2: Biểu diễn ngang của CSDL giao tác.Error! Bookmark not defined
Bảng 1.3: Biểu diễn dọc của CSDL giao tác Error! Bookmark not defined
Bảng 1.4: Ma trận giao tác của CSDL bảng 1.2Error! Bookmark not defined
Bảng 1.5: Cơ sở dữ liệu DB Error! Bookmark not defined
Bảng 1.6 : Độ hỗ trợ của các mục Error! Bookmark not defined
Bảng 1.7: Độ hỗ trợ của các tập mục Error! Bookmark not defined
Bảng 1.8: Độ tin cậy của các luật Error! Bookmark not defined
Bảng 1.10: Cơ sở dữ liệu minh họa thực hiện thuật toán COFI-tree.Error! Bookmark not defined Bảng 1.11 : Các mục dữ liệu và độ hỗ trợ Error! Bookmark not defined
Bảng 1.12 : Các mục dữ liệu phổ biế Error! Bookmark not defined
Bảng 2.1 : Ví dụ CSDL giao tác D cho thuật toán Apriori-Inverse 29
Bảng 2.2 : Biểu diễn dọc của CSDL D trong bảng 2.1 29
Bảng 2.3 : Độ hỗ trợ của từng mục dữ liệu của CSDL D 30
Bảng 2.4 : Các mục sporadic và độ hỗ trợ 30
Bảng 2.5 : Các 2- tập mục ứng viên 31
Bảng 2.6 : Các tập mục sporadic tuyệt đối 31
Bảng 2.7 : Các luật sporadic tuyệt đối 32
Bảng 2.8: CSDL giao tác minh họa thuật toán MCPSI 37
Bảng 3.1: Dữ liệu đã trích chọn để khai phá 40
Bảng 3.2: Mã hóa các mặt hàng 40
Trang 8Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 1.1 Quá trình khám phá tri thức 4
Hình 1.2 Kiến trúc của hệ thống khai phá dữ liệuError! Bookmark not defined Hình 1.3: Quá trình khai phá dữ liệu 6
Hình 1.4 : Phân loạ ật toán khai phá tập mục phổ biến.Error! Bookmark not defined Hình 1.5: Cây FP-tree của CSDL bảng 1.10 Error! Bookmark not defined Hình 1.6: Cây COFI-tree của mục D Error! Bookmark not defined Hình 1.7: Các bước khai phá cây D-COFI-tree.Error! Bookmark not defined Hình 2.1: Minh họa tìm các tập Sporadic tuyệt đối hai ngưỡng đóng 38
Hình 3.1: Dữ liệu đã mã hóa chuẩn bị cho khai phá 42
Hình 3.2: Giao diện chương trình 43
Hình 3.3: Giao diện chương trình tìm tập Sporadic tuyệt đối 44
Hình 3.4: Kết quả tìm tập Sporadic tuyệt đối 45
Hình 3.5: Giao diện chương trình tìm luật Sporadic tuyệt đối 46
Hình 3.6: Kết quả tìm luật Sporadic tuyệt đối 47
Trang 9Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Trang 10Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
MỞ ĐẦU
1 Đặt vấn đề
Trong lĩnh vực khai phá dữ liệu (data mining), luật kết hợp (association rule) được dùng để chỉ mối quan hệ kiểu “điều kiện hệ quả” giữa các phần tử dữ liệu (chẳng hạn, sự xuất hiện của tập mặt hàng này
“kéo theo” sự xuất hiện của tập mặt hàng khác) trong một tập bao gồm nhiều đối tượng dữ liệu (chẳng hạn, các giao dịch mua hàng)… Phát hiện luật kết hợp là phát hiện các mối quan hệ đó trong phạm vi của một tập dữ liệu đã cho Bài toán phát hiện luật kết hợp được Rakesh Agrawal và cộng sự giới thiệu lần đầu tiên vào năm 1993[4] và nhanh chóng trở thành một trong những hướng nghiên cứu quan trọng của khai phá dữ liệu, đặc biệt trong những năm gần đây
Phát hiện luật kết hợp [5, 10] đã được ứng dụng thành công trong nhiều lĩnh vực kinh tế-xã hội khác nhau như: thương mại, y tế, sinh học, tài chính - ngân hàng,…Hiện tại, nhiều khuynh hướng nghiên cứu và ứng dụng liên quan đến phát hiện luật kết hợp đã và đang tiếp tục được hình thành
Một trong những vấn đề về phát hiện luật kết hợphiện đang nhận được nhiều quan tâm của các nhà nghiên cứu là phát hiện luật kết hợp hiếm Luật kết hợp hiếm là những luật kết hợp ít xảy ra Mặc dù tần suất xảy ra thấp, nhưng trong nhiều trường hợp, các luật này lại rất có giá trị
Từ những yêu cầu, thực tế trên, em đã chọn đề tài “Khai phá luật kết
hợp hiếm trên cơ sở dữ liệu và ứng dụng”
2 Đối tượng và phạm vi nghiên cứu
Nghiên cứu các phương pháp, thuật toán khai phá luật kết hợp, đi sâu vào bài toán phát hiện luật kết hợp hiếm thuộc lĩnh vực phát hiện tri thức từ
dữ liệu và ứng dụng
Luận văn tìm hiểu luật kết hợp hiếm Sporadic, trong hai loại của luật hiếm Sporadic là luật hiếm Sporadic tuyệt đốivà luật hiếm Sporadic không tuyệt đối, luận văn đi sâu tìm hiểu luật hiếm Sporadic tuyệt đối trên cơ sở dữ liệu giao tác
3 Hướng nghiên cứu của đề tài
Trang 11Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
- Nghiên cứu các kỹ thuật, phương pháp khai phá luật kết hợp
- Tìm hiểu sâu về khai phá luật hiếm Sporadic tuyệt đối trên cơ sở dữ liệu giao tác
- Cài đặt, thực nghiệm phát hiện luật kết hợp hiếm trên CSDL
4 Những nội dung nghiên cứu chính
Từ những mục tiêu và yêu cầu của đề tài nghiên cứu, đề tài được xây dựng gồm phần mở đầu, 3 chương nội dung và phần kết luận, cụ thể như sau:
Chương 1: Khai phá dữ liệu và bài toán khai phá luật kết hợp
Chương 2: Luật kết hợp hiếm
Chương 3: Thực nghiệm tìm luật hiếm Sporadic tuyệt đối
5 Phương pháp nghiên cứu
Phương pháp nghiên cứu chính là nghiên cứu lý thuyết kết hợp với đánh giá thực nghiệm Cụ thể là: tổng hợp các kết quả nghiên cứu về khai phá luật kết hợp và luật kết hợp hiếm đã công bố trên các bài báo khoa học, hội thảo chuyên ngành trong và ngoài nước, từ đó trình bày làm rõ vấn đề phát triển khai phá luật kết hợp hiếm và xây dựng chương trình thực nghiệm đánh giá ứng dụng
6 Ý nghĩa khoa học của đề tài
Phần lớn các thuật toán phát hiện luật kết hợphiện nay thường thực hiện tìm các luật có độ hỗ trợ và độ tin cậy cao Việc ứng dụng các thuật toán này để tìm các luật kết hợp hiếm (có độ hỗ trợ thấp, độ tin cậy cao) là không hiệu quả do phải đặt ngưỡng độ hỗ trợ cực tiểu rất nhỏ, nên số lượng các tập phổ biến tìm được sẽ khá lớn (trong khi chỉ có một phần trong các tập tìm được có độ hỗ trợ nhỏ hơn ngưỡng độ hỗ trợ cực tiểu minSup) và như vậy chi phí cho việc tìm kiếm sẽ tăng lên Nhằm khắc phục những khó khăn này, cần có những nghiên cứu các phương pháp, thuật toán riêng cho phát hiện luật kết hợp hiếm
Trang 12Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
CHƯƠNG 1 KHAI PHÁ DỮ LIỆU VÀ BÀI TOÁN KHAI PHÁ LUẬT KẾT HỢP 1.1 Khai phá dữ liệu
1.1.1 Quá trình phát hiện tri thức từ cơ sở dữ liệu
Trong thời đại hiện đại của thế kỷ 21, với sự phát triển vượt bậc của công nghệ thông tin, các hệ thống thông tin có thể lưu trữ một khối lượng lớn
dữ liệu về hoạt động hàng ngày của chúng Lượng dữ liệu được lưu trữ dẫn đến một đòi hỏi cấp bách phải có những kỹ thuật mới, những công cụ tự động mới trợ giúp con người một cách thông minh trong việc chuyển đổi một lượng lớn dữ liệu thành thông tin hữu ích
Một số nhà khoa học xem khai phá dữ liệu như là một cách gọi khác của một thuật ngữ cũng rất thông dụng là khám phá tri thức trong cơ sở dữ liệu (Knowledge Discovery in Databases – KDD)[5], vì cho rằng mục đích của quá trình khám phá tri thức là thông tin và tri thức có ích, nhưng đối tượng mà chúng ta phải xử lý rất nhiều trong suốt quá trình khám phá tri thức lại chính là dữ liệu Một số nhà khoa học khác thì xem khai phá dữ liệu như là một bước chính trong quá trình khám phá tri thức
Hiểu quá trình khám phá, phát hiện tri thức ở đây là gì? Thông thường chúng ta coi dữ liệu như là một dãy các bit, các số và các ký hiệu, hoặc các
“đối tượng” được gửi cho một chương trình dưới một định dạng nhất định nào
đó Chúng ta sử dụng các bit để đo lường thông tin, khi sử dụng xem nó như
là dữ liệu đã được lọc bỏ dư thừa, được rút gọn tới mức tối thiểu Bít được dùng làm đơn vị đặc trưng cho dữ liệu Chúng ta có thể xem tri thức như là các thông tin tích hợp, bao gồm các sự kiện và các mối quan hệ giữa chúng Các mối quan hệ này có thể được học, được hiểu, được phát hiện ra Nói cách khác, tri thức có thể coi là dữ liệu có độ trừu tượng và tổ chức cao
Thuật ngữ KPDLra đời vào những năm cuối của thập kỷ 1980 Khai phá dữ liệu bao gồm nhiều hướng tiếp cận, là sự kết hợp của nhiều ngành như: Cơ sở dữ liệu; Học máy; Trí tuệ nhân tạo; Lý thuyết thông tin; Xác suất thống kê; Tính toán hiệu năng cao và các phương pháp tính toán mềm v v…
Có rất nhiều định nghĩa khác nhau về "KPDL" đã được đưa ra, ta có thể hiểu
Trang 13Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
khai phá dữ liệu là quá trình tìm kiếm những thông tin (tri thức) có ích, tiềm
ẩn và mang tính dự đoán trong các khối cơ sở dữ liệu lớn
KPDL là cốt lõi của quá trình khám phá tri thức Nó gồm có các giải thuật KPDL chuyên dùng, dưới một số quy định về hiệu quả tính toán chấp nhận được KPDL là nhằm tìm ra những mẫu mới, mẫu có tính chất không tầm thường, những thông tin tiềm ẩn mang tính dự đoán chưa được biết đến
và có khả năng mang lại lợi ích cho người sử dụng
Nói tóm lại, mục đích chung của việc phát hiện tri thức từ dữ liệu và KPDL là tìm ra các mẫu được quan tâm nhất tồn tại trong cơ sở dữ liệu, nhưng chúng lại bị che dấu bởi một số lượng lớn dữ liệu
Quá trình khám phá tri thức được tiến hành qua các bước sau [5]:
Hình 1.1 Quá trình khám phá tri thức
Bước 1: Trích chọn dữ liệu (data selection): là bước trích chọn những tập dữ liệu cần được khai phá từ các tập dữ liệu lớn (databases, data warehouses)
Trang 14Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Bước 2: Tiền xử lý dữ liệu (data preprocessing): là bước làm sạch dữ liệu (xử lý dữ liệu không đầy đủ, dữ liệu nhiễu, dữ liệu không nhất quán, v v), rút gọn dữ liệu (sử dụng các phương pháp thu gọn dữ liệu, histograms, lấy mẫu, v .v ), rời rạc hoá dữ liệu (dựa vào histograms, entropy, phân khoảng,
v v ) Sau bước này, dữ liệu sẽ nhất quán, đầy đủ, được rút gọn và được rời rạc hoá
Bước 3: Biến đổi dữ liệu (data transformation): là bước chuẩn hoá và làm mịn dữ liệu để đưa dữ liệu về dạng thuận lợi nhất nhằm phục vụ cho các
kỹ thuật khai phá ở bước sau
Bước 4: Khai phá dữ liệu (data mining): đây là bước quan trọng và tốn nhiều thời gian nhất của quá trình khám phá tri thức, áp dụng các kỹ thuật khai phá(phần lớn là các kỹ thuật của machine learning) để khai phá, trích chọn được các mẫu (pattern) thông tin, các mối liên hệ đặc biệt trong dữ liệu
Bước 5: Đánh giá và biểu diễn tri thức (knowledge representation & evaluation): Dùng các kỹ thuật hiển thị dữ liệu để trình bày các mẫu thông tin (tri thức) và mối liên hệ đặc biệt trong dữ liệu đã được khai phá ở bước trên biểu diễn theo dạng gần gũi với người sử dụng như đồ thị, cây, bảng biểu, luật, v v Đồng thời bước này cũng đánh giá những tri thức khai phá được theo những tiêu chí nhất định
Trong giai đoạn khai phá dữ liệu, có thể cần sự tương tác của người dùng để điều chỉnh và rút ra các tri thức cần thiết nhất Các tri thức nhận được cũng có thể được lưu và sử dụng lại
1.1.2 Quá trình khai phá dữ liệu
Với những dữ liệu đã thu thập, ta tiến hành tích hợp và chỉnh sửa dữ liệu, lọc dữ liệu, đây là quá trình tiền xử lý Dữ liệu được thu thập từ nhiều nguồn khác nhau, qua những dữ liệu trực tiếp ta thống kê tóm tắt, trong khi đó
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
Quá trình khai phá dữ liệu được thể hiện bởi hình 1.3 sau:
Giải thuật khai phá DL
Xác định
nhiệm vụ
Xác định dữ liệu liên quan
Thu thập và tiền xử lý DL
Thống kê tóm tắt
Dữ liệu trực tiếp
Mẫu
Trang 15Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Hình 1.3: Quá trình khai phá dữ liệu
Công việc tiếp theo sử dụng các thuật toán khác nhau để khai phá các tri thức tiềm ẩn trong kho dữ liệu sau khi đã xử lý và được thống kê tóm tắt,… Kết quả của quá trình khai phá dữ liệu là đạt được nhiệm vụ đặt ra Nhiều kỹ thuật khai phá dữ liệu được ứng dụng cho một nguồn dữ 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.1.3 Các ứng dụng của khai phá dữ liệu
Vào những năm của thế kỷ XX, khi công nghệ thông tin bùng nổ cả về
bề rộng và chiều sâu, ảnh hưởng đến hầu hết các lĩnh vực khoa học, kinh tế và đời sống xã hội Dữ liệu ngày càng tăng theo thời gian, người ta coi khai phá
dữ liệu là quá trình phân tích cơ sở dữ liệu nhằm phát hiện ra các thông tin mới và giá trị, thường thể hiện dưới dạng các mối quan hệ chưa biết đến giữa các mục dữ liệu Nhờ phân tích các dữ liệu mà các doanh nghiệp có khả năng
dự báo trước một số hành vi ứng xử của khách hàng Công nghệ thông tin phát triển đồng nghĩa với việc phát triển các phần mềm ứng dụng Phần mềm khai phá dữ liệu là một công cụ phân tích dùng để phân tích dữ liệu Nó cho phép người sử dụng phân tích dữ liệu theo nhiều góc nhìn khác nhau, phân loại dữ liệu theo những quan điểm riêng biệt và tổng kết các mối quan hệ đã được bóc tách
Hiện nay, kỹ thuật khai phá dữ liệu đang được áp dụng một cách rộng rãi trong rất nhiều lĩnh vực kinh doanh và đời sống khác nhau như:
Thương mại: Phân tích dữ liệu bán hàng và thi trường, phân tích đầu tư, quyết định cho vay, phát hiện gian lận, …
Thông tin sản xuất: Điều khiển và lập kế hoạch, hệ thống quản lý, phân tích kết quả thử nghiệm, …
Trang 16Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Thông tin khoa học: dự báo thời tiết, CSDL sinh học: Ngân hàng gen,
…khoa học địa lý: dự báo động đất, …
Trong y tế, marketing, ngân hàng, viễn thông, du lịch, internet…
Những gì thu được từ khai phá dữ liệu thật đáng giá Điều đó được chứng minh bằng thực tế: Chẩn đoán bệnh trong y tế dựa trên kết quả xét nghiệm đã giúp cho bảo hiểm y tế phát hiện ra nhiều trường hợp xét nghiệm không hợp lý, tiết kiệm được nhiều kinh phí mỗi năm; Trong dịch vụ viễn thông đã phát hiện ra những nhóm người phổ biến gọi cho nhau bằng mobile
và thu lợi hàng triệu USD; IBM Suft-Aid đã áp dụng khai phá dữ liệu vào phân tích các lần đăng nhập Web vào các trang liên quan đến thị trường để phát hiện sở thích khách hàng, từ đó đánh giá hiệu quả của việc tiếp thị qua Web và cải thiện hoạt động của các Website; trang Web mua bán qua mạng cũng tăng doanh thu nhờ áp dụng khai phá dữ liệu trong việc phân tích sở thích mua bán của khách hàng
1.2 Khai phá luật kết hợp trong cơ sở dữ liệu
1.2.1 Các khái niệm cơ sở
Mô hình đầu tiên của bài toán khai phá luật kết hợp là mô hình nhị phân (hay còn gọi là mô hình cơ bản) được R Agrawal, T Imielinski và A Swami đề xuất vào năm 1993[4], xuất phát từ nhu cầu phân tích dữ liệu của
cơ sở dữ liệu giao tác, phát hiện các mối quan hệ giữa các tập mục hàng hóa (Itemsets) đã bán được tại các siêu thị Việc xác định các quan hệ này không phân biệt vai trò khác nhau cũng như không dựa vào các đặc tính dữ liệu vốn
có của các mục dữ liệu mà chỉ dựa vào sự xuất hiện cùng lúc của chúng
Phần tiếp sau đây nêu một số khái niệm cơ bản dẫn đến bài toán khai phá tập mục phổ biến và luật kết hợp
1.2.2.1.Cơ sở dữ liệu giao tác
Định nghĩa 2.1:
Cho tập các mục (item) I i i1, , ,2 i Một giao tác (transaction) T là n
một tập con của I, T I Cơ sở dữ liệu giao tác là một tập các giao tác
1, , ,2 m
con X I, gồm k mục phân biệt được gọi là một k-tập mục Giao tác T gọi
là chứa tập mục X nếu X T
Trang 17Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Biểu diễn cơ sở dữ liệu giao tác: cơ sở dữ liệu giao tác thường được
biểu diễn ở dạng biểu diễn ngang, biểu diễn dọc và biểu diễn bởi ma trận giao tác
Biểu diễn ngang: Cơ sở dữ liệu là một danh sách các giao tác Mỗi
giao tác có một định danh TID và một danh sách các mục dữ liệu trong giao tác đó
1.2.2.2 Tập mục phổ biến
Định nghĩa 2.2: Cho tập mục X I Ta gọi độ hỗ trợ (Support) của X trong
cơ sở dữ liệu giao tác DB, ký hiệu sup(X), là tỷ lệ phần trăm các giao tác chứa
X trên tổng số các giao tác trong DB, tức là:
DB
Ta có: 0 ≤ sup(X) ≤ 1 với mọi tập mục X I
Định nghĩa 2.3: Cho tập mục X I và ngưỡng hỗ trợ tối thiểu (minimum
support) minsup 0,1 (được xác định trước bởi người sử dụng) X được gọi
là tập mục phổ biến (frequent itemset hoặc large itemset) với độ hỗ trợ tối thiểu minsup nếu sup( )X minsup, ngược lại X gọi là tập mục không phổ biến
Định nghĩa 2.4: Một luật kết hợp là một biểu thức dạng X Y, trong đó X,
Y I, thỏa mãn điều kiện X Y= Tập X gọi là tiền đề, tập Y gọi là kết luận của luật
Luật kết hợp có hai thông số quan trọng là độ hỗ trợ và độ tin cậy
Độ hỗ trợ và độ tin cậy của luật kết hợp:
Trang 18Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Định nghĩa 2.5: Độ hỗ trợ (Support) của một luật kết hợp( X Y ), ký hiệu là
Sup(X Y), là độ hỗ trợ của tập mục X Y, Sup(X Y)= sup(X Y)
Như vậy độ hỗ trợ của luật kết hợp ( X Y ) chính là xác suất P(X Y)
Khi đó, một luật kết hợp trong tập giao tác DB với độ hỗ trợ s, thì s là
số phần trăm của các giao tác trong DB có chứa X Y( chứa cả X và Y)
Khi chúng ta nói rằng độ hỗ trợ của một luật là 50%, có nghĩa là có 50% tổng số bản ghi chứa X Y Như vậy, độ hỗ trợ mang ý nghĩa thống kê
Trong một số trường hợp, chúng ta chỉ quan tâm đến những luật có độ
hỗ trợ cao Nhưng cũng có trường hợp, mặc dù độ hỗ trợ của luật thấp, ta vẫn cần quan tâm (ví dụ luật kết hợp liên quan đến nguyên nhân gây ra sự ngừng đập của tim khi phẫu thuật của ngành y học)
Định nghĩa 2.6: Độ tin cậy (Confidence) của một luật X Y, ký hiệu
conf (X Y), là tỷ lệ giữa số giao tác chứa X Y và số giao tác chứa X
trong cơ sở dữ liệu DB
Các giá trị của độ hỗ trợ và độ tin cậy của luật được viết giữa 0% và 100% thay cho các giá trị 0 tới 1 Điều đó cho ta thấy rằng, độ tin cậy của luật thể hiện sự tương quan (correlation) giữa X và Y
1.2.3 Khai phá luật kết hợp
Trang 19Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Bài toán khai phá luật kết hợp có thể phát biểu như sau:
Cho cơ sở dữ liệu giao tác DB, ngưỡng độ hỗ trợ tối thiểu minsup và ngưỡng độ tin cậy tối thiểu minconf
Yêu cầu: Tìm tất cả các luật kết hợp X→Y trên cơ sở dữ liệu DB sao cho sup(X→Y) ≥ minsup và conf(X→Y) ≥ minconf
Khai phá luật kết hợp này được gọi là bài toán cơ bản hay bài toán nhị phân, vì ở đây, giá trị của mục dữ liệu trong cơ sở dữ liệu là 0 hoặc 1 (xuất hiện hay không xuất hiện)
Bài toán khai phá luật kết hợp trong CSDL chia thành hai bài toán con: (1) Tìm tất cả các tập mục phổ biến thoả mãn độ hỗ trợ cực tiểu
(2) Sinh ra các luật kết hợp từ các tập mục phổ biến đã tìm được thỏa mãn độ tin cậy tối thiểu cho trước
Khi khai phá luật kết hợp trong CSDL DB thì mọi khó khăn nằm ở bài toán thứ nhất là tìm tập mục phổ biến
1.2.4 Các thuật toán điển hình khai phá tập mục phổ biến
Phần tiếp sau mô tả chi tiết nội dung hai thuật toán tiêu biểu: Thuật toán Apriori tiêu biểu cho phương pháp sinh ra các tập mục ứng viên và kiểm tra độ hỗ trợ của chúng; Thuật toán FP- Growth, đại diện cho phương pháp không sinh ra tập mục ứng viên, cơ sở dữ liệu được nén lên cấu trúc cây, sau
đó khai phá bằng cách phát triển dần các mẫu trên cây này
1.2.4.1 Thuật toán Apriori
Apriori là thuật toán khai phá tập mục phổ biến do R Agrawal và R Srikant đề xuất vào năm 1993 [4]
Giả sử các mục dữ liệu trong mỗi giao tác được lưu theo trật tự từ điển Thuật toán sử dụng các ký hiệu sau đây:
Trang 20Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Ck
Tập các k-tập mục ứng viên (các tập mục phổ biến tiềm năng) Mỗi phần tử của tập này có 2 trường:
i) Tập mục (itemsets) ii) Độ hỗ trợ (count)
Ý tưởng chính của thuật toán như sau: sinh ra các tập mục ứng viên từ các tập mục phổ biến ở bước trước, sử dụng kỹ thuật “tỉa” để bỏ đi những tập mục ứng viên không thoả mãn ngưỡng hỗ trợ cho trước Cơ sở của kỹ thuật này là tính chất Apriori: Bất kỳ tập con nào của tập mục phổ biến cũng phải là tập mục phổ biến Vì vậy các tập mục ứng viên gồm k mục có thể được sinh
ra bằng cách kết nối các tập mục phổ biến có (k-1) mục và loại bỏ tập mục ứng viên nếu nó có chứa bất kỳ một tập con nào không phải là phổ biến
Thuật toán duyệt cơ sở dữ liệu nhiều lần Mỗi lần duyệt, thuật toán thực hiện hai bước: bước kết nối và bước tỉa Trong lần lặp thứ k, thuật toán nối hai (k-1)-tập mục để sinh ra k-tập mục, sử dụng tính chất Apriori để tỉa các tập ứng viên Bước nối và bước tỉa như sau:
Bước kết nối (tìm Ck): Tập các k-tập mục ứng viên Ck được sinh ra bởi việc kết nối Lk-1 với chính nó Hai tập mục l1 và l2 của Lk-1 được nối nế
(l1[1] = l2[1]) (l1[2] = l2[2]) … (l1[k-2] = l2[k-2]) (l1[k-1] < l2[k-1]) Dạng của tập mục nhận được bởi nối l1 và l2 là:
Thuật toán Apriori ( tìm các tập mục phổ biến)
Trang 21Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Input: Cơ sở dữ liệu DB, ngƣỡng độ hỗ trợ minsup
Output: Tập các tập mục phổ biến L trong DB
Method:
(1) Tìm các 1-tập mục phổ biến, nhận đƣợc L1 ;
(2) For (k=2; Lk-1≠ ; k++) do begin
(3) Ck = apriori_gen(Lk-1, minsup); // Sinh tập ứng viên mới từ Lk-1
(5) C= subset(Ck,T) ; // Các tập mục ứng viên chứa trong T
(4) Ck { l1[1], l1[2], … l1[k-2],l1[k-1] l2[k-1]};
// kết nạp k-tập mục mới vào C k
// Bước tỉa
Trang 22Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
(5) For (each ci Ck) do
(6) If exist (s ci) and (s Lk-1) then
(7) delete ci from Ck;
(8) Return Ck;
1.2.4.2.Thuật toán FP_growth
Thuật toán Apriori gặp phải hai chi phí lớn:
- Chi phí sinh ra số lượng khổng lồ các tập ứng viên Ví dụ, nếu có 104mục phổ biến thì thuật toán Apriori sẽ cần sinh ra hơn 107 các ứng viên 2-tập mục và thực hiện kiểm tra độ hỗ trợ của chúng
- Lặp nhiều lần duyệt cơ sở dữ liệu, số lần duyệt cơ sở dữ liệu của thuật toán Apriori bằng độ dài của tập mục phổ biến dài nhất tìm được Thuật toán Apriori chỉ thích hợp cho các cơ sở dữ liệu thưa (sparse), với các cơ sở dữ liệu dày (dense) thì thuật toán thực hiện kém hiệu quả
Để khắc phục nhược điểm trên của thuật toán Apriori, J Han, J Pei, Y Yin và R Mao đề xuất thuật toán FP-growth [5] Thuật toán FP-growth được xây dựng với 3 kỹ thuật chính:
(1) Nén dữ liệu thích hợp vào một cấu trúc cây gọi là cây FP-tree Chỉ
có các 1-tập mục (1-item) ở trong cây và các nút của cây được sắp xếp để các nút xuất hiện phổ biến hơn có thể dễ dàng chia sẻ với các nút xuất hiện ít hơn
(2) Thực hiện phương pháp khai phá phát triển (growth) từng đoạn dựa trên cây FP-tree gọi là phương pháp FP-growth)
(3) Kỹ thuật tìm kiếm được dùng ở đây là dựa vào sự phân chia, “chia
để trị”, phân rã nhiệm vụ khai phá thành các nhiệm vụ nhỏ hơn
Thuật toán FP-growth nén toàn bộ cơ sở dữ liệu lên một cấu trúc dữ liệu nhỏ hơn là cây FP-tree nên tránh được việc duyệt nhiều lần cơ sở dữ liệu (thuật toán chỉ duyệt cơ sở dữ liệu 2 lần) Tiếp theo thuật toán khai phá cây bằng cách phát triển dần các mẫu mà không sinh các tập mục ứng viên, do đó tránh được khối lượng tính toán lớn Tuy vậy, thuật toán FP-growth khai phá
Trang 23Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
cây FP-tree sử dụng phương pháp đệ quy, đòi hỏi khối lượng tính toán lớn và cần nhiều bộ nhớ Năm 2003, nhóm tác giả Mohammad El-Hajj và Osmar R Zaiane ở đại học Alberta Edmonton, Canada đề xuất thuật toán không đệ quy
khai phá cây FP-tree dựa trên cấu trúc cây COFI-tree (Co-Occurrence Frequent Items tree) Thuật toán COFI-treecó nhiều ưu điểm hơn thuật toán
FP-growth)
Thuật toán COFI-tree[11] gồm 2 giai đoạn chính Giai đoạn thứ nhất, xây dựng cây FP-tree Giai đoạn thứ hai, khai phá cây FP-tree chia thành nhiều bước tương ứng với các mục dữ liệu trong bảng đầu mục của cây FP-tree, mỗi bước sử dụng một cấu trúc dữ liệu phụ trợ là cây COFI-tree của mục
dữ liệu đó
Mỗi nút của cây FP-tree gồm 3 trường: tên mục dữ liệu, độ hỗ trợ và một con trỏ (con trỏ này trỏ đến nút tiếp theo cùng tên trên cây hoặc là null nếu không có) Cây FP-tree có một bảng đầu mục (header table) Mỗi mục của bảng có 3 trường: tên mục dữ liệu, độ hỗ trợ và con trỏ, con trỏ này trỏ đến nút đầu tiên biểu diễn mục dữ liệu này trong cây
Cây COFI-tree có bảng đầu mục giống như cây FP-tree nhưng các mục
dữ liệ ứ tự ngược lại Mỗi mục trong bảng đầu mục chứa 3 trường: tên mục dữ liệu, độ hỗ trợ địa phương (số lần xuất hiện của mục dữ liệu trong cây COFI-tree) và con trỏ (trỏ đến nút đầu tiên biểu diễn mục dữ liệu này trong cây) Một danh sách liên kết được duy trì giữa các nút cùng tên để thuận lợi cho quá trình khai phá Mỗi nút của cây COFI-tree có 4 trường: tên mục dữ liệu, hai biến s và p (biến s biểu diễn độ hỗ trợ của nút, biến p cho biết số lần nút đó đã tham gia tạo mẫu), con trỏ (trỏ đến nút tiếp theo cùng tên trên cây)
1.2.6 Thuật toán sinh luật kết hợp:
Phần này trình bày thuật toán tìm các luật kết hợp từ các tập mục phổ biến(theo [4])
Trang 24Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Thuật toán đơn giản:
Sinh ra các tập con của tập mục phổ biến theo kiểu đệ qui ƣu tiên độ sâu Ví dụ: với tập mục ABCD, đầu tiên chúng ta xét tập con ABC, sau đó đến AB,
Tiếp đến, nếu tập con X của tập mục L không sinh ra đƣợc luật thì ta không cần xét đến các tập con cuả nó nữa Chẳng hạn: nếu luật ABC D không đủ độ tin cậy thì ta không cần xét luật AB CD
Điều này có thể chứng minh đơn giản nhƣ sau:
Nếu luật X (L\X) không thoả mãn độ tin cậy, tức là: conf(X (L\X)) nhỏ hơn minconf, thế thì với bất kỳ tập con Y nào của X ta có:
Vì Y X nên supp(Y) supp(X), do vậy:
Tức là độ tin cậy của luật Y (L\Y) cũng nhỏ hơn minconf
Thuật toán đơn giản có thể mô tả nhƣ sau:
1) for all a m – 1 A do begin
2) conf = support(lk)/support(a m – 1 );
3) if (conf minconf) then
i begin 4) output the rule a m – 1 (lk - a m – 1 ),
i with confidence = conf and support=Support(l k )
Trang 25Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Thuật toán nhanh hơn:
Ở trên ta đã chỉ ra rằng nếu một luật không thoả mãn với tập cha X thì
cũng không thoả mãn với tập con của nó Ví dụ như trên đã xét: nếu ABC
D không đủ độ tin cậy thì luật AB CD cũng không đủ độ tin cậy Điều đó
có thể áp dụng theo hướng ngược lại như sau: nếu xảy ra luật với tập con thì
cũng xảy ra luật với tập cha Ví dụ: nếu luật AB CD có đủ độ tin cậy thì luật ABC D cũng đủ độ tin cậy
Thuật toán 2 :
For all large itemsets lk, k 2 do begin
H1 ={ Các phần kết luận của các luật nhận được từ lk với 1- mục ở kết luận};
3) For all hm + 1 Hm + 1do begin
4) conf = support(lk)/support(lk - h m + 1);
5) if (conf minconf) then
6) output the rule (lk - hm + 1) hm + 1
//với độ tin cậy là conf và độ hỗ trợ là support(lk);
Trang 26Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Thuật toán nhanh hơn này sử dụng thủ tục apriori_genmô tả ở phần thuật
toán Apriori ở trên Ta xem tại sao thuật toán 2 này nhanh hơn thuật toán 1 ở trên:
Ví dụ, ta xét tập mục ABCDE Giả sử rằng ACDE B và ABCE D
là các luật có 1- mục ở phần kết luận thoả mãn độ hỗ trợ cực tiểu minconf
Trong thuật toán đơn giản ở trên, gọi đệ qui genrules(ABCDE, ACDE)
sẽ kiểm tra các luật với 2-mục ở phần kết luận là: ACD BE, ADE BC, CDE BA, và ACE BD
Luật thứ nhất không xảy ra vì E BE và ABCD E không thoả mãn độ
tin cậy Các luật thứ hai và thứ ba cũng không thoả mãn độ tin cậy với lí do tương tự
Chỉ có một luật với 2-mục ở phần kết luận nhận được là ACE BD , ở
đó B và D là các kết luận của các luật hợp lệ có 1-mục ở phần kết luận Thuật
toán nhanh hơn mô tả ở trên chỉ kiểm tra một luật này
1.2.7 Một số mở rộng khai phá luật kết hợp
Lĩnh vực khai phá luật kết hợp cho đến nay đã được nghiên cứu và phát triển theo nhiều hướng khác nhau Các hướng chính mở rộng là:
- Luật kết hợp nhị phân (Binary association rule): là hướng nghiên
cứu đầu tiên của luật kết hợp Theo dạng luật kết hợp này thì các items chỉ được quan tâm là có hay không có xuất hiện trong cơ sở dữ liệu giao tác (Transaction database) Thuật toán tiêu biểu nhất của khai phá dạng luật này
là thuật toán Apriori)
- Luật kết hợp có thuộc tính số và thuộc tính hạng mục: các cơ sở
dữ liệu thực tế thường có các thuộc tính đa dạng (như nhị phân, số, mục (categorial) ) chứ không nhất quán ở một dạng nào cả Vì vậy để khai phá luật kết hợp trong các cơ sở dữ liệu này các nhà nghiên cứu đề xuất một số phương pháp rời rạc hóa nhằm chuyển CSDL cần khai phá về dạng nhị phân
Trang 27Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
để có thể áp dụng các thuật toán đã có Luật kết hợp với thuộc tính được đánh trọng số trong cơ sở dữ liệu thường không có vai trò như nhau Một số mục
dữ liệu quan trọng và được chú trọng hơn các mục dữ liệu khác sẽ được gán trọng số lớn hơn
- Luật kết hợp tiếp cận theo hướng tập thô (mining association rule
base on rough set): tìm kiếm luật kết hợp dựa trên lí thuyết tập thô
- Luật kết hợp nhiều mức (multi-level association rules): với cách tiếp
cận luật kết hợp này sẽ tìm kiếm thêm những luật có dạng như: mua máy tính
PC thì mua hệ điều hành Window AND, mua phần mềm văn phòng Microsoft Office,…
- Luật kết hợp mờ (fuzzy association rule): Với những khó khăn gặp
phải khi rời rạc hóa các thuộc tính số, các nhà nghiên cứu đề xuất luật kết hợp
mờ khắc phục hạn chế đó và chuyển luật kết hợp về một dạng gần gũi hơn
- Khai phá luật kết hợp song song (parallel mining of association
rule): Nhu cầu song song hóa và xử lý phân tán là cần thiết vì kích thước dữ liệu ngày càng lớn nên đòi hỏi tốc độ xử lý phải được đảm bảo
Trên đây là những mở rộng, biến thể của khai phá luật kết hợp) cho phép ta tìm kiếm luật kết hợp một cách linh hoạt trong những cơ sở dữ liệu lớn Ngoài ra còn một số khái niệm mở rộng của các luật kết hợp đó là: Luật kết hợp định lượng, Luật kết hợp tổng quát, Việc khai phá luật kết hợp dựa trên các khái niệm mở rộng này cho phép phát hiện được nhiều luật kết hợp
mà các thuật toán khai phá luật kết hợp cơ sở không tìm thấy được Ví dụ, với luật kết hợp định lượng cho phép người ta phát biểumộtluật
Trang 28Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
khai phá Sau hai thuật toán điển hình tìm tập mục phổ biến làthuật toán Apiori và FP-growth, chương 1 cũng đã trình bày thuật toán sinh luật kết hợp
Phát hiện luật kết hợp hiếm là một phần của bài toán phát hiện luật kết hợp và hiện đang nhận được nhiều sự quan tâm của các nhà nghiên cứu Luật kết hợp hiếm được ứng dụng ở nhiều các lĩnh vực khác nhau Ví dụ: các luật hiếm sẽ giúp xác định được các bệnh hiếm gặp trong y khoa, giúp xác định được các mặt hàng tuy ít xảy ra trong các giao dịch mua bán nhưng lại có giá trị lớn hoặc mang lại lợi nhuận cao trong kinh tế, dự báo việc hỏng thiết bị truyền thông, phát hiện dấu hiệu tràn dầu trên hình ảnh vệ tinh….Trong [14],
L Szathmary đã trình bày hai ứng dụng nổi tiếng của luật kết hợp hiếm, đó là luật kết hợp hiếm “ăn chay” → “bệnh tim mạch” trong CSDL điều trị bệnh nhân Stanislas ở Pháp và luật kết hợp hiếm giữa các loại thuốc hạ Lipid trong máu Cerivastatin ảnh hưởng tới một số bệnh nhân (dẫn tới quyết định thu hồi loại thuốc này trên thị trường dược phẩm)
Phần lớn các thuật toán phát hiện luật kết hợp hiện nay thường chỉ thực hiện tìm các tập phổ biến cho các luật có độ hỗ trợ và độ tin cậy cao Việc
Trang 29Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
ứng dụng các thuật toán này, chẳng hạn như thuật toán Apriori để tìm tập hiếm (có độ hỗ trợ nhỏ hơn một giá trị chung minSup nào đó cho trước) tương ứng với các luật hiếm là không hiệu quả vì khi đó phải đặt ngưỡng độ hỗ trợ cực tiểu rất nhỏ nên số lượng các tập tìm được sẽ khá lớn (trong khi chỉ có một phần trong các tập tìm được là tập không phổ biến theo ngưỡng độ hỗ trợ cực tiểu minSup), chi phí cho việc tìm kiếm sẽ tăng lên
Nhằm khắc phục những khó khăn này, các thuật toán riêng tìm các luật hiếm đãđược phát triển theo cách tiếp cận chính được trình bày phần 2.2
2.2 Một số hướng nghiên cứu chính phát hiện luật kết hợp hiếm
2.2.1 Sử dụng ràng buộc phần hệ quả của luật
Các phương pháp này đưa ra danh sách các mục sẽ xuất hiện trong một phần của luật và được sử dụng như là điều kiện trong quá trình sinh luật Cách tiếp cận này chỉ hiệu quả khi biết trước được thông tin về các mục dữ liệu, chẳng hạn phải xác định trước được mục dữ liệu nào sẽ xuất hiện trong phần
hệ quả của luật
Phương pháp phát hiện luật kết hợp hiếm bằng cách cố định phần hệ quả được I Rahal và cộng sự giới thiệu vào năm 2004 [16] Các tác giả sử dụng kỹ thuật SE-tree và P-tree nhằm tìm các luật tin cậy nhỏ nhất sử dụng phần hệ quả cố định (fixed-consequent) mà không cần xác định ngưỡng độ hỗ trợ
Giả sử có hai luật R1và R2, với độ tin cậy lớn hơn độ tin cậy cực tiểu: R1: A →C và R2: AB →C, R1 được cho là hay hơn vì phần tiền đề của luật R1 là tập con của phần tiền đề của luật R2 Độ tin cậy của luật R1 là lớn hơn hoặc bằng độ tin cậy của luật R2 R1 được coi là luật nhỏ và R2 được coi
là luật không nhỏ (hay phức hợp)
J Li và cộng sự, giới thiệu hướng tiếp cận khác là tìm các luật có độ tin cậy cao (100%) bằng cách sử dụng kỹ thuật phân hoạch CSDL và đường biên Theo hướng này, các tác giả chỉ dùng ngưỡng độ tin cậy cực tiểu mà không
Trang 30Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
dùng ngưỡng độ hỗ trợ cực tiểu Tuy nhiên phần hệ quả của luật phải được xác định trước Bằng cách thực hiện tương tự, phương thức để tìm các luật có
độ tin cậy cao (chẳng hạn 90%) hay các luật có độ tin cậy bằng không cũng được giới thiệu Phương pháp này còn được gọi là phương pháp EP (Emerging Pattern)
R.J.Bayardo và cộng sự chỉ ra rằng các tập phổ biến ứng viên tìm được
để phát hiện luật là rất nhiều, nhất là trong các CSDL dày Nhằm hạn chế nhược điểm này, các tác giả đưa ra phương pháp tìm kiếm luật dựa trên ràng buộc phần hệ quả(consequent constraint) C trong quá trình phát hiện luật Ràng buộc phần hệ quả được xác định bởi người sử dụng
Các tác giả đã đưa ra một độ đo mới, được gọi là hệ số cải tiến (improvement) Tư tưởng chính của các tác giả là nhằm phát hiện các luật có
độ tin cậy lớn hơn giá trị hệ số cải tiến cực tiểu
Hệ số cải tiến của luật A →C được định nghĩa như sau:
Imp(A→C) = min{conf(A→C) - conf(A’→C)} với tất cả A’ ⊂A
Nếu hệ số cải tiến của một luật lớn hơn 0 thì loại bỏ các kết hợp không rỗng của các mục dữ liệu từ phần tiền đề của luật sẽ làm giảm độ tin cậy ít nhất là bằng hệ số cải tiến Vì vậy, tất cả các mục dữ liệu và kết hợp của các mục dữ liệu trong phần tiền đề của luật với hệ số cải tiến lớn sẽ góp phần quan trọng trong việc dự báo Ngược lại, với các luật có hệ số cải tiến âm được cho là các luật không mong muốn
Các tác giả phát triển thuật toán Dense-Miner nhằm tìm tất cảcác luật
có phần hệ quả của luật là C và thỏa mãn 3 tham số do người sử dụng xác định là: độ hỗ trợ cực tiểu, độ tin cậy cực tiểu và hệ số cải tiến
2.2.2 Thiết lập đường biên phân chia các tập phổ biến và không phổ biến
Theo hướng tiếp cận đường biên phân chia giữa tập phổ biến và tập không phổ biến, luật hiếm Sporadic tuyệt đối và không tuyệt đối do Y S Koh
và cộng sự đề xuất [8,9] là một dạng luật hiếm thú vị mà luận văn sẽ tập trung làm rõ