1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phát hiện luật kết hợp mờ có hỗ trợ không giống nhau

85 456 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 85
Dung lượng 30,15 MB

Nội dung

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 2

Phá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 3

Phá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 4

Phá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 5

Phá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 6

Phá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 7

Phá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 8

Phá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 9

Phá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 10

Phá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 11

Phá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 12

Phá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 13

Phá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 14

Phá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 15

Phá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 16

Phá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 17

Phả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 18

Phá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 19

Phá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 20

Phá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ử

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 21

Phá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 22

Phá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 23

Phá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 24

Phá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 25

Phá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 26

Phá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 27

Phá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 28

Phá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 29

Phá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 30

Phá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 31

Phá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 32

Phát hiện luật kêt hợp mờ có độ hô trợ không giông nhau Trang31

Trang 33

Phá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 34

Phá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 35

Phá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 37

Phá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 38

Phá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 39

Phá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 40

Phá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()

Ngày đăng: 25/03/2015, 10:00

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Đỗ Văn Thành, Phạm Thọ Hoàn. Một cách tiếp cận nghiên cứu phát hiện tri thức trong các Cơ Sở dữ liệu - Trợ giúp quyết định, Hệ mờ-Mạng Nơ tron và ứng dụng, Biên tập: Bùi Công Cường và.. , NXB Khoa học-Kỹ thuật, 7/ 2001 được tuyến chọn từ Tập các Báo cáo Khoa học Trường thu: Hệ mờ và ứng dụng, Hà nội tháng 8 / 2000 Sách, tạp chí
Tiêu đề: Hệ mờ-Mạng Nơ tron và ứng dụng, Biên tập: Bùi Công Cường và.. , NXB Khoa học-Kỹ thuật," 7/ "2001 được tuyến chọn từ Tập các Báo cáo Khoa học Trường thu: Hệ mờ và ứng dụng, Hà nội tháng 8"/
Nhà XB: NXB Khoa học-Kỹ thuật
[3].Đỗ Văn Thành và cộng sự. Phát hiện luật kết hợp mờ với độ hỗ trợ không giống nhau, Báo Cảo Khoa học Hội nghị FAIR lần thứ nhất, ĐHQG Hà Nội, 5-6/10/2003 [4]. Phan Đình Diệu. Lô gíc trong các hệ trị thức. ĐHQG Hà Nội, 1999.Tiếng Anh Sách, tạp chí
Tiêu đề: Phát hiện luật kết hợp mờ với độ hỗ trợ không giống nhau, Báo Cảo Khoa học Hội nghị FAIR lần thứ nhất, ĐHQG Hà Nội, 5-6/10/2003
[9] fayyad U.M., Platstsky-Shapiro G., Smyth p., and Uthurusamy. From Data Mining to Knowledge Discovery. Advances in Knowledge discovery and DataMining, , edited by the same authors, AAAI Press/The MIT Press, page. 1-34,1996 Sách, tạp chí
Tiêu đề: Advances in Knowledge discovery and DataMining, , edited by the same authors
[10] Han,J., and Fu,Y. Attribute-Oriented Induction in Data Mining. Advances in Knowledge discovery and DataMining, , edited by Ư.M. fayyad, G.Platstsky- Shapiro,P.Smyth, and Uthurusamy, AAAI Press/The MIT Press, page 399- 421,1996 Sách, tạp chí
Tiêu đề: Advances in Knowledge discovery and DataMining, , edited by Ư.M. fayyad, G.Platstsky- Shapiro,P.Smyth, and Uthurusamy
[16] N. Pasquier, Y. Bastide, R. taouil, and Lotfi Lakhal. Discovering Frequent itemsets for Association rules. In 7th Inter. Conf. on Database Theory, 1999 Sách, tạp chí
Tiêu đề: In 7th Inter. Conf. on Database Theory
[2]. Đô Văn Thành và cộng sự. Phát hiện luật kêt hợp với độ hô trợ không giống nhau, Báo Cáo Khoa học kỷ niệm 5 năm thành lập Khoa Công nghệ, ĐHQG Hà nội, thảng 2/2002 Khác
[7] Bayardo R.J., Efficiently mining long patterns from Databases. In ACM SIGMOD Conf. Management of Data, 1998.[ 8 ] Chun Hing Cai. Mining Association Rules with Weighted Items, Thesis, Chinese University of HongKong, page 30 - 75, 1998 Khác
[11] Ke Wang, Yu He, Jiwei Han. Mining Frequent Itemset Using Support Constraints. Proceedings o f the 26th VLDB Conference, Cairo, Egypt, 2000 Khác
[12] ICe Wang, Yu He, Jiwei Han. Pushing support constraints into frequent itemset mining. School o f Computing, National Univer. O f Singapore, 2000 Khác
[13] Lin D.I. and Kedem z.. M.; Pincer Search: A new algorithms for discovering the maximum frequent set. In 6 th Int. Conf. On Database Theory, 1997 Khác
[14] Lin D.I. and Dunham M.H.; Mining Association Rules: Anti-Skew algorithms. In 14th Int. Conf. On Data Engineering, 1998 Khác
[15] Mohamet J.Zaki, Charm: An efficient algorithm for Close asociation rule mining. Computer science departement Rensselear polytechnic Institute, Troy NY12180 Khác
[17] Zaki, M. J. and Ching-Jui Hsiao. CHARM: an efficient algorithm for closed association rule m ining., 2000. In Htttp//www.cs.rpi.edu/~zaki Khác

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w