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

KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG CẤU TRÚC IT-TREE

18 1,4K 7

Đ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 18
Dung lượng 0,96 MB

Nội dung

Đã có khá nhiều thuật toán được phát triển nhằm làm tăng hiệu quả khai thác tập phổ biến và tập phổ biến đóng: các thuật toán phát triển từ Apriori, các thuật toán phát triển từ FP-tree,

Trang 1

ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

CHUYÊN ĐỀ

KHAI PHÁ DỮ LIỆU VÀ NHÀ KHO DỮ LIỆU

BÀI THU HOẠCH

KHAI THÁC TẬP PHỔ BIẾN ĐÓNG

SỬ DỤNG CẤU TRÚC IT-TREE

GIẢNG VIÊN GIẢNG DẠY

PGS TS ĐỖ PHÚC

HỌC VIÊN THỰC HIỆN

LÊ CUNG TƯỞNG (CH1101152)

Hồ Chí Minh, 11/2012

Trang 2

Mục lục

Mục lục 1

Lời mở đầu 2

1 Kiến thức cơ bản 3

1.1 Cơ sở dữ liệu giao dịch 3

1.2 Tập phổ biến 3

1.3 Luật kết hợp 4

1.4 Bài toán khai thác tập phổ biến và luật kết hợp 4

2 Khai thác tập phổ biến đóng 5

2.1 Cấu trúc IT-tree (Itemset Tidset – tree) và các lớp tương đương 5

2.2 Thuật toán Eclat 6

2.2.1 Thuật toán 6

2.2.2 Minh hoạ thuật toán Eclat 6

2.2.3 Nhận xét 7

2.3 Một số định nghĩa và tính chất 9

2.3.1 Toán tử đóng 9

2.3.2 Tập phổ biến đóng 9

2.3.3 Các tính chất của IT-Pair 10

2.4 Thuật toán CHARM 10

2.4.1 Giới thiệu 10

2.4.2 Thuật toán 11

2.4.3 Minh hoạ 13

2.4.4 Kiểm tra gộp nhanh 14

3 Cài đặt thuật toán CHARM 15

3.1 Cấu trúc tệp tin dữ liệu 15

3.2 Chức năng 15

3.3 Hướng dẫn sử dụng 15

Kết luận 16

Tài liệu tham khảo 17

Trang 3

Lời mở đầu

Chúng ta đang sống trong thời đại bùng nổ Công nghệ Thông tin với khối lượng thông tin khổng lồ Điều này đòi hỏi con người phải tìm kiếm phương pháp rút trích

ra các tri thức từ khối lượng dữ liệu này Lĩnh vực khai phá tri thức và khai thác dữ liệu được hình thành và phát triển nhằm đáp ứng nhu cầu này

Hiện nay, lĩnh vực khai thác dữ liệu có 3 bài toán chính được đề cập nhiều nhất: (1) khai thác luật kết hợp, (2) phân lớp và (3) gom nhóm dữ liệu Các bài toán này nhằm đáp ứng cho việc khai thác dữ liệu văn bản, khai thác dữ liệu không gian, thời gian, khai thác dữ liệu Web

Khai thác luật kết hợp là tìm ra các mối quan hệ giữa các item với nhau Vế phải của luật kết hợp có thể chứa một hay nhiều item Vì vậy, độ phức tạp của bài toán khai thác luật kết hợp rất lớn Muốn khai thác luật kết hợp, trước tiên phải khai thác được tập phổ biến Đã có khá nhiều thuật toán được phát triển nhằm làm tăng hiệu quả khai thác tập phổ biến và tập phổ biến đóng: các thuật toán phát triển từ Apriori, các thuật toán phát triển từ FP-tree, các thuật toán phát triển từ IT-tree

Trong bài thu hoạch này, tôi tập trung tìm hiểu thuật toán CHARM [5] đề suất bởi Zaki cùng cộng sự để khai thác tập phổ biến đóng dựa trên cấu trúc IT-tree Ngoài ra, tôi có sử dụng cách hiểu, ví dụ minh họa và một số cải tiến của TS Võ Đình Bảy trong luận án Tiến Sĩ [6] cho thuật toán CHARM Tôi đã tiến hành cài đặt thuật toán CHARM trên môi trường Visual Studio 2005 để minh họa cho những gì tôi tìm hiểu trong bài thu hoạch này

Trang 4

1 Kiến thức cơ bản

1.1 Cơ sở dữ liệu giao dịch

Cơ sở dữ liệu (CSDL) giao dịch gồm một bộ đôi trong đó là tập các item và là tập các giao dịch Cơ sở dữ liệu (CSDL) trong

Bảng 1 được lấy làm ví dụ cho toàn bộ bài viết

Bảng 1 Cơ sở dữ liệu mẫu

1.2 Tập phổ biến

Độ phổ biến: Cho CSDL giao dịch và một itemset Độ phổ biến của trong

, kí hiệu , là số giao dịch mà X xuất hiện trong D

Ví dụ: Xét CSDL của Bảng 1, ta có vì A chứa trong 4 giao dịch 1345,

vì AD chứa trong các giao dịch 45

Tập phổ biến: được gọi là phổ biến nếu (với

là giá trị do người dùng chỉ định)

Ví dụ: Xét CSDL của Bảng 1 với thì A là tập phổ biến vì

nhưng AD không phải là tập phổ biến vì

Tính chất

- Mọi tập con của một tập phổ biến cũng phổ biến: , nếu thì

- Mọi tập cha của một tập không phổ biến cũng không phổ biến: , nếu thì

Trang 5

1.3 Luật kết hợp

Luật kết hợp: là biểu thức có dạng , trong đó được gọi

là độ phổ biến của luật và được gọi là độ tin cậy của luật

Tập các luật kết hợp từ CSDL thỏa và được gọi là tập luật kết hợp truyền thống

Một số tính chất của luật kết hợp

- Nếu là luật kết hợp truyền thống thì cũng là luật kết hợp truyền thống

- Nếu là luật kết hợp truyền thống thì cũng là luật kết hợp truyền thống

- Nếu không là luật kết hợp thì cũng không là luật kết hợp

1.4 Bài toán khai thác tập phổ biến và luật kết hợp

Khai thác luật kết hợp bao gồm 2 bước như sau:

Bước 1 (tìm tập phổ biến): tìm tất cả các tập phổ biến với độ hỗ trợ lớn hơn độ

hỗ trợ tối thiểu ( ) Đặt , chúng ta tìm được tập hợp các tập

phổ biến thỏa điều kiện như trong Bảng 2 Trong đó CDT, ACTW và ACDW là các

tập phổ biến tối đại (không là một tập con của bất kỳ tập phổ biến nào khác)

Bảng 2 Tập hợp các tập danh mục phổ biến

Độ tin cậy Các tập danh mục phổ biến

67% A, D, T, AC, AW, CD, CT, ACW 50% AT, DW, TW, ACT, ATW, CDW, CTW, ACTW 33% AD, DT, CDT, ACD, ADW, ACDW

Bước 2 (phát sinh luật kết hợp): Luật kết hợp được được tạo ra từ các tập phổ

biến tìm thấy ở bước 1 thỏa mãn

Ví dụ: từ một tập phổ biến ACW có thể tạo 6 luật là: : 1.0; : 0.67; : 0.8; : 1.0; : 1.0 và : 0.8

Trang 6

2 Khai thác tập phổ biến đóng

2.1 Cấu trúc IT-tree (Itemset Tidset – tree) và các lớp tương

đương

Cho tập các item và , hàm chứa phần tử đầu của và một quan hệ tương đương dựa vào tiền tố trên các itemset được định nghĩa như sau:

Nói cách khác, hai itemset thuộc cùng một lớp tương đương khi và chỉ khi chúng

có chung phần tử đầu phổ biến Xét cây IT-tree như Hình 1, mỗi nút đại diện cho

một cặp Itemset-Tidset là một lớp tiền tố Tất cả các nút con của nút X thuộc về lớp tương đương của nút X bởi vì chúng có chung tiền tố X

Hình 1 Cây IT-tree và các lớp tương đương

Lớp tương đương ký hiệu là: , trong đó là nút cha và mỗi

là một item, đại diện cho nút Ví dụ nút gốc của cây IT-tree tương ứng với , nút trái cùng của nút gốc là lớp chứa tất cả các itemset chứa là tiền tố

Việc tạo ra các nút con của một nút trong một lớp tương đương được thực hiện bằng cách kết hợp với các nút đứng sau nó trong cùng một lớp tương đương Quá trình này sẽ được tiếp tục thực hiện đệ qui đối với các lớp tương đương mới cho đến khi không còn lớp tương đương nào được tạo ra

Trang 7

2.2 Thuật toán Eclat

Eclat ( )

1

2 ENUMERATE_FREQUENT ([ ])

ENUMERATE_FREQUENT ( )

1 for all do

2 [ ] = { }

3 for all , with j>i do

5

6 If then

8 ENUMERATE_FREQUENT ([ ])

Hình 2 Thuật toán khai thác tập phổ biến thỏa ngưỡng

Đầu tiên, thuật toán Eclat [1, 2, 3] khởi tạo lớp tương đương rỗng ([ ]) chứa các nút chứa các 1-itemset phổ biến ( ) Sau đó thuật toán gọi thủ

tục ENUMERATE_FREQUENT với đầu vào là lớp tương đương rỗng Thủ tục này

sẽ tính của các cặp với và Nếu thì thêm nút vào lớp tương đương Sau đó, gọi đệ

qui thủ tục ENUMERATE_FREQUENT để sinh ra các lớp tương đương con cho

đến khi không sinh được lớp tương đương nào nữa

Xét CSDL ở Bảng 1 với , ta có cây tìm kiếm minh họa cho quá trình khai thác tập phổ biến như trong Hình 3

Trang 8

Hình 3 Cây tìm kiếm tập FI thỏa ngưỡng

Xét nút và , hai nút này sẽ tạo ra nút mới là , do nên AC là tập phổ biến và nút sẽ được thêm vào lớp tương đương Xét A với D, do nên AD không là tập phổ biến Tiếp tục xét các nút còn lại, ta có lớp tương đương với các nút

Thuật toán gọi đệ qui thủ tục ENUMERATE_FREQUENT với đầu vào là lớp

tương đương , tiếp tục xét mỗi nút trong với các nút đứng sau nó để hình thành nên các lớp tương đương mới như , v.v

Cây tìm kiếm IT-tree luôn lệch trái do:

(1) Ứng với mỗi lớp tương đương ta cần xét với mọi (j > i) do đó i càng nhỏ thì số lượng j càng lớn

(2) Khi thì phần giao nhau giữa với các phần tử của các lớp tương đương khác thường sẽ lớn hơn phần giao của với các lớp tương đương còn lại

Trang 9

Để cải thiện (2) ta chỉ cần sắp xếp các trong lớp tương đương theo độ phổ biến tăng dần, khi đó cây IT-tree sẽ ít lệch trái hơn

Eclat_SORT ( )

1 [ ] = { }

2 ENUMERATE_FREQUENT_SORT ([ ])

ENUMERATE_FREQUENT_SORT ([ ])

1 SORT_SUPPORT ( )

2 for all do

3

4 for all with j > i do

Hình 4 Thuật toán khai thác tập phổ biến thỏa ngưỡng có sắp xếp

Cây tìm kiếm IT-tree sử dụng phương pháp sắp xếp được thể hiện ở Hình 5 ít

lệch trái hơn so với cây tìm kiếm IT-Tree sử dụng phương pháp thông thường thể hiện

trong Hình 3 Cây IT-Tree này có số itemset phát sinh không thỏa ngưỡng

ít hơn, thời gian tính toán giảm và quá trình tìm kiếm ít tốn không gian bộ nhớ hơn Các nút con sinh ra trên cùng một mức của một nút cha nào đó thường đã thỏa điều kiện sắp tăng theo độ phổ biến nên ta chỉ cần sắp xếp ở mức 1 của cây, các mức còn lại không cần sắp xếp bởi vì chúng sẽ thừa hưởng kết quả từ mức trước đó Vì thế chúng ta chỉ cần sắp xếp ở mức 1 của cây và không cần sắp xếp

ở mỗi lần gọi đệ qui

Trang 10

Hình 5 Cây tìm kiếm tập FI thỏa ngưỡng có sắp xếp

2.3 Một số định nghĩa và tính chất

Cho và ánh xạ với Ánh xạ c được gọi là

toán tử đóng

Ví dụ: Xét cơ sở dữ liệu được cho trong Bảng 1 ta có:

Toán tử đóng được định nghĩa như trên luôn thỏa các tính chất sau [4]:

1 Tính mở rộng

2 Tính đơn điệu: Nếu thì

3 Tính luỹ đẳng

Cho , được gọi là tập đóng khi và chỉ khi Tập vừa phổ biến vừa

là tập đóng được gọi là tập phổ biến đóng

Ví dụ: Xét cơ sở dữ liệu được cho trong Bảng 1 ta có:

nên không phải là tập đóng Tương tự, nên là tập đóng

Trang 11

2.3.3 Các tính chất của IT-Pair

Cho và là hai thành viên tuỳ ý của lớp tương đương Ta có

4 tính chất sau [5]:

1 Nếu thì

2 Nếu thì nhưng

3 Nếu thì nhưng

4 Nếu và thì

Hình 6 Các tính chất của IT-pair 2.4 Thuật toán CHARM 2.4.1 Giới thiệu Thuật toán CHARM là thuật toán khai thác tập phổ biến đóng được cải tiến từ thuật toán khai thác tập phổ biến Eclat và dựa vào các tính chất của IT-pair Ý tưởng như sau: Cho 2 tập phổ biến , nếu thì và sẽ thuộc về cùng tập phổ biến đóng có tiền tố là Như vậy ta không cần xét bất cứ tập cha nào của cả lẫn ngoài Quá trình tiếp tục khám phá đệ qui bằng cách tiếp tục xét các tập cha của

Trang 12

2.4.2 Thuật toán

CHARM ( )

1

2 CHARM_EXTEND ([ ], C = { })

3 Return C

CHARM_EXTEND ([ ], C)

1 for each in do

2 And

3 For each in với j > i do

4 And

5 CHARM_PROPERTY ( )

CHARM_PROPERTY ( )

1 if then

2 if then

5 elseif then // tính chất 2

7 elseif then // tính chất 3

10 else // tính chất 4

Hình 7 Thuật toán khai thác tập phổ biến đóng thỏa ngưỡng

Định nghĩa thứ tự : Ánh xạ là một đơn ánh từ tập các itemset sang

số nguyên Với bất kỳ 2 itemset và , ta nói rằng khi và chỉ khi Hàm định nghĩa một thứ tự tổng thể trên tập tất cả các itemset Ví dụ: nếu chỉ thứ tự từ điển thì AC ≤ AC do

Trang 13

Thuật toán CHARM sử dụng 4 tính chất cơ bản của IT-pair để khám phá nhanh các tập phổ biến đóng Giả sử hiện tại chúng ta đang xử lý nút trong đó

là một lớp tiền tố, gọi là một itemset của thì mỗi thành viên của là một cặp IT-pair

Thuật toán bắt đầu bằng việc khởi tạo các lớp tiền tố , các nút được xét là các l-itemset phổ biến và Tidset của chúng Giả sử các phần tử trong được sắp xếp theo thứ tự Việc tính toán chính là thực thi thủ tục

CHARM_EXTEND để trả về tập các itemset phổ biến đóng C

CHARM_EXTEND xem xét mỗi kết hợp của IT-pair xuất hiện trong Thuật

toán sẽ kết hợp mỗi IT-pair với mỗi IT-pair khác đứng sau nó theo thứ tự Mỗi sinh ra một tiền tố mới thành lớp rỗng Dòng 7 của thủ tục này, hai IT-pair được kết hợp để sinh ra một cặp mới , trong đó

và Dòng 8 kiểm tra tính chất của IT-pair bằng các gọi thủ tục

CHARM_PROPERTY Thủ tục này thay đổi lớp hiện hành bằng cách xóa đi các

IT-pair đã được gọp vào cặp khác Nó cũng thêm vào IT-pair mới trong lớp mới

và có thể thay đổi tiền tố trong trường hợp thỏa tính chất 1 hoặc 2 Sau đó thêm itemset vào tập itemset phổ biến đóng C với điều kiện không bị gộp bởi bất kỳ tập đóng nào được tìm thấy trước đó Khi tất cả các đã được xử lý, thuật toán sẽ khám phá đệ qui các lớp tương đương mới theo chiều sâu

Tái sắp xếp tự động các phần tử: theo thuật toán, nếu và thỏa tính chất 1 hoặc tính chất 2 thì ta sẽ không thêm nút mới vào cây tìm kiếm Với tính chất 1, bao đóng (sử dụng toán tử đóng) của hai itemset là bằng nhau, vì vậy chúng ta có thể loại

bỏ từ và thay thế Với tính chất 2, chúng ta có thể thay thế Trong cả hai trường hợp trên, chúng ta không thêm bất cứ một lớp mới nào Vì vậy, càng xảy ra trường hợp 1 và 2 nhiều thì càng ít mức tìm kiếm được thực thi Ngược lại, trường hợp 3 và 4 phải thêm vào nút mới đòi hỏi thêm mức xử lý trên cây IT

Vì chúng ta muốn (tính chất 1) hoặc (tính chất 2) nên chúng ta cần sắp xếp các itemset tăng dần theo độ phổ biến Tại nút gốc chúng ta sắp xếp các item tăng dần theo độ phổ biến của chúng Với các mức còn lại, mỗi phần tử

Trang 14

được thêm vào theo thứ tự đã sắp xếp theo độ phổ biến của mỗi lớp mới (dòng 19

và 21) Vì vậy việc tái sắp xếp được thực hiện đệ qui tại mỗi nút trên cây

Hình 8 Cây IT-tree tìm tập phổ biến đóng thỏa ngưỡng

Quá trình khai thác FCI thỏa ngưỡng phổ biến trên IT-tree được

thể hiện ở Hình 8 Đầu tiên, lớp tương đương được sắp xếp tăng dần

của độ phổ biến [ ] = {D, T, A, W, C} Khi , nó kết hợp lần lượt với các , do và nên nó không được sinh ra Do DW là một nút mới Tiếp tục kết hợp D với C, do nên thoả tính chất 2 Thay

D bởi DC Quá trình tiếp tục khai thác đệ qui theo chiều sâu để tìm các tập phổ biến

đóng Mức tìm kiếm trong trường hợp khai thác FCI (Hình 8) giảm đáng kể so với khai thác FI (Hình 1), điều này dẫn đến không gian bộ nhớ yêu cầu sẽ nhỏ hơn

Để minh họa tính chất 1, xét nút TCA 135 với nút TCW 135: Do t(TCA) = t(TCW) = 135 nên cả TCA lẫn TCW đều không là tập đóng Xóa nút TCW 135 khỏi lớp tương đương [TC] và thay nút TCA 135 thành TCAW 135

Bảng 3 Danh sách các FCI của CSDL Bảng 1 với (theo thứ tự khám phá đệ qui)

Ngày đăng: 10/04/2015, 00:13

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[5] M. J. Zaki, C.J. Hsiao (2005), Efficient Algorithms for Mining Closed Itemsets and Their Lattice Structure, IEEE Transactions on Knowledge and Data Engineering Sách, tạp chí
Tiêu đề: Efficient Algorithms for Mining Closed Itemsets and Their Lattice Structure
Tác giả: M. J. Zaki, C.J. Hsiao
Năm: 2005
[6] Võ Đình Bảy. Nâng cao hiệu quả của các thuật toán khai thác luật kết hợp dựa trên dàn. Luận án tiến sĩ Công nghệ Thông tin, Đại học Khoa học Tự nhiên Tp.HCM (2011) Sách, tạp chí
Tiêu đề: Nâng cao hiệu quả của các thuật toán khai thác luật kết hợp dựa trên dàn
[1] Mohammed Javeed Zaki, Ching-Jui Hsiao. Efficient algorithms for mining closed itemsets and their lattice structure. IEEE Transactions on Knowledge and Data Engineering 17 (4), 462-478 ( 2005) Khác
[3] Mohammed Javeed Zaki, Srinivasan Parthasarathy, Mitsunori Ogihara, Wei Li. New algorithms for fast discovery of association rules. Proceedings of SIGKDD’97, California, USA, 283–286 (1997) Khác
[4] Mohammed Javeed Zaki. Mining non-redundant association rules. Data Mining and Knowledge Discovery 9 (3), 223–248 (2004) Khác

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w