Phát hiện luật kêt hợp mờ có độ hô trợ không giông nhau Trang6LỜI GIỚI THIỆU Vấn đề phát hiện luật kết họp từ các cơ sở dữ liệu tác vụ CSDL có thuộc tính nhận giá trị nhị phân được nhóm
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI KHOA CÔNG NGHỆ
HOÀNG VIỆT NGUYÊN
Trang 2Phát hiện luật kêt hợp mờ có độ hô trợ không giông nhau Trang 1
MỤC LỤC LỜI GIỚI THIỆU
CHƯƠNG I C ơ SỞ LÝ THUYẾT CỦA CÁC THUẬT TOÁN KHAI PHÁ LUẬT
KẾT HỢP CHARM VÀ ACLOSE 10
I Giới thiệu luật kết h ợ p 10
L ì Ỷ nghĩa thực tiễn của luật kết hợp 10
1.2 Mô hình hình thức luật kết hợp 11
1.3 Phân loại thuật toán phát hiện luật kết hợp hiện c ó 13
II Cơ sở lý thuyết thuật toán CHARM và ACLOSE 15
II 1 Các kiến thức chuẩn b ị 15
II 2 Phương pháp xây dựng thuật toán CHARM và ACLOSE 19
III Thuật toán CHARM và ACLOSE 20
III 1 Thuật toán CHARM 20
III 2 Thuật toán AC LO SE 25
IV So sánh thuật toán CHARM VÀ AC LOSE 32
CHƯƠNG II MỘT SỐ CÁCH TIẾP CẬN PHÁI HIỆN LUẬT KẾT HỢP M Ớ I 37
I Phát hiện luật kết hợp có ràng buộc độ hỗ trợ 38
1.1 Vấn đề đặt r a 38
1.2 Các kiến thức chuẩn bị 39
1.3 Thuật toán phát hiện luật kết hợp ràng buộc độ hỗ trợ 40
II Phát hiện luật kết hợp gắn trọng s ố 41
II 1 Vấn đề đặt ra 41
11.2 Các kiến thức chuẩn b ị 41
II 3 Thuật toán phát hiện luật kết hợp với mụcdữ liệu gắn trọng số 45
III Phát hiện luật kết hợp có độ hỗ trợ không giống nhau 49
III 1 Vấn đề đặt r a 49
111.2 Các kiền thức cần thiết 49
Hoàng Việt Nguyên - Luận văn ThạcSĩ - Khoa Công nghệ ĐHQ(Ỉ Hà Nội _ _
ĐẠí học q u ò c gia hà NÔI 'Ị
TRÙNGTÃM THỜNGTỊN.THƯ VIỆN I
Trang 3Phát hiện luật kêt hợp mờ có độ hô trợ không giỏng nhau Trang 2
III 3 Thuật toán tìm tập phổ biến cực đại có độ hỗ trợ không giống nhau 51
CHƯƠNG III PHÁT HIỆN LUẬT KẾT HỢP MỜ VỚI MỤC DỮ LIỆU CÓ Đ ộ HỒ TRỢ KHÔNG GIỐNG NHAU 60
I Tại sao cần phải phát hiện luật kết hợp m ờ 60
II Luật kết họp m ờ 62
II.ỉ Luật kết hợp m ờ 62
II.2 Một số thuật toán phát hiện luật kết hợp mờ hiện c ỏ 63
III Các kiến thức cần thiết xây dựng thuật toán tìm tập phổ biến mờ cực đại có độ hỗ trợ không giống nhau 66
IV Thuật toán phát hiện tập phổ biến mờ có độ hỗ trợ không giống nhau 72
IV 1 Tư tưởng xây dựng thuật toán 72
IV.2 Thuật toán FUZZY CHARM-NEW 74
IV.3 Ví dụ minh hoạ thuật toán FUZZY CHARM-NEW 75
IV.4 Nhận xét - Đánh g iả 79
KÉT LUẬN
TÀI LIỆU THAM KHẢO
Hoàng Việt Nguyên - Luận văn ThạcSĩ - Khoa Công nghệ ĐHQG Hà Nội
Trang 4Phát hiện luật kêt hợp mờ cỏ độ hô trợ không giông nhau Trang3
DANH MỤC HÌNH VẺ
Hĩnh 1 Hệ thống một số thuật toán phát hiện luật kết hợp hiện có 14
Hình 2 Cây tìm kiếm minh hoạ thuật toán CH ARM 24
Hình 3 So sảnh các thuật toán -Cây tìm kiếm thuật toán Apriori .35
Hình 4 So sảnh các thuật toán - Cây tìm kiếm thuật toán CH ARM 35
Hình 5 So sảnh các thuật toán - Cây tìm kiếm thuật toán ACLOSE 36
Hình 6 Cây tìm kiếm thuật toán CHARM-NEW 56
Hình 7.Rời rạc hoá mục dữ liệu Tuổi(Age) trong miền giá trị [10 40] thành 3 khoảng[10 20], [20 30], [30 40] 62
Hình s Gắn ihuộc tính Tuổi(Age) trong miền giả trị [10 40] với tập mờ Tuỏi trẻ, Tuổi thanh niên, Tuổi trung niên Các giá trị thuộc tính trong miền [20 30] thuộc về tập mờ Tuổi thanh niên 62
Hình 9 Cây tìm kiếm mô tả thuật toán FUZZY CHARM-NEW 77
Hoàng Việt Nguyên - Luận văn ThạcSĩ - Khoa Công nghệ ĐHQG Hà Nội
Trang 5Phát hiện luật kêt hợp mờ cỏ độ hô trợ không giông nhau Trang4
Bảng 1 Cơ sở dữ liệu tác v ụ 12
Bảng 2 Độ ho trợ của các tập mục dừ liệu 12
Bảng 3 Luật kết h ợ p 13
Bảng 4 CSDL minh họa thuật toán CHARM 23
Bảng 5 Bảng ký kiệu thuật toán ACLOSE .26
Bảng 6 CSDL ví dụ thuật toán ACLOSE .30
Bảng 7 Ket quả thuật toán ACLOSE 32
Bảng 8 Ví dụ minh hoạ ràng buộc độ ho trợ .40
Bảng 9 CSDL minh huạ các mục dữ liệu gắn trọng sổ 47
Bảng 10 Các biên K- hỗ trợ cho tập Y gắn trọng sổ .48
Bảng 11 CSDL minh hoạ thuật toán CHARM-NEW 55
Bảng 12 Rời rạc hoá dữ liệu trong trường hợp các thuộc tính định lượng rời r ạ c 60
Bảng 13 Rời rạc hoá dữ liệu trong trường hợp các thuộc tính định lượng liên tụ c 61
Bảng 14 Cơ sở dữ liệu định lượng ban đ ầ n 68
Bảng 15 Cơ sở dữ liệu m ờ 69
Bảng 16 CSDL định lượng minh họa thuật toán FUZZY CHARM-NEW 75
Bảng 17 Ngữ cảnh dữ liệu mờ của CSDL minh họa 76
Bảng 18 Một ngữ cảnh phát hiện dữ liệu mờ của ví dụ minh hoạ 76
Hoàng Việt Nguyên - Luận văn ThạcSĩ - Khoa Công nghệ ĐHQG Hà Nội
Trang 6Phát hiện luật kết hợp mờ có độ hỗ trợ không giống nhau Trang5
KÝ HIỆU VÀ TỪ VIÉT TẤT
Hoàng Việt Nguyên - Luận văn ThạcSĩ - Khoa Công nghệ ĐHQG Hà Nội
Trang 7Phát hiện luật kêt hợp mờ có độ hô trợ không giông nhau Trang6
LỜI GIỚI THIỆU
Vấn đề phát hiện luật kết họp từ các cơ sở dữ liệu tác vụ (CSDL có thuộc tính nhận giá trị nhị phân) được nhóm Data Quest thuộc Trung tâm nghiên cứu Amaden của tập đoàn IBM kết hợp cùng một số nhà khoa học của Trường Đại học Tổng hợp Hensinki đề xuất lần đầu vào năm 1993 [5] Từ đó đến nay nó được đặc biệt quan tâm phát triển , hiện đã trở thành một trong những khuynh hướng nghiên cứu và ứng dụng quan trọng của khai phá dữ liệu (data mining) Việc phát hiện luật kết hợp không chỉ được ứng dụng trong thương mại mà hiện còn được ứng dụng trong rất nhiều ngành kinh tế, khoa học, xã hội khác như Tài chính, Ngân hàng, Y tế, Giáo dục, nghiên cứu môi trườ ng, [1-3,5-7,9,13]
Vấn đề phát hiện luật kết hợp được phân thành 2 vấn đề con đó là: (a) Tìm các tập phổ biến (đó là tập các mục dữ liệu có độ hỗ trợ không nhỏ hơn giá trị chung minsup nào đó) và (b) sinh ra luật kết hợp có độ tin cậy không nhỏ hơn một giá trị minconf nào đó từ các tập phổ biến vừa tìm được Sự phức tạp và khó khăn của vấn
đề phát hiện luật kết hợp chủ yếu tập trung ở vần đề tìm tập phổ biến (a)
Việc cải tiến hoặc tìm kiếm các thuật toán hiệu quả hơn để tìm các tập phổ biến
từ các CSDL nói chung là lớn, thậm chí rất lớn là hướng nghiên cứu được ưu tiên nhất trong vấn đề phát hiện luật kết hợp thời gian qua Hiện tại đã có khá nhiều thuật toán phát hiện luật kết hợp theo nhiều cách tiếp cận khác nhau và các thuật toán này đều dựa trên việc tìm các tập phổ biến với độ hỗ trợ chung như nhau Quan điểm sử dụng độ hỗ trợ chung để tìm các tập phổ biến đã cho thấy là chưa thật hợp lý với thực tế cuộc sống và người ta đã khắc phục vấn đề này bằng cách xây dựng thuật toán phát hiện luật kết hợp trong điều kiện có ràng buộc độ hỗ trợ [11] hoặc Phát hiện luật kết hợp khi tập dữ liệu (itemsets) được gắn với trọng số [8] hoặc các luật kết hợp được phát hiện thông qua việc tìm các tập phổ biển với các mục dữ liệu có
độ hỗ trợ cực tiểu không giống nhau [2] Thực tế việc phát hiện các luật kết hợp thực
Hoàng Việt Nguyên - Luận văn ThạcSĩ - Khoa Công nghệ ĐHQG Hà Nội
Trang 8Phát hiện luật kêt hợp mờ có độ hô trợ không giông nhau Trang7
sự trở lên có ý nghĩa ứng dụng to lớn khi người ta giải quyết được vấn đề phát hiện luật kết hợp từ các cơ sở dữ liệu định lượng (CSDL mà các thuộc tính nhận giá trị số hoặc phân loại) Phương pháp giải quyết ở đây là chuyển cơ sở dữ liệu định lượng thành cơ sở dữ liệu tác vụ (hay CSDL nhị phân), rồi sau đó áp dụng các thuật toán phát hiện luật kết họp từ CSDL tác vụ đã biết Việc chuyển CSDL định lượng thành CSDL tác vụ có nhược điểm quan trọng là cồng kềnh và thiếu “tự nhiên” tại các điểm “gãy” như đã được chỉ rõ trong [8],
Khắc phục tình trạng này người ta đề xuất ứng dụng lý thuyết tập mờ trong quá trình chuyển đổi CSDL định lượng thành CSDL mới thay thế vai trò của CSDL nhị phân (có thể gọi là CSDL mờ), và từ đó vấn đề phát hiện luật kết hợp mờ được ra đời Dây ỉà vấn đề được quan tâm nghiên cứu mạnh trong vài năm gần đây
Các nghiên cứu trong [2,8] đã làm nẩy sinh vấn đề nghiên cứu và xây dựng kỹ thuật phát hiện luật kết hợp mờ với các mục dữ liệu có độ hỗ trợ cực tiểu không
giổng nhau từ các CSDL có định lượng Đề tài luận văn cao học “Phát hiện luật kết
hợp mờ có độ hỗ trợ không giống nhau” được thực hiện theo hướng góp phần giải
đáp vấn đề đó Cụ thể mục đích của bản luận văn này là hệ thống những vấn đề liên
quan theo hướng chuẩn bị một số kiến thức cơ bản cần thiết nhằm giải quyết vấn đề đặt ra và trình bầv một số kết quả nghiên cứu ban đầu về giải pháp kỹ thuật giải quyết vấn đề đó.
Luận văn có 83 trang bao gồm phần mở đầu, 3 chương nội dung, phần kết luận và tài liệu tham khảo
Chương 1: Cơ sở lý thuyết của các thuật toán khai phá luật kết hợp CHARM và A-
CLOSE gồm các trang từ 10 đến trang 38 Sau khi trình bày tổng quát một số khái
niệm, nội dung cơ bản nhất về vấn đề phát hiện luật kết hợp, các thuật toán phát hiện luật kết hợp, chương này sẽ tập trung trình bầy cơ sở lý thuyết của 2 thuật toán phát hiện luật kết họp mới và hiệu quả nhất hiện nay CHARM và ACLOSE cũng như giới thiệu chi tiết về 2 thuật toán đó Thực sự 2 thuật toán này đã được xây dựng
Trang 9Phát hiện luật kết hợp mờ có độ hỗ trợ không giống nhau Trang8
theo cách tiếp cận rất khác với các cách tiếp cận của các thuật toán được xây dựng trước đó và việc đánh giá so sánh hai thuật toán này với nhau cũng góp phần làm rõ thêm cách tiếp cận xây dựng của chúng
Chương 2: Một số cách tiếp cận phát hiện luật kết hợp mới từ trang 39 đến trang 61
sẽ tập trung trình bầy một số hạn chế của các luật kết họp được phát hiện trong điều kiện chúng có độ hỗ trợ cực tiểu chung như nhau (cho đến thời điểm này việc ứng dụng các luật kết họp chủ yếu được thực hiện trong điều kiện như vậy) và một số cách tiếp cận nghiên cứu nhằm khắc phục những hạn chế đó Chương này trình bầy
3 cách tiếp cận chính hiện nay là phát hiện luật kết hợp khi các tập dữ liệu (itemsets)
có ràng buộc độ hỗ trợ; phát hiện luật kết họp có các mục dữ liệu được gắn trọng số
và phát hiện luật kết họfp khi các mục đừ liệu có độ hỗ trợ cực tiểu không giống nhau Một số so sánh đánh giá ban đầu về 3 cách tiếp cận đó cũng được giới thiệu trong chương 2
Chương 3: Phát hiện luật kết hợp mờ có độ hỗ trợ cực tiếu không giống nhau gồm
các trang từ trang 62 đến trang 82 Sau khi trình bầy một số lý do vì sao cần phát hiện luật kết hợp mờ, một số khái niệm cơ bản của phát hiện luật kết hợp mờ, chương 3 sẽ tập trung trình bầy một số kiến thức chuẩn bị và thuật toán FUZZY CHARM-NEW để tìm các tập phổ biến mờ với các tập thuộc tính có độ hỗ trợ cực tiểu không giống nhau
Trong Phần kết luận sẽ trình bầy tóm tắt những nội dung chính của luận văn, một số hạn chế chủ yếu và hướng nghiên cứu tiếp theo của bản luận văn này
Cuối cùng tác giả xin cảm ơn sự giúp đỡ và hướng dẫn tận tình của Ts Đỗ Văn Thành - Văn Phòng Chính Phủ trong quá trình thực hiện luận văn Tác giả xin chân thành cám ơn các thầy cô khoa Công nghệ- Đại học Quốc gia Hà Nội đã tạo điều
Trang 10Phát hiện luật kêt hợp mờ có độ hô trợ không giông nhau Trang9
kiện và giúp đỡ trong quá trình học tập và làm luận văn và Xê mi na: “ Khai phá tri thức trong các cơ sở dữ liệu” của Khoa đã tạo điều kiện cho tác giả được trình bầy
và đã góp ý kiến để tác giả chỉnh sửa, hoàn thiện bản luận văn này
Xin cám ơn sự giúp đỡ của bạn bè đồng nghiệp và các bạn lớp 7KT - Khoa Công Nghệ trong suốt quá trình học tập và làm khoá luận
Hà Nội, ngày 01 tháng 06 năm 2003
Học viên
Hoàng Việt Nguyên
Hoàng Việt Nguyên - Luận văn ThạcSĩ - Khoa Công nghệ ĐHQG Hà Nội
Trang 11Phát hiện luật kêt hợp mờ có độ hô trợ không giông nhau Trang 10
CHƯƠNG I
CO SỞ LÝ THUYÉT CỦA CÁC THUẬT TOÁN KHAI PHÁ LUẬT KÉT
HỢP CHARM VÀ ACLOSE
I Giới thiệu luật kết hợp
1.1 Ỷ nghĩa thực tiễn của luật kết hợp
Phát hiện luật kết hợp được đề xuất lần đầu bởi R Agrawal vào năm 1993 [5],
được quan tâm phát triển mạnh trong những năm qua và hiện đã trở thành một trong những khuynh hướng nghiên cứu ứng dụng quan trong của Khai phá dữ liệu (Data Mining) [5,6,7,9,13,14]
Xuất phát từ “rổ “ dữ liệu (data basket) về tình hình bán hàng cùa siêu thị, người ta mong muốn phát hiện được những tri thức tiềm ẩn có giá trị nhằm hỗ trợ cửa hàng trong việc hoạch định chiến lược kinh doanh như tiếp thị quảng cáo (nên thiết kế mẫu quảng cáo thế nào?), cơ cấu các mặt hàng cần được bán, bố trí hợp lý các gian hàng trong siêu thị (bố trí sắp xếp hàng hoá ra sao? cần bổ sung thêm những hàng hoá gì, số lượng bao nhiêu?), , vấn đề phát hiện luật kết hợp đã ra đời [5,6 ]
về bản chất luật kết hợp biểu thị mối quan hệ giữa tập con các mặt hàng (gọi là tập mục dữ liệu ) trong cơ sở dữ liệu siêu thị
Như vậy, để phát hiện được các luật kết họp cần phải tìm tất cả các tập con của các mặt hàng được thường xuyên xuất hiện trong cơ sở dữ liệu (được gọi là tập phổ biến) và rút ra các luật cho biết tập con của các mặt hàng này đã ảnh hưởng thế nào đến sự xuất hiện của tập con các mặt hàng khác
Các phát biểu như: “90% những người mua bánh mì và bơ cũng mua sữa và cà
phê”, là một dạng của luật kết hợp.
Hoàng Việt Nguyên - Luận văn ThạcSĩ - Khoa Công nghệ ĐHQG Hà Nội
Trang 12Phát hiện luật kêt hợp mờ có độ hô trợ không giông nhau Trang 11
1.2 M ô hình hình thức luật kết hợp
Giả sử I C 3 = { i|, i2, im} là tập của các thuộc tính nhị phân X c I gọi là
tập dữ liệu (tên mỗi loại hàng được xem là một mục dữ liệu), <D là cơ sở dữ liệu của
các tác vụ (mỗi vụ mua hàng của một khách hàng nào đó được xem là một tác vụ),
nói cách khác <T) c 21 Mỗi một tác vụ t (có định danh là TID) c o (tập các tác vụ)
được biểu diễn như một véc tơ nhị phân, với t[k] = 1 nếu t chứa mục ik, ngược lại
t[k] = 0
Luật kết hợp (Association Rule) là biểu thức có dạng
y trong đỏ X c l , Y c l v ầ X n 7 = 0
Có nghĩa là các tác vụ trong cơ sở dữ liệu chứa X thì cũng có xu hướng chứa Y
Độ hỗ trợ (Support): supp(A) của một tập mục dừ liệu X là tỷ số giữa số các
tác vụ mà tập mục dữ liệu đó xuất hiện trên tổng số các tác vụ trong CSDL
S(x) = {||te<7), xet|| / \\<T)\\ } trong đó IIII là số phần tử của một tập.
Độ hỗ trợ của luật kết hợp r : X -* Y, ký hiệu supp(r) (0 < supp(r) < 1), và
được tính theo công thức: supp(r) = supp(X u Y).
Độ tin cậy (Confidence) của luật kết hợp r : X -* Y, ký hiệu conf(JT-> Y)
(0 < conf(r) < 1): c o n f ^ Y) = supp(X u Y) / supp(vY).
Độ tin cậy cũng có thể định nghĩa thông qua xác suất có điều kiện như sau:
c o n f ( ^ y) = P ( 7 |A ) = V( XuY) I V( X)
Nói cách khác độ tin cậy của luật r : X -> Y chính là xác suất có điều kiện của
các tác vụ chứa Y xét trong điều kiện chứa X
Vỉ dụ 1: trong thực tế bán hàng thường ta nhận được các phát biểu kiểu như :
"30% những người mua mua bia, ruợu mạnh cũng mua lạp xườn ”, hoặc "5% những
người mua hàng mua cả 3 mặt hàng bia, rượu mạnh, lạp xườn" Khi đó 30% là độ
tin cậy, 5% là độ hỗ trợ của luật
Tập phổ biến (Frequent Itemset) : Tập mục dữ liệu X được gọi là tập phổ biến
nếu supp(Z) > minsupp là độ hỗ trợ cực tiểu do người sử dụng xác định
Hoàng Việt Nguyên - Luận văn ThạcSĩ - Khoa Công nghệ ĐHQG Hà Nội
Trang 13Phát hiện luật kêt hợp mờ có độ hô trợ không giông nhau Trang 12
CSDL lưu trừ các dữ liệu tác vụ ( CSDL nhị phân) có thể được lưu trữ dưới
dạng bảng m x n .
Ví dụ 2: Bảng 1 mô tả CSDL tác vụ ( Transaction Database) Mỗi giá trị của
mục dữ liệu thể hiện thuộc tính xuất hiện, hay không xuất hiện (nhận giá trị 0) trong tác vụ Độ hỗ trợ được xác định thông qua việc xác định giá trị của các thuộc tính trên miền {0,1}
Ví dụ 3: Bảng 2 lưu giá trị độ hỗ trợ của mỗi tập mục dừ liệu, tập mục dữ liệu
in nghiêng là tập phổ biến với minsupp= 0.2 Ví dụ mục A xuất hiện 3 lần trong tác
vụ và tổng số có 10 tác vụ, do đó supp(A) = 3 / 10 = 0.3, hai mục CD xuất hiện đồng thời 5 lần trong 10 tác vụ, do đó suppiCD) = 5 / 10 = 0.5.
Trang 14Phát hiện luật kết hợp mờ có độ ho trợ không giống nhau Trang 13
1.3 Phân loại thuật toán p h á t hiện luật kết hợp hiện có
Vấn đề phát hiện tất cả các luật kết hợp có độ hỗ trợ và độ tin cậy vượt quá ngưỡng xác định nào đó (tương ứng là minSupp và minConf do người sử dụng xác định) được phân rã thành 2 vấn đề con là tìm các tập có độ hỗ trợ lớn hơn một giá trị xác định trước và sinh luật từ tập tìm được Có hai cách tiếp cận để xác định độ hỗ trợ của một tập mục dữ liệu [5,6], đó là:
Counting: Độ hỗ trợ của một tập mục dữ liệu được tính thông qua các thể hiện
của nó trong tập các tác vụ trong CSDL Biến đếm được khởi tạo bằng 0 cho mỗi tập mục dữ liệu đang được xét, sau đó duyệt các tác vụ trong CSDL và mỗi khi xác định được ứng cử viên là tập con của tác vụ thì biến đếm tăng lên một đơn vị
Intersection' Xác định độ hỗ trợ của tập mục dữ liệu bằng cách thiết lập các tập
giao Tidlist là tập định danh của các tác vụ Với mỗi tập mục dữ liệu X tồn tại một
Hoàng Việt Nguyên - Luận văn ThạcSĩ - Khoa Công nghệ ĐHQG Hà Nội
Trang 15Phát hiện luật kêt hợp mờ có độ hô trợ không giông nhau Trang 14
x.tidlist Tập giao Tidlist của tập mục dữ liệu c = X u Y là c.tidlist = x.tidlistnY.tidlist Độ hỗ trợ của tập c sẽ là |C.tidlist| = II c.tidlistịl / II ơ||
Các thuật toán phát hiện luật kết họp hiện có được hệ thống theo sơ đồ dưới đây, việc phân loại tiến hành trước tiên theo chiến lược tìm kiếm, sau đó phân loạitheo cách xác định giá trị độ hỗ trợ cho các tập mục dữ liệu
Có hai chiến lược tìm kiếm: BFS ( Breadth Fist Search - Tìm kiếm theo chiều rộng) và DFS (Depth First Search - Tìm kiếm theo chiều sâu )
Có hai cách xác định độ hỗ trợ của tập mục dữ liệu là Counting và Intersection
Ta có sơ đồ phân loại các thuật toán phát hiện luật kết hợp thông thường nhưsau:
n
C o u n tin g intersection Counting Intersection
D ie
Hình 1 Hệ thống một số thuật toán phát hiện luật kết hợp hiện cóTrong sơ đồ trên, thuật toán CHARM và ACLOSE đánh giá là hiệu quả nhất vì cả hai thuật toán này đều dựa trên tính chất đóng của các tập phổ biến để tìm ra một số
ít tập phổ biến có tính chất đặc biệt: các luật sinh ra từ những tập phổ biến này là tương đương với tập các luật sinh ra từ tất cả các tập phổ biến
Hoàng Việt Nguyên - Luận văn ThạcSĩ - Khoa Công nghệ ĐHQG Hà Nội
Trang 16Phát hiện luật kêt hợp mờ có độ hô trợ không giông nhau Trang 15
II Cơ sở lý thuyết thuật toán CHARM và ACLOSE
Sự khó khăn và phức tạp của phát hiện luật kết hợp từ CSDL chủ yếu là ở vấn
đề tìm các tập phổ biến từ cơ sở dữ liệu đã cho Thuật toán mới nhất và được xem là hiệu quả nhất để phát hiện luật kết họp cho đến thời điểm này là CHARM và ACLOSE [15,16] Khác với các các thuật toán thông thường khác, cách tiếp cận của hai thuật toán này thể hiện ưu điểm ở chỗ: Các tác giả của hai thuật toán CHARM
và ACLOSE đều chỉ ra được rằng các luật kết họp được sinh ra từ các tập phổ biến đóng cực đại và từ các tập phổ biến là như nhau Do đó việc tìm các tập phổ biến được đưa về tìm các tập phổ biến đóng và vì thế không gian tìm kiếm trong cả hai thuật toán này được giảm nhiều đồng thời các luật kết hợp được sinh ra cũng được thu gọn, giảm bớt đáng kể các luật trùng lắp, dư thừa
Cả hai thuật toán CHARM và ACLOSE thực chất đều được xây dựng trên cơ
sở lý thuyết toán học khá giống nhau [15,16] Nội dung dưới đây sẽ tập trung trình bầy cơ sở lý thuyết toán học và giới thiệu cụ thể hai thuật toán này
I I l Các kiến thức chuẩn bi ỉ
Phần này trình bày một số khái niệm hình thức liên quan [15,16]
Định nghĩa 1 Ngữ cảnh phát hiện dữ liệu (Data mining context) là bộ ba 'V = (ỡ, 3,
R), trong đó o là tập hữu hạn các đối tượng (object), 3 là tập hữu hạn tất cả các mục
dữ liệu và R c 0 x 3 là quan hệ nhị phân, ở đó mỗi cặp (o,i) c R ký hiệu cho sự kiện đối tượng o e o quan hệ với mục dữ liệu 1 G 3
Định nghĩa 2 (Kết nối Galois) Cho <T) = (o , 3, R) là ngữ cảnh phát hiện dữ liệu, với
O c O và I c 3 , xác định f: 2° 23 , g: 23 -> 2°
với f(0 ) = { ie3( I Vog o , (o,i) 6 R}, g(I) = { o e ớ I Vi e l, (o,i)eR} f(0) là tập mục dữ liệu chung cho tất cả các đối tượng của o và g(I) là tập các đối tượng quan hệ với tất cả các mục dữ liệu trong I Cặp ánh xạ (f,g) gọi là kết nối Galois giữa tập các tập con của o và tập các tập con của 3
Hoàng Việt Nguyên - Luận văn ThạcSĩ - Khoa Công nghệ ĐHQG Hà Nội
Trang 17Phải hiện luật kêt hợp mờ có độ hô trợ không giông nhau Trang 16
Từ định nghĩa này, có các tính chất sau đây:
Tính chất 1: Với I], I2 c 3 và Oi, 0 2 CỊ o, ta có:
1.MỞ rộng (Extension): I C c(I)
2.Đơn điệu (Monotonicity): nếu II C 12, thì c(Il) C c(I2)
3.Tính Idempotency: c(c(I)) = c(I);
Tập con I của s được gọi là đóng (closed) nếu c(I) = I.
Định nghĩa 4: Các ánh xạ họp h = f0g trong 21 và h ’ = g0f trong 2° được gọi là các
phép toán đóng Galois
Các ánh xạ này có các tính chất sau:
Đơn điệu: (5) I) c l 2 => h(Ii) C h(I2) (5’) o , C 0 2 => h ’( 0 ,) c h ’( 0 2)Tập mục dữ liệu I C 3 được gọi là đóng nếu và chỉ nếu h(I) = I Khi đó tập mục
dữ liệu đóng nhỏ nhất chứa I chính là h(I) và h(I) được gọi là bao đóng của I
Tỉnh chất 2 Gỉa sử li I2 là 2 tập mục dữ liệu thể thì h (li I2 ) = h(h(Ii) h(I2))
Định nghĩa 5 (Dàn tập mục dữ liệu đóng) Ký hiệu c là tập tất cả các tập mục dữ
liệu đóng nhận được từ rD theo phép toán Galois h Cặp j£c = (C, < ) được gọi là
dàn các tập mục dữ liệu, cấu trúc dàn này có hai 2 tính chất:
1.Tồn tại một sắp thứ tự từng phần trên các phần tử của dàn sao cho với mọi phần tử I, I’ c j £ q , I < I’ khi và chỉ khi I c I’;
2.Tất cả các tập con của có một phần tử biên dưới lớn nhất (phần tử join)
và có một phần tử biên trên nhỏ nhất (phần tử meet), và Ẩ>c là một dàn đầy đủ.
Idempotency: (4) h(h(I)) = h(I)
(3’) 0 c h ’(0)(4’) h ’(h’(0 )) = h ’(0 )
Hoàng Việt Nguyên - Luận văn ThạcSĩ - Khoa Công nghệ ĐHQG Hà Nội
Trang 18Phát hiện luật kết hợp mờ có độ hỗ trợ không giống nhau Trang 17
Định lý cơ bản của Dàn Galois: Join (S) = h(uC ) với C eS và Meet(S) = n C với
C eS
Dưới đây ta định nghĩa các tập phổ biến và tập phổ biến đóng, các luật kết hợp
và luật kết hợp chắc theo kết nổi Galois:
Định nghĩa 6 Giả s ử l c 3 là tập mục dữ liệu của r/), độ hỗ trợ của tập I trong rD
là : support(I) = ||g(I)||/|ịỡỊ|
Định nghĩa 7 Tập mục dữ liệu I được gọi là tập phổ biến nểu support(I) > minsupp;
tập phổ biến và đóng được gọi là tập phổ biến đóng Ký hiệu Fc là tập tất cả các tập
phổ biến đóng nhận được từ cơ sở dữ liệu rtì, tức là
Tính chất 3: Tập con của tập phổ biến là tập phổ biến.
Chứng minh: Giả sử I, I’ c: 3 t, I là tập phổ biến, r c I Theo tính chất của kết nối
Galois I’c I => g(I’) 3 g(I) => support (I’) > support(I) > minsupp
Tính chất 3 Mọi tập chứa tập con không phải là tập phổ biển đều không là phổ biến
Định nghĩa 8 Tập Mc gồm tất cả các tập phổ biến đóng không phải là tập con thực
sự của bất kỳ một tập phổ biến đóng nào khác được gọi là tập các tập phổ biến đóng cực đại, nói cách khác:
Mc - { I gFc / không tồn tại tập I’ e Fcvà I c l ’ }
Tính chất 4: Tập các tập phổ biến cực đại và tập các tập phổ biến đóng cực đại là
trùng nhau, tức là: ^
Chứng minh: Ta chỉ cần chứng minh ràng với mọi I eM, I sẽ là tập đóng tức là I =
h(I) Theo tính chất (2) của dàn Galois ta có I ( h(I) và do I là tập phổ biến cực đại nên support(h(I)) = support(I) > minsupp, ta suy ra rằng I = h(I) hay I là tập phổ biến đóng cực đại
Định nghĩa 9 (theo cách sử dụng kết nối Galois) Luật kết hợp có dạng Ỉ! —» I2, ở
đây I t, I2 là các tập mục dữ liệu và I] n l 2 = 0 , định nghĩa:
Hoàng Việt Nguyên - Luận văn ThạcSĩ - Khoa Công nghệ ĐHQG Hà Nội
F c = { I c 3 / 1 = h(I) và support(I) > minsupp}
au.oc G iA HA K'Óf ị THÔNGTlN.THƯVIỆNị
Trang 19Phát hiện luật kêt hợp mờ có độ hô trợ không giông nhau Trang 18
supportỢi -> I2) = II g(IiUl2)||/|| o II;
conf(I, -> I2) = support(11 u l 2)/support(I!) = II g(IiUl2)/|| g(I])||
Tỉnh chất 4: Độ hồ trợ của tập mục dữ liệu ICZ 3 nhận từ cơ sơ dừ liệu D bằng độ
hỗ trợ bao đóng của nó, tức là support(I) = support(h(I))
Chứng minh: Giả sử I C 3 là một tập mục dừ liệu, độ hồ trợ của I trong <T) là
support(I) = ||g(I)||/||ớ|| và h(I) là bao đóng của I.
Trước hết ta cần chỉ ra rằng h’(g(I)) = g(I) Thật vậy: g(I) = h’(g(I)) theo tính chất mở rộng của kết nối Galois và vì 1= h(I) nên g(h(I)) c g(I) hay h ’(g(I)) C g(I) nên support(h(I)) = ||g(h(I))||/||ơ|| = ||h’(g(I))||/||0|| = ||g(I)||/||0|| = support(I)
Tập thu gọn của các luật kết hợp:
Các luật kết họp tin cậy (valid association rules) là các luật kết hợp có độ hỗ trợ và độ tin cậy lớn hơn hoặc bằng các ngưỡng minsupp và minconf cho trước.Giả s ử l , , l 2 là các tập mục dữ liệu và I] n l 2 = 0 luật I] —> I2 được gọi là luật
chính xác nếu conf(Ii -> I2) = 1 và được gọi là luật xấp xỉ nếu conf(l! —> I2) < 1
Định nghĩa 10: Tập mục dữ liệu I từ <T) được gọi là tập giả đóng khi và chỉ khi h(I)
* I và với mọi tập con I’ của I sao cho I’ cũng là giả đóng thì h(I’) CỊ I.
Định lý 1 ( Định lý cơ bản về các luật chính xác) Giả sử rp là tập tất cả các tập giả
đóng và (H là tập các luật chính xác trong 'Z) Tập Q = \ r: li => h ( I j ) - lị / Ij e <T> \
là cơ sở đối với tất cả các luật chính xác, tức là với mọi r ’ e (Q ở đó:
conf(r’) = 1 > minconf thì o 1= r \
Hệ quả 1 (Định lý cơ bản về luật tin cậy chính xác) Giả sử CỊ*P là tập các tập mục
dữ liệu phổ biến giả đóng trong ('D Tập = { r: It => h(l! ) - 1| / 1| G Cf^p \ là
cơ sở đối với tất cả các luật tin cậy chính xác
Định lý 2 (Định lý về tập thu gọn của các luật kết hợp xấp xỉ) Giả sử ê là tập tất cả
các tập mục dữ liệu đóng và <u là tập các luật kết hợp xấp xỉ trong <D Tập d l = \ r:
Hoàng Việt Nguyên - Luận văn ThạcSĩ - Khoa Công nghệ ĐHQG Hà Nội
Trang 20Phát hiện luật kêt hợp mờ có độ hô trợ không giông nhau Trang 19
I2 => li - h / Ỉ2 li và I ] , I2 e ê )■ là tập chuẩn được thu gọn đối với các luật kết hợp xấp xỉ, tức là với mọi r ’ e <ĩl ở đó 1> conf(r’) > minconf thì d 1= r ’.
Hệ quả 2 (Định lý về tập thu gọn của các luật kết hợp tin cậy xấp xỉ) Giả sử là
tập tất cả các tập mục dữ liệu đóng phổ biến trong 'Z) Tập (B d = \ r: I2 => li - 12 / 1 2
c I] và I] , I2 e <7^ \ là tập chuẩn được thu gọn đối với tất cả các luật kết hợp tin cậy xấp xỉ (approximate valid association rules), tức với mọi f e d , thì
(H = <1 r: I2 => li - 12 / 12 c li và I] là tập phổ biến, minconf < conf(r’) í1
thì H d 1= r ’.
II.2 Phương pháp xăy dựng thuật toán CHARM và ACLOSE
Có thể nhận thấy rằng tập mục dữ liệu đóng là tập cực đại của các mục dữ liệu
là chung đối với các tác vụ Dựa trên tính chất của dàn các tập mục dữ liệu đóng
trong <ĩ) người ta có thể tìm được tất cả các tập phổ biến từ CSDL này bàng cách
sinh ra các tập con của các tập phổ biến đóng cực đại với độ hỗ trợ của nó được suy dẫn từ độ hỗ trợ của các tập mục dữ liệu đóng phổ biến Từ các tập phổ biến tìm được sẽ sinh ra tất cả các luật kết hợp theo đúng tinh thần của thuật toán Apriori [5,6,15,16]
Tuy nhiên theo hệ quả 2 có thể sinh ra trực tiếp tập các luật kết hợp tin cậy được thu gọn từ các tập phổ biến đóng cực đại Các thuật toán A-CLOSE và CHARM về cơ bản được xây dựng theo các bước sau đây:
1 Tim tất cả các tập phổ biến đóng cực đại;
2 Xác định cơ sở luật kết hợp tin cậy chính xác (exact valid association rule
basis): bằng cách xác định các tập giả đóng trong và sau đó sinh ra các luật
Trang 21Phát hiện luật kêt hợp mờ có độ hô trợ không giông nhau Trang20
III T h u ậ t toán C H A R M và A C L O S E
III 1 Thuâttoán CHARM•
Không gian tìm kiếm và chiến lược tỉa:
Khác với các thuật toán thông thường khác tìm tập phổ biến trên không gian tập mục dữ liệu X C 3 , thuật toán CHARM tìm tập phổ biến đóng [15] trên không gian cặp (XxY), với X C 3 , Y c ơ (Tập định danh các tác vụ TID)
Với X = f(Y) là tập mục dữ liệu đóng , Y = g (X) là tập tidset đóng
(g,f) là các kết nối Galoa giữa tâp các tập con của 3 và tập các tập con của Tidset
Thuật toán CHARM sử dụng hai chiến lược tỉa dựa trên 4 tính chất của cặp (tập mục dữ liệu X Tidset) hay (Xx g(X)) [15]: tỉa các tập ứng cử nếu tập con của nó
là không phổ biến đồng thời tỉa các nhánh dựa trên tính chất không đóng (non closure property), bất kỳ tập mục đữ liệu không đóng nào đều bị tỉa
Tư tưởng của thuật toán CHARM là duyệt, tìm kiếm theo chiều sâu trên các dàn con để kiểm tra xem nút của dàn con có phải là tập phổ biến hay không Tất cả các tập không phổ biến cũng như các nhánh không phải là tập đóng đều bị tỉa Mỗi một nút con của một nút được kết hợp với các nút con khác cùng mức (trong ví dụ
mô tả thuật toán dưới đây nút A được kết hợp với các nút c, D, T và w để tạo AC,
AD, AT và AW)
Tính chất cơ bản của cặp tập mục dữ liệu - tidset:
Cho fk : P(I) |—» N là ánh xạ 1 - 1 từ các tập mục dữ liệu tới các số nguyên Cho hai tập mục dữ liệu bất kỳ X! và x 2, X] < x 2 nếu và chỉ nếu fk (Xi) < fk (X2) Ví dụ nếu fk chỉ sắp xếp các tập mục dữ liệu theo thứ tự tăng của độ hỗ trợ thì AD < AC
Trang 22Phát hiện luật kêt hợp mờ có độ hô trợ không giông nhau Trang21
1 Nếug(Xi) = g(X2) thì g(X, u x 2) = g(X,) n g ( x 2) = g(X,) = g(X2) Do vậy
ta có thể thay xuất hiện của X] bàng Xt u x 2, và loại bỏ x 2 trong các tập sẽ sét sau này, do vậy toán tử đóng của nó được thay thế bằng toán tử đóng của Xi u x 2
2 Nếu g(X,) c g(X2) thì g(X, u x 2) = g(X ,)n g( x 2) =g(Xj) * g(X2) Ta có thể thay thế mỗi xuất hiện của X] với X] u x 2, vì nếu X! xuất hiện trong bất kỳ tác
vụ nào thì x2 cũng xuất hiện Nhưng do g(X 0 * g(X2) ta không thể loại bỏ x2.
3 Nếu g(Xi) 3 g(X2) thì g(X, u x 2) = g(X ,)ng( x 2) = g(X2) * g(X,) Trong trường hợp này ta thay thế mồi xuất hiện của x 2 với x t u x 2, vì bất cứ khi nào x 2 xuất hiện Xị cũng xuất hiện Do Xi còn sinh ra một tập đóng khác , nên nó không bị tỉa và được giữ lại
4 Nếu g(X,) * g(X2) thì g(X, u x 2) = g(X ,)ng( x 2) * g(X2) * g(X,) Trong trường hợp này không khử đi tập nào; cả X] và x 2 đều sinh ra các toán tử đóng khác
Ta thấy rằng chỉ những tập Tidset đóng được duy trì sau khi ta kết hợp hai cặp tập mục dữ liệu - tidset Ví dụ nếu hai tập tidset bằng nhau, một tập bị tỉa (tính chất 1) Neu một tidset là tập con của tập khác, khi đó tập tidset kết qủa bằng với tập nhỏ hơn từ tập cha và ta loại bỏ tập cha đó (tính chất 2 và 3) Cuối cùng nếu các tidset không bàng nhau, thì hai tập này và tập giao của chúng là các tập đóng (tính chất 4)
Mô tả thuật toán CHARM:
Thuật toán CHARM được mô phỏng theo giả mã tựa Pascal như sau:
Charm Algorithm(, minsup)
1 Nodes = {Ij X g (Ij): Ij El A I g(Ij) I > minsup}
2 Charm - extend (Nodes, C)
Charm - extend (Nodes, C)
3 for each Xj X g(Xj) in Nodes
4 NewN - 0 and X = Xi
5 for each Xj X g(Xj) in Nodes, with / ( j) > / ( i)
Hoàng Việt Nguyên - Luận văn ThạcSĩ - Khoa Công nghệ ĐHQG Hà Nội
Trang 23Phát hiện luật kêt hợp mờ có độ hô trợ không giông nhau Trang22
6 X = X u Xj and Y =g(Xj) ng(Xj)
7 Charm - property (Nodes, NewN)
8 if NewN * 0 then Charm - extend (NewN)
9 c - c u X // if X is not subsumed
Charm - property (Nodes, NewN)
10 if ( I Y I > minsup) then
11 if g(Xj) =g(Xj) then // tính chất 1
12 Remove Xj from Nodes
13 Replace all Xj with X
Các bước thuật toán thực hiện như sau:
Thuật toán bắt đầu với việc khởi tạo các mục đơn (1- thuộc tính) và tập tidset của chúng trong dòng 1.
Hàm CHARM-EXTEND trả lại các tập mục dữ liệu phổ biến đóng c Hàm CHARM -EXTEND có nhiệm vụ tìm các tập mục dữ liệu phổ biến đóng trên một nhánh nào đó Hàm này mở rộng mồi cặp tập mục dữ liệu- tidset trong nút hiện tại với Nodes (Xi xg(Xi)) dòng 3, và lấy hợp với các cặp cùng mức khác kề phải (Xj X g(Xj)) dòng 5 theo điều kiện fk 0 , với fk 0 là một sắp xếp theo trật tự nào đó như trật
tự từ điển chẳng hạn Dòng 6 là phép hợp của hai cặp
Hàm CHARM-PROPERTY(Nodes, NewN) kiểm tra giá trị độ hỗ trợ và xem các nút có thoả 4 tính chất như đã trình bày ở trên không Hàm này có thể sửa tập
Hoàng Việt Nguyên - Luận văn ThạcSĩ - Khoa Công nghệ ĐHQG Hà Nội
Trang 24Phát hiện luật kết hợp mờ có độ hỗ trợ không giống nhau Trang23
nút hiện tại bàng cách xoá đi các cặp tập mục dữ liệu -tidset là tập con của các cặp khác Hàm này cũng chèn các cặp phổ biến mới sinh vào tập các nút mới NewN Nếu tập này khác rỗng ta lặp lại hàm CHARM-EXTEND(NewN) cho tập mới NewN Sau đó quay trở lại bước 3 để tiếp tục với các nhánh khác (nhánh chưa bị tỉa)
Hàm CHARM-PROPERTY kiểm tra xem các cặp mới có phải là phổ biến hay không, loại bỏ nếu nó không phổ biến Sau đó sẽ kiểm tra lần lượt bốn tính chất cơ bản của các cặp tập mục dữ liệu - tidset Mở rộng các tập mục dữ liệu hiện tại, loại
bỏ một sổ nhánh trong tập các nút đang xét, hoặc thêm vào các cặp mới trong tập nút cho lần duyệt tiếp theo
Vỉ dụ 4: Xct CSDL 0= Ixỡ được cho trong bảng dưới đây [15], hàm fk sắp
xếp tập mục dữ liệu X theo độ hỗ trợ, minsupp =0.3
Bảng 4 CSDL minh họa thuật toán CHARM
Thuật toán hoạt động như sau:
Hoàng Việt Nguyên - Luận văn ThạcSĩ - Khoa Công nghệ ĐHQG Hà Nội
Trang 25Phát hiện luật kết hợp mờ có độ hỗ trợ không giống nhau Trang24
Dòngl khởi tạo tập Nodes = {A x 1345, D X 2456, T X 1356, w X 12345, c X 123456} Dòng 3 ta tiến hành tại nhánh A X 1345 (đặt X = A dòng 4); nó được kết hợp với nút lân cận trái dòng 5 AD không phổ biến, tỉa AD Tiếp theo xét AT; do g(A) ^g(T), chèn AT vào tập NewN Ta thấy g(A) cg(W ) nên thay thế các xuất hiện của A với AW (X = AW), có nghĩa là đổi AT trong NewN bằng ATW Xét tiếp A
và c , thấy ràngg(A) cg(C ), do đó AW thay bàng ACW (X = ACW), và ATW trong NewN thay bàng ACTW Thuật toán gọi CHARM - EXTEND với NewN * 0 dòng
8 Do chỉ còn duy nhất một phần tử, CHARM - EXTEND dừng sau khi thêm ACTW X 135 vào tập các tập mục dữ liệu phổ biến đóng c dòng 9 Hoàn thành trên nhánh A ta thêm X = ACW vào c Các nhánh khác được kiểm tra, cuối cùng tập c được tạo trên hình 2 Cặp CTW X 135 được sinh ra từ nhánh T không phải là tập đóng, bởi vì nó là tập con của ACTW X 135, dòng 9
Cây tìm kiếm CHARM thực hiên trên <7> như sau:
Hoàng Việt Nguyên - Luận văn ThạcSĩ - Khoa Công nghệ ĐHQG Hà Nội
Trang 26Phát hiện luật kêt hợp mờ có độ hô trợ không giông nhau Trang 25
III.2 Thuật toán ACLOSE
Khác với các thuật toán thông thường khác(ví dụ như Apriori [5,6]) tìm tập
phổ biến trên không gian tập mục dữ liệu X C 3) Tư tưởng thuật toán ACLOSE là
tiến hành tim kiếm các tập ứng cử viên ( là tập phổ biến đóng) trên dàn các tập mục
dữ liệu đóng dựa trên tính chất (tính chất 5): độ hồ trợ của tập mục dữ liệu I C 3
nhận từ cơ sơ dữ liệu bằng độ hỗ trợ bao đóng của nó, tức là support(I) = support(h(I)) N Pasquier, Y Bastide [16] đã chứng minh được rằng: Tập các luật
kết hợp sinh ra từ các tập phổ biến trong <T) cũng là tập luật được sinh ra từ các tập
phổ biến đóng, như vậy thay vì duyệt trên không gian tập mục dữ liệu để tìm tập phổ biến, thuật toán ACLOSE tiến hành duyệt trong không gian tập mục dữ liệu đóng để tìm ra các tập phổ biến đóng
Không gian tập đóng của các tập cơ sở (bộ sinh) được sinh ra bàng hàm bao
đóng h Tập đóng ứng cử X là tập phổ biến nếu Supp(X) > minsupp
Qúa trình tỉa diễn ra như sau: các tập mục dữ liệu đóng không phổ biến hoặc
dư thừa (các tập mục dữ liệu đóng phổ biến đã được sinh rồi) sẽ bị tỉa Các tập mục
dữ liệu phổ biến đóng kết quả được lưu trữ làm tập cơ sở cho vòng lặp tiếp theo
Mô tả thuật toán ACLOSE:
Trong thuật toán ACLOSE, các mục dữ liệu được sắp xếp theo thứ tự từ điển Giả mã để phát hiện các tập mục dữ liệu đóng phổ biến được cho trong thuật toán ACLOSE dưới đây Ký hiệu được cho trong bảng 6 Cho mỗi vòng lặp, thuật toán tạo ra một khối các tập mục dữ liệu đóng phổ biến ứng viên Sau đó nó sẽ quyết định
các tập mục dữ liệu đóng phổ biến sử dụng ngưỡng minsupp Cuối cùng nó tính toán
bộ sinh sẽ được sử dụng trong vòng lặp tiếp theo để tạo ra một bộ các tập mục dữ liệu đóng phổ biến ứng cử viên Trong mỗi vòng lặp, CSDL được duyệt để tạo ra tập các tập mục dữ liệu đóng phổ biến ứng cử viên và tính độ hỗ trợ của chúng
Trang 27Phát hiện luật kết hợp mờ có độ hỗ trợ không giống nhau Trang26
Một bộ sinh p của một tập mục dữ liệu đóng c là một trong các tập mục dữ liệu nhỏ nhất (có thể có nhiều hơn một) mà sẽ cho ra c bằng cách áp dụng toán tử đóng
Galois: h(p)=c.
F C C j generator Một bộ sinh có cỡ i
closure Tập mục dữ liệu đóng ứng viên sinh ra bởi hàm
bao đóng của tập cơ sở (bộ sinh) : closure =
h(generator).
support Độ hô trợ của tập mục dữ liệu đóng:
Support = count(closure) - count(generator) (Theo thuộc tính 4: support(I) = support(h(I))y)
closure Tập mục dữ liệu đóng phô biên (tập mục dữ liệu
đóng có hỗ trợ lớn hơn hoặc bàng minsupport)
support Độ hô trợ của tập mục dữ liệu đóng phô biênBảng 5 Bảng ký kiệu thuật toán ACLOSE
Mô phỏng thuật toán ACLOSE theo giả mã tựa Pascal:
Thuật toán ACOLSE( tìm tập phổ biến đóng)
1 generators in FCC] <— {1 - itemsets};
2 for (i <— 1; FCCj.generator * 0 ; i++) do begin
3 closures in FCCi <— 0 ;
4 supports in F C C j <— 0;
5 FCCi <- Gen - Closure (FCCj)'; // Sinh ra bao đóng của bộ sinh
6 Forall candidate closed itemsets c 6 FC C j do begin
7 If (c.support > minsupport) then
9 end
Hoàng Việt Nguyên - Luận văn ThạcSĩ - Khoa Công nghệ ĐHQG Hà Nội
Trang 28Phát hiện luật kêt hợp mờ có độ hô trợ không giông nhau Trang27
10 FCCj+1 <- Gen - Generator (FCj); // Tạo ra các bộ sinh của vòng lặp i + 111.end
Answer FC <— {FCj.closure, FCj.support};
12 Gen-rules(FC)
Bước 1 khởi tạo tập của các bộ sinh trong FCC] với các mục có trong ngữ cảnh phát hiện dữ liệu, nghĩa là các phần tử của tập I( 1 -tập) Mỗi vòng lặp sau gồm 3 giai đoạn Đầu tiên, hàm bao đóng được áp dụng cho mỗi bộ sinh trong FCCj, quyết định các tập mục dữ liệu đóng ứng viên và hồ trợ của chúng (bước 5) Hàm bao đóng Gen-Closure được sử dụng cho mục đích này Tiếp theo, tập các tập mục dữ liệu
đóng ứng cử viên nhận được sẽ được loại bớt: các tập mục dữ liệu đóng có độ hỗ trợ
lớn hơn độ hỗ trợ cực tiểu được đưa vào tập các tập mục dữ liệu đóng phổ biến FCj (bước 6-9) Cuối cùng, các bộ sinh trong tập FCCj + 1 được quyết định bằng cách áp dụng hàm Gen-Generator vào các bộ sinh của các tập mục dữ liệu đóng phổ biến trong FCj Quá trình này tiếp diễn đến khi FCCj + ] rỗng Sau đó tất cả các tập mục
dữ liệu đóng phổ biển được sinh ra và hồ trợ của chúng được biết
Hàm Gen-Closure:
Hàm bao đóng Gen-Closure có một đối số là tập các bộ sinh trong FCCj Với mỗi bộ sinh p, nó cập nhật FCCj bàng tập mục dữ liệu đóng p.closure nhận được bàng cách áp dụng toán tử bao đóng h vào p và tổng hỗ trợ của chúng p.support Thuật toán 4 đưa ra giả mã của hàm Phương pháp áp dụng để tính toán tập mục dữ liệu đóng dựa trên định lý 1
Định lý ỉ Tập mục dữ liệu đóng h(I) tương ứng với bao đóng theo h của tập
mục dữ liệu I là giao của tất cả các đối tượng trong CSDL chứa I:
Trang 29Phát hiện luật kêt hợp mờ có độ hô trợ không giông nhau Trang 28
hàm Gen-Closure:
1 forall objects o e o do begin
2 Go <— Subset (FCCj.generator, /( { o}));
3 forall generators p e G0 do begin
dữ liệu đóng phổ biển ứng cử viên Hàm này đầu tiên sinh ra tất cả các (i+l)-bộ sinh tiềm năng sử dụng các i-bộ sinh trong FCj Sau đó, dựa trên hệ quả 2, các bộ sinh tiềm năng được sinh ra mà sẽ dẫn tới các tính toán vô ích (các tập mục dữ liệu đóng không phổ biến) hoặc dư thừa (các tập mục dữ liệu đóng phổ biến đã được sinh rồi) được xoá khỏi FCCi+1 Giả mã cho hàm được nêu ra trong thuật toán 3
Bổ đề 1 Cho Iị, I2 là hai tập mục dữ liệu Chúng ta có:
Bỏ đề 2 Cho lị là một tập mục dữ liệu và I2 là một tập con của li ở đó li C
h(I2) Khi đó chúng ta có h(Iị) = h(I2) và V I3 c I, h(I] u I3) = h(I2 u I3)
Hệ quả 2 Cho I là một i-bộ sinh và S={si,s2, sn} một tập của (i-l)-tập con
của I ở đó Uíe?5 = I Nếu 3 sa e s để mà I C h(sa), khi đó h(I) = h(sa)
hàm Gen-Generator
1 insert into FCCj+i.generator
Hoàng Việt Nguyên - Luận văn ThạcSĩ - Khoa Công nghệ ĐHQG Hà Nội
Trang 30Phát hiện luật kêt hợp mờ có độ hô trợ không giông nhau Trang 29
2 select p.item!, p.item2 p.iterriị, q.iterrii
3 from FC,.generator p, FCj.generator q
4 where p.itemj =q.item!, , p.itertij.! =q.itemị.ị, p.itemj<q.itemj;
5 forall generators p G FCCj+].generator do begin
6 forall i-subsets s of p do begin
hàm subset: hàm subset có đối số là một tập bộ sinh G và một tập mục dữ liệu
c, nó quyết định các bộ sinh p e G nào là các tập con của tập mục dừ liệu c
Trang 31Phát hiện luật kết hợp mờ có độ hỗ trợ không giống nhau Trang 30
Bảng 6 CSDL minh hoạ thuật toán ACLOSE
Kết quả thu được như sau:
Lần duyệt 1
Không có lần duyệt 3 do không thoả mãn điều kiện trong quá trình tạo bộ sinh cơ sở thứ k từ từ các bộ sinh cơ sở thứ k-1: FCCkGenerator = Join (FCk-i.Generator) tương tự như trong thuật toán Apriori
Trang 32Phát hiện luật kêt hợp mờ có độ hô trợ không giông nhau Trang31
Trang 33Phát hiện luật kêt hợp mờ có độ hô trợ không giông nhau Trang32
Bảng 8 Kêt quả thuật toán ACLOSE
IV So sánh thuật toán CHARM VÀ ACLOSE
a)Tính đúng đắn của thuật toán CHARM và ACLOSE:
Thuật toán CHARM và ACLOSE đảm bảo tính được tất cả các tập mục dữ liệu phổ biến
Thời gian tính toán của thuật toán CHARM là 0(1.|C|), trong đó 1 là độ dài trung bình của tidset, và c là tập tất cả các tập phổ biến đóng
Số lần duyệt CSDL là 0(|C|AxỊI|), trong đó c là tập tất cả các tập phổ biến đóng, I là tập các thuộc tính (mục), oc là phân hoạch trong bộ nhớ
Khác với tất cả các thuật toán trước đó, chỉ dựa vào không gian các tập mục dữ liệu cả 2 thuật toán CHARM và ACLOSE đều tìm tập phổ biến đóng trên đồng thời
cả 2 không gian là không gian các tập mục dữ liệu và không gian các tác vụ Hai thuật toán này đã hình thành phương pháp hoàn toàn mới, đã thực sự bỏ qua được nhiều mức, thu hẹp được rất nhiều không gian tìm kiếm các tập phổ biến bằng cách chỉ cần tìm các tập phổ biến cực đại trong không gian các tập đóng Các tác giả của hai thuật toán CHARM và ACLOSE đều chứng minh được rằng các luật kết hợp được sinh ra từ các tập phổ biến đóng cực đại và từ các tập phổ biến là như nhau
Như vậy cả hai thuật toán CHARM và ACLOSE cho đến nay được đánh giá cao nhất trong việc giải quyết vấn đề tìm các tập phổ biến từ cơ sở dữ liệu đã cho,và đặc biệt hiệu quả khi cơ sở dữ liệu cần được phát hiện luật kết hợp là lớn hoặc rất lớn
b) Đánh giá về hiệu quả thực hiện thuật toán
- Thuật toán CHARM tìm tập các tập phổ biến đóng cực đại, các tập này nhỏ hơn tập các tập phổ biến đóng, do vậy số lần duyệt CSDL ít hơn ACLOSE
Hoàng Việt Nguyên - Luận văn ThạcSĩ - Khoa Công nghệ ĐHQG Hà Nội
Trang 34Phát hiện luật kêt hợp mờ có độ hô trợ không giông nhau Trang33
Thuật toán CHARM tiến hành tìm kiếm theo chiều sâu, dừng lại và cho kết quả tập phổ biến đóng cực đại tại nút lá mỗi nhánh , các nhánh được tỉa theo 2 chiến lược: thứ nhất, tỉa các tập không phổ biến và không thoả mãn tính chất Apriori; thứ hai, tỉa nhánh theo tính chất đóng của cặp kết nổi Galois( tỉa các nhánh thừa )
Thuật toán ACLOSE tìm các tập phổ biến đóng theo chiều rộng giống như thuật toán Apriori Các tập mục dữ liệu được duyệt theo từng mức (k), tại các mức này các tập phổ biến và thoả mãn tính Apriori được giữ lại tìm bao đóng , các tập khác bị tỉa Do phải tìm tất cả tập con của tập phổ biến đóng để kiểm tra tính Apriori nên thuật toán ACLOSE kém hiệu quả hơn CHARM
- Kết quả thực nghiệm nhóm Amaden- Phòng thí nghiệm IBM tiến hành thực nghiệm trên PC -400 Mhz, 256MB RAM, ReadHat Linux 6.0 với CSDL connect (130 mục dữ liệu, 67.5570 bản ghi), CSDL chess (76 mục dữ liệu, 3.196 bản ghi) cho thấy:
Nếu đánh giá tiến hành theo các nhóm giá trị độ hỗ trợ: rất thấp, thấp và trung bình, cao thì:
Thuật toán ACLOSE có hiệu quả tốt với độ hỗ trợ trung bình và cao, thấp đối
với độ hỗ trợ rất thấp.
Thuật toán CHARM ổn định hơn, có hiệu quả tốt đối với mọi độ hỗ trợ
c) Đánh giá cách tiếp cận
Trên thực tế, các thuật toán cổ điển (Apriori) chỉ phù hợp với những CSDL nhỏ
và trung bình (ví dụ: CSDL siêu thị) Đối với những CSDL lớn (như CSDL điều tra dân số chẳng hạn) thì thuật toán CHARM và ACLOSE tỏ ra có hiệu quả cao, trong khi đó Apriori kém hiệu quả vì không gian tìm kiểm quá lớn
1 Cách tiếp cận cổ điển (Apriori):
- Tìm tập phổ biến trong không gian tập mục dữ liệu {X}
- Tập X phổ biến: supp(X) > min supp
- Tính chất Apriori cho tập X:
Hoàng Việt Nguyên - Luận văn ThạcSĩ - Khoa Công nghệ ĐHQG Hà Nội
Trang 35Phát hiện luật kêt hợp mờ có độ hô trợ không giônọ, nhau Trang34
"Tập con của một tập phổ biến là một tập phổ biến"
"Tập cha của một tập không phổ biến là tập không phổ biến"
- Sinh luật
- Phù hợp CSDL nhỏ và trung bình
- Tìm tập phổ biến dựa trên tính đóng tập X và cặp tập Xxg(X)
- Tập X phổ biến đóng: supp(X) > min supp, X đóng
- Tính chất Apriori cho tập X đóng :
" Tập con đóng của một tập phổ biến đóng là một tập phổ biến"
"Một tập đóng có tập con là tập đóng, không phổ biến là tập không phổ biến" -Tập các tập phổ biến cực đại và tập các tập phổ biến đóng cực đại là trùng nhau -Tập luật sinh ra từ tập các tập phổ biến đóng cực đại và từ các tập phổ biến là như nhau
- Sinh luật
- Phù hợp CSDL lớn
Ví dụ 6: Xét CSDL nữ được cho trong ví dụ 4 T a nhận thấy rằng, CSDL khai phá
càng lớn, càng nhiều thuộc tính và số lượng bản ghi thì độ phức tạp càng lớn, các thuật toán CHARM, ACLOSE càng tỏ ra có hiệu quả do thu gọn không gian tìm kiếm và sử dụng các chiến lược cắt tỉa họp lý
So sánh không gian tìm kiếm giữa hai thuật toán Apriori và CHARM,ACLOSE:
Hoàng Việt Nguyên - Luận văn ThạcSĩ - Khoa Công nghệ ĐHQG Hà Nội
Trang 37Phát hiện luật kêt hợp mờ có độ hô trợ không giông nhau Trang35
Hình 4 So sánh các thuật toán - Cây tìm kiếm thuật toán CHARM
Trang 38Phát hiện luật kêt hợp mờ có độ hô trợ không giông nhau Trang36
{}
Hình 5 So sánh các thuật toán - Cây tìm kiểm thuật toán ACLOSE
Trang 39Phát hiện luật kêt hợp mờ có độ hô trợ không giông nhau Trang37
CHƯƠNG II
Vấn đề phát hiện luật kết hợp được phân thành 2 vấn đề con đó là: (a) Tìm các tập phổ biến (đó là tập các mục dữ liệu có độ hỗ trợ không nhỏ hon giá trị chung nào đó) và (b) sinh ra luật kết hợp có độ tin cậy không nhỏ hơn một giá trị nào đó từ các tập phổ biến vừa tìm được Sự phức tạp và khó khăn của vấn đề phát hiện luật kết hợp chủ yếu tập trung ở vần đề tìm tập phổ biến (a) Các thuật toán xác định các tập phổ biến đều được xây dựng dựa trên thừa nhận độ hỗ trợ cực tiểu (ký hiệu minSupp) là thống nhất, tức là các tập mục dữ liệu được chấp nhận đều có độ hỗ trợ lớn hơn cùng độ hỗ trợ cực tiểu như nhau
Sự thừa nhận độ hỗ trợ cực tiểu chung là không thực tế vì có nhiều ngoại lệ khác được chấp nhận thường có độ hỗ trợ thấp hơn nhiều so với những khuynh hướng chung, ví dụ các luật về tai nạn, hoặc về cai nghiện ma tuý không thành công được hỗ trợ thấp hơn nhiều so với các luật về không bị tai nạn, hoặc cai nghiện không thành công (trong khi người ta lại thường quan tâm nhiều đến vấn đề gây ra tai nạn, cũng như cai nghiện không thành công); thậm chí ngay trong số các mặt hàng được bán trong siêu thị thì yêu cầu về độ hỗ trợ của các mặt hàng khác nhau cũng khác nhau, ví dụ các tập mặt hàng (hay tập mục dữ liệu) và các luật chứa các mặt hàng như gạo, trứng, sũa, thịt, phải có độ hỗ trợ cao hơn nhiều so với các tập mục dữ liệu và các luật chứa mặt hàng như ô tô, tủ lạnh, máy giặt Như vậy độ hỗ trợ cần được đòi hỏi khác nhau theo các mức khái niệm khác nhau của tập mục dữ liệu chẳng hạn như theo giá trị bán của các mặt hàng trong siêu thị
Đe giải quyết hạn chế trên , hiện có một số cách tiếp cận khác nhau, trong đó tập trung chủ yếu vào 3 cách tiếp cận sau :
Thứ nhất là: Tìm các tập phổ biến trong mối quan hệ có sự ràng buộc về độ hỗ
trợ bằng cách đề xuất mô hình biểu diễn ràng buộc độ hỗ trợ của các tập mục dữ
Hoàng Việt Nguyên - Luận văn ThạcSĩ - Khoa Công nghệ ĐHQG Hà Nội
Trang 40Phát hiện luật kêt hợp mờ có độ hô trợ không giông nhau Trang38
liệu và áp dụng có cải tiến thuật toán tìm tập phổ biến đã có để tìm tập phổ biến trong điều kiện có các ràng buộc này Mô hình biểu diễn các tập phổ biến có ràng buộc độ hỗ trợ được đề xuất trong [11] rất phức tạp và bởi vậy thuật toán để tìm tập phổ biến trong mối ràng buộc đó chưa hoàn chỉnh và còn nhiều hạn chế Tuy nhiên
đây là cách tiếp cận hay và chắc chắn sẽ được nhiều nhà nghiên cứu tiếp tục quan
tâm phát triển
Thứ hai là: Gắn trọng số vào mục dữ liệu và áp dụng có cải tiến một trong các
thuật toán tìm tập phổ biến đã có để tìm những tập này khi có gắn trọng số Việc gắn tải trọng vào các mục dữ liệu tuy đã góp phần làm rõ hơn mối quan hệ về giá trị của các mặt hàng được bán nhưng có nhược điểm quan trọng là tập con của tập phổ biến khi đó có thể không là phổ biến
Thứ ba là: Xem các mục dữ liệu khác nhau là có độ hỗ trợ cực tiểu không như
nhau và tìm các tập phổ biến đóng cực đại có độ hỗ trợ cực tiểu không giống nhau trên cơ sở cải tiến thuật toán CHARM (thuật toán có chi phí thời gian ít nhất trong các thuật toán đã biết tìm tập phổ biến )
1.1 Vấn đề đăt ra
Xét CSDL r/J c I X o, với I = { ii, Ỉ2, im} là tập các thuộc tính nhị phân,minsupp là độ hỗ trợ cực tiểu Xác định trước độ hồ trợ cực tiểu cho một số nhóm nhỏ tập mục dữ liệu nào đó gọi là ràng buộc độ hỗ trợ (SCO) trên nữ, có dạng SCj (li , , ls) > 0j Các lị là các tập mục dữ liệu do người sử dụng xác định
Vẩn đề đặt ra là : Tìm các tập phổ biển X, luật kết hợp sinh ra từ X theo các
SQ()