1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Khai thác k mẫu tuần tự đóng

76 149 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 76
Dung lượng 1,35 MB

Nội dung

Trong đó, thuật toán TKS Top-K Sequential pattern mining[5] được đánh giá cao bởi vì chi phí thực hiện thấp hơn nhiều lần so với các thuật toán khác trong việc khai thác k mẫu tuần tự ph

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM

-

ĐỖ THANH TÙNG

KHAI THÁC K MẪU TUẦN TỰ ĐÓNG

LUẬN VĂN THẠC SĨ Chuyên ngành: Công Nghệ Thông Tin

Mã ngành: 60480201

TP HỒ CHÍ MINH, Tháng 11 năm 2017

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM

-

ĐỖ THANH TÙNG KHAI THÁC K MẪU TUẦN TỰ ĐÓNG

LUẬN VĂN THẠC SĨ Chuyên ngành: Công Nghệ Thông Tin

Mã ngành: 60480201

CÁN BỘ HƯỚNG DẪN KHOA HỌC: TS PHẠM THỊ THIẾT

TP HỒ CHÍ MINH, Tháng 11 năm 2017

Trang 3

CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM

Cán bộ hướng dẫn khoa học : TS PHẠM THỊ THIẾT

Luận văn Thạc sĩ được bảo vệ tại Trường Đại học Công nghệ TP HCM ngày 17 tháng 06 năm 2018

Thành phần Hội đồng đánh giá Luận văn Thạc sĩ gồm:

(Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ Luận văn Thạc sĩ)

1 PGS.TS Quản Thành Thơ Chủ tịch

2 PGS TS Võ Đình Bảy Phản biện 1

5 TS Nguyễn Thị Thúy Loan Ủy viên, Thư ký

Xác nhận của Chủ tịch Hội đồng đánh giá Luận sau khi Luận văn đã được sửa chữa

(nếu có)

Chủ tịch Hội đồng đánh giá LV

Trang 4

TRƯỜNG ĐH CÔNG NGHỆ TP.HCM

VIỆN ĐÀO TẠO SAU ĐẠI HỌC

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập – Tự do – Hạnh phúc

TP.HCM, Ngày 28 Tháng 11 Năm 2017

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ tên học viên: Đỗ Thanh Tùng Giới tính: Nam

Ngày tháng năm sinh: 10-06-1990 Nơi sinh: Khánh Hòa

Chuyên ngành: Công Nghệ Thông Tin MSHV: 1541860046

I – Tên đề tài:

KHAI THÁC TOP K MẪU TUẦN TỰ ĐÓNG

II – Nhiệm vụ và nội dung:

 Nghiên cứu bài toán khai thác Top- k mẫu tuần tự đóng

 Tìm hiểu khai thác mẫu tuần tự và mẫu tuần tự đóng

 Nghiên cứu Thuật toán SPAM,TSP,TKS

 Nghiên cứu và đề xuất phương pháp khai thác mẫu tuần tự đóng dựa vào thuật toán TKS

 Xây dựng chương trình thực nghiệm và đánh giá kết quả

III – Ngày giao nhiệm vụ: Ngày 15 tháng 03 năm 2017

IV – Ngày hoàn thành nhiệm vụ: Ngày 28 tháng 11 năm 2017

V – Cán bộ hướng dẫn: Tiến sĩ Phạm Thị Thiết

CÁN BỘ HƯỚNG DẪN KHOA QUẢN LÝ CHUYÊN NGÀNH

Trang 5

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi Các số liệu, kết quả đánh giá, nhận xét và các đề xuất thuật toán mới được nêu trong Luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác

Tôi xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện Luận văn này cũng như các trích dẫn hay tài liệu học thuật tham khảo đã được cảm ơn đến tác giả hay ghi rõ ràng nguồn gốc thông tin trích dẫn trong Luận văn

Học viên thực hiện Luận văn

Đỗ Thanh Tùng

Trang 6

Tôi cũng xin gởi lời cảm ơn đến gia đình, bạn bè và những người thân đã luôn động viên, quan tâm và giúp đỡ tôi trong suốt thời gian học tập và nghiên cứu hoàn thành Luận văn này

Luận văn không thể tránh khỏi những sai sót, rất mong nhận được ý kiến đóng góp của mọi người cho Luận văn để Luận văn được hoàn thiện hơn

Tôi xin chân thành cảm ơn

TP Hồ Chí Minh, tháng 11 năm 2017

ĐỖ THANH TÙNG

Trang 7

TÓM TẮT

Khai thác mẫu tuần tự là một phần quan trọng của khai thác dữ liệu với các

ứng dụng rộng rãi Tuy nhiên, việc tùy chỉnh thông số minsup để phù hợp trong các

thuật toán khai thác mẫu tuần tự nhằm tạo ra đúng số mẫu mà người dùng mong muốn là điều rất khó khăn và tốn thời gian Để giải quyết vấn đề này, thuật toán khai thác k mẫu tuần tự đóng TSP [15] đã đưa ra phương án giới hạn lại số lượng k mẫu cần khai thác, nhưng thời gian thực hiện và bộ nhớ sử dụng của thuật toán cao

Vì thế, luận văn đề xuất thuật toán TKCS tìm k mẫu tuần tự đóng dựa trên thuật toán TKS[5] Với k mẫu nhập vào thuật toán sẽ trả về k mẫu có độ hỗ trợ cao nhất trong CSDL

Kết quả thực thi cho thấy, Thuật toán TKCS có hiệu suất tốt hơn rất nhiều so với thuật toán TSP về chi phí thời gian cũng như bộ nhớ sử dụng Ngoài ta thuật toán TKCS còn xử lý tốt trên các CSDL khác nhau, đặc biệt là các CSDL mẫu lớn

Trang 8

ABSTRACT

Sequential pattern mining is a important part of data minning with wide applications However, it is very difficult and time-consuming to customize the minsup parameters to fit in sequential pattern mining algorithms to create the right number of samples desired by the user To solve this problem, the TSP[15] algorithm had proposed method to limit the number of sequential patterns to be mined but a running time and usage memory of this algorithm is high Therefore,thesis proposal TKCS algorithm find k closed sequence patterns based

on the TKS[5] algorithm With input k patterns , the algorithm returns k patterns highest degree of support in the database

The results show that TKCS algorithm is much better than TSP algorithm time cost as well as memory usage In addition, the TKCS algorithm handles well

on various databases, especially large sample databases

Trang 9

MỤC LỤC

TÓM TẮT iii

ABSTRACT iv

DANH MỤC CÁC TỪ VIẾT TẮT vii

DANH MỤC BẢNG viii

DANH MỤC HÌNH ix

CHƯƠNG 1: GIỚI THIỆU 1

1.1 Đặt vấn đề 1

1.2 Mục tiêu của đề tài: 1

1.3 Phạm vi nghiên cứu đề tài 2

1.4 Nôi dung nghiên cứu 2

1.5 Bố cục của đề tài 2

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 4

2.1 Giới thiệu 4

2.2 Các khái niệm về chuỗi dữ liệu 4

2.2.1 Cơ sở dữ liệu chuỗi: 5

2.2.2 Độ hỗ trợ: 5

2.2.3 Mẫu 6

2.2.4 Mẫu tuần tự 6

2.3 Khai thác mẫu tuần tự 6

2.4 Các thuật toán khai thác mẫu tuần tự 8

2.4.1 Thuật toán AprioriAll 8

2.4.2 Thuật toán GSP 9

2.4.3 Thuật toán SPADE 10

2.4.4 Thuật toán SPAM 11

Trang 10

2.4.5 Thuật toán WAP-mine 13

2.4.6 Thuật toán FreeSpan, PrefixSpan 13

3.2.1.1 Thuật toán FreeSpan 14

3.2.1.2 Thuật toán PrefixSpan 14

2.4.7 Đánh giá 19

2.5 Mẫu tuần tự đóng: 20

2.6 Thuật toán khai thác mẫu tuần tự đóng 20

2.6.1 Thuật toán CloSpan 20

2.6.2 Thuật toán BIDE 21

2.6.3 Giới thiệu thuật toán TSP 22

2.6.4 Cấu trúc cây PDB 23

2.6.5 Thuật toán TSP 24

2.6.6 Nhận xét: 29

CHƯƠNG 3: KHAI THÁC TOP K MẪU TUẦN TỰ ĐÓNG 30

3.1 Giới thiệu: 30

3.2 Thuật toán TKS 30

3.2.1 Cơ sở dữ liệu bitmap dọc 31

3.2.2 Phương thức tạo ứng viên trong thuật toán SPAM 32

3.2.3 Các chiến lược tăng hiệu suất khai thác dữ liệu trong TKS 36

3.2.4 Thuật toán TKS tìm tập phổ biến 42

3.2.5 Nhận xét: 45

3.3 THUẬT TOÁN TKCS 46

3.3.1 Thuật toán TKCS: 46

3.3.2 Nhận xét: 52

CHƯƠNG 4: KẾT QUẢ THỰC NGHIỆM VÀ ĐÁNH GIÁ 53

4.1 Môi trường thực nghiệm 53

Trang 11

4.2 Bộ dữ liệu chạy thực nghiệm 53

4.3 Kết quả thực nghiệm giữa TKCS và TSP 54

CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 60

5.1 KẾT LUẬN 60

5.2 HƯỚNG PHÁT TRIỂN 60

TÀI LIỆU THAM KHẢO 61

Trang 12

DANH MỤC CÁC TỪ VIẾT TẮT

BIDE BI-Directional Extension

CloSpan Closed Sequential Patterns mining

CSDL Data Base (DB)

FP – tree Frequent Pattern

GSP Generalized Sequential Patterns

PDB Prefix-projected databases

PrefixSpan Prefix – Projected Sequential PAtterN mining

PrefixSpanWSR Prefix – Projected Sequential PAtterN mining with

support raising

SPADE Sequential PAttern Discovery using Equivalence classes

SPAM Sequential Pattern Mining

TKCS Top-K Close Sequential Patterns

TKS Top K Sequential Patterns

TSP Top-K Closed Sequential Patterns

Trang 13

DANH MỤC BẢNG

Bảng 2.1 Cơ sở dữ liệu chuỗi 5

Bảng 2.2 CSDL biểu diễn theo chiều ngang 7

Bảng 2.3 CSDL biểu diễn theo chiều dọc 7

Bảng 2.4 CSDL Chiếu theo PrefixSpan 15

Bảng 2.5 Dữ liệu được chiếu theo <a> 16

Bảng 2.6 Dữ liệu được chiếu theo <aa> 16

Bảng 2.7 Dữ liệu được chiếu theo <aab> 17

Bảng 2.8 Dữ liệu được chiếu theo <aabc> 17

Bảng 2.9 Dữ liệu được chiếu theo <aac> 18

Bảng 2.10 Dữ liệu được chiếu theo <aacc> 18

Bảng 2.11 Kết quả được chiếu theo thuật toán Prefixspan 19

Bảng 2.12 Kết quả mẫu tuần tự đóng TSP 29

Bảng 3.1 CSDL bitmap dọc được xây dựng từ CSDL 31

Bảng 3.2 Cấu trúc dữ liệu PMAP được xây dựng từ CSDL chuỗi D 42

Bảng 3.3 CSDL mẫu 43

Bảng 3.4 Kết quả mẫu tuần tự phổ biến TKS 45

Bảng 3.5 CSDL thuật toán TKCS 48

Bảng 3.6 Kết quả mẫu tuần tự đóng TKCS 52

Bảng 4.1 Bộ CSDL chạy thực nghiệm và các thuộc tính liên quan 53

Bảng 4.2 Kết quả chạy thực nghiệm TKCS và TSP trên các bộ dữ liệu 55

Trang 14

DANH MỤC HÌNH

Hình 2.1 Cây từ điển mở rộng chuỗi 11

Hình 2.2 Cây từ điển chuỗi phổ biến 22

Hình 2.3 Cấu trúc cây PDB 24

Hình 2.4 Mô tả thuật toán TSP 26

Hình 2.5 Mô tả thủ tục tìm tập đóng trong TSP 28

Hình 3.1 Thuật toán SPAM 32

Hình 3.2 Thủ tục tạo ứng viên trong thuật toán SPAM 33

Hình 3.3 Mở rộng theo chuỗi 34

Hình 3.4 Mở rộng theo itemset 35

Hình 3.5 Thuật toán TKS 38

Hình 3.6 Thủ tục tạo ứng viên trên TKS 38

Hình 3.7 Thủ tục SAVE trên TKS 39

Hình 3.8 Thuật toán TKCS 46

Hình 4.1 So sánh thời gian thực hiện giữa TKCS và TSP trên CSDL Sign 56

Hình 4.2 So sánh thời gian thực hiện giữa TKCS và TSP trên CSDL Leviathan 56

Hình 4.3 So sánh thời gian thực hiện giữa TKCS và TSP trên CSDL Bible 57

Hình 4.4 So sánh thời gian thực hiện giữa TKCS và TSP trên CSDL FIFA 57

Hình 4.5 So sánh thời gian thực hiện giữa TKCS và TSP trên CSDL BmsWebView1 58

Hình 4.6 So sánh thời gian thực hiện giữa TKCS và TSP trên CSDL BmsWebView2 58

Trang 15

CHƯƠNG 1: GIỚI THIỆU

1.1 Đặt vấn đề

Khai thác dữ liệu là lĩnh vực đã và đang được nghiên cứu trong nhiều năm qua với mục đích hỗ trợ các nhà quản lý tìm ra mối quan hệ giữa các sản phẩm trong số lượng lớn danh mục sản phẩm và nhờ đó có thể giúp tăng doanh thu Quá trình khai thác dữ liệu là quá trình phát hiện ra các mẫu thông tin có giá trị tiềm ẩn trong cơ sở dữ liệu

Khai thác luật kết hợp [2] là một trong những phương thức hay và phổ biến nhất để đạt được mục đích này Việc khai thác các luật kết hợp nhằm mục đích phát hiện ra các mối quan hệ giữa các tập thuộc tính trong CSDL với nhau, trong đó khai thác tập phổ biến đóng vai trò quan trọng trong việc khai thác các luật kết hợp Sự

đa dạng và phong phú của dữ liệu hình thành nên nhiều loại dữ liệu khác nhau: dữ liệu giao tác (transaction), dữ liệu chuỗi (sequence), chuỗi thời gian (time-series)… Trước tình hình đó, việc khai thác và chọn lọc những dữ liệu có ích từ lượng dữ liệu

đó là việc cần thiết, đóng vai trò quyết định thành công trong mọi hoạt động Các dữ liệu chắt lọc đó sẽ giúp cải thiện hoạt động trong hiện tại hay đưa ra những dự đoán giúp việc đưa ra quyết định trong tương lai sẽ chính xác hơn

Nhưng trên thực tế, mỗi một sản phẩm mà khách hàng mua lại có thể có giá khác nhau Tương tự mỗi một hạng mục trong giao dịch cũng có các trọng số khác nhau tùy theo từng loại cơ sở dữ liệu cụ thể Chính vì vậy, nhiều nghiên cứu đã được thực hiện và nhiều thuật toán đã được đề xuất trong lĩnh vực này Trong đó, thuật toán TKS (Top-K Sequential pattern mining)[5] được đánh giá cao bởi vì chi phí thực hiện thấp hơn nhiều lần so với các thuật toán khác trong việc khai thác k mẫu tuần tự phổ biến Dựa vào đó để làm nền tảng tiến hành nghiên cứu bài toán Khai Thác Top K mẫu tuần tự đóng

1.2 Mục tiêu của đề tài:

Đề tài tập trung nghiên cứu thuật toán khai thác mẫu tuần tự và mẫu tuần tự

Trang 16

đóng Cụ thể tìm hiểu thuật toán TKS để tìm ra Top K mẫu tuần tự Từ đó đề xuất thuật toán để tìm ra top K mẫu tuần tự đóng

1.3 Phạm vi nghiên cứu đề tài

Luận văn tập trung nghiên cứu các thuật toán khai thác mẫu tuần tự và mẫu tuần tự đóng Từ đó, đề ra các phương pháp tìm k mẫu tuần tự đóng cho thuật toán TKS và ứng dụng nó để khai thác dữ liệu, đặt biệt là các CSDL mẫu lớn

1.4 Nôi dung nghiên cứu

 Nghiên cứu bài toán khai thác Top- k mẫu tuần tự đóng

 Tìm hiểu khai thác mẫu tuần tự và mẫu tuần tự đóng

 Nghiên cứu Thuật toán SPAM[14],TSP[15],TKS[5]

 Nghiên cứu và đề xuất phương pháp khai thác mẫu tuần tự đóng dựa vào thuật toán TKS

 Xây dựng chương trình thực nghiệm và đánh giá kết quả

1.5 Bố cục của đề tài

Chương 1 Tổng quan

Giới thiệu và đặt vấn đề hình thành đề tài, mục tiêu đặt ra cũng như phạm vi nghiên cứu và các bố cục được đề ra trong đề tài này

Chương 2 Cơ sở lý thuyết

Tổng quan cơ sở lý thuyết về CSDL dạng chuỗi, phân tích và khái quát các phương pháp khai thác mẫu tuần tự phổ biến và mẫu tuần tự đóng như Spade[17], Freespan[7], Prifixspan[11] ,Spam [14] và Clospan[16],BIDE[8],TSP[15]

Chương 3 Khai thác top k mẫu tuần tự đóng

Trình bày phương pháp khai thác k mẫu tuần tự phổ biến TKS[5], đề xuất phương pháp khai thác k mẫu tuần phổ biến TKS để tìm ra mẫu tuần tự đóng với tên mới là TKCS

Trang 17

Chương 4 Kết quả thực nghiệm và đánh giá

Trình bày kết quả thử nghiệm và đánh giá phương pháp Luận văn tiến hành thực nghiệm trên cơ sở tìm mẫu tuần tự đóng trên thuật toán TSP[15] và mẫu tuần

tự đóng TKCS Đánh giá kết quả đạt được

Chương 5 Kết luận và hướng phát triển

Tổng kết và nêu lên những nội dung chính của luận văn và đề xuất các hướng phát triển trong tương lai

Trang 18

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1 Giới thiệu

Trong lĩnh vực khai thác dữ liệu, nhất là trên CSDL chuỗi Việc khai thác mẫu tuần tự là một nhiệm vụ khai thác dữ liệu quan trọng đã được nghiên cứu rộng rãi [1],[6], [9],[10],[13] Cho một tập các chuỗi, trong đó mỗi chuỗi bao gồm một danh sách các tập phổ biến, và một ngưỡng hỗ trợ tối thiểu do người dùng chỉ định

(minsup), khai thác mẫu tuần tự là để tìm tất cả các mẫu phổ biến có độ hỗ trợ không thấp hơn minsup Khai thác mẫu tuần tự được ứng dụng trong nhiều lĩnh vực

như: phân tích thị trường, phân tích mẫu truy cập web, dự đoán nhu cầu mua sắm của khách hàng…

Khi khai thác mẫu tuần tự tồn tại một số vấn đề như sau:

 Khai thác mẫu tuần tự thường tạo ra một số lượng lớn các mẫu, vấn đề đó không thể tránh khỏi khi cơ sở dữ liệu bao gồm các chuỗi phổ biến dài Nó sẽ tạo ra các mẫu phổ biến mà các mẫu đó có thể có cùng độ hỗ trợ hoặc là cha của mẫu phổ biến khác

Nếu chọn minsup quá cao thì tạo ra ít các mẫu bỏ qua các thông tin có giá trị

còn ngược lại thì quá nhiều mẫu dẫn đến thuật toán chậm Để chọn một giá trị

minsup hợp lý đòi hỏi phải biết về dữ liệu

2.2 Các khái niệm về chuỗi dữ liệu

Cho I = {i 1 , i 2 ,…, i k } là một tập các item Tập con của I gọi là Itemset Chuỗi

trong mỗi itemset được nhóm theo thứ tự

Ví dụ: Xét CSDL như bảng 2.1

Chuỗi s1 có 5 itemset xảy ra theo thứ tự <(a)(abc)(ac)(d)(cf)> Chiều dài của s, l(s)

là tổng số các item trong s còn được gọi là l-sequence

Ví dụ: Chuỗi <(ac)(d)> là một 3-sequence có kích thước là 2

Trang 19

Chuỗi  = <a 1 , a 2 ,…, a m> là một chuỗi con của chuỗi khác  = <b 1 ,

Ví dụ:: Chuỗi <(a)(d)> là chuỗi con của <(ad)(c)(bc)(ae)> nhưng <(a)(d)>

không phải là chuỗi con của chuỗi <(ad)> và ngược lại

2.2.1 Cơ sở dữ liệu chuỗi:

Cơ sở dữ liệu chuỗi D = {s1, s2,…, sn} là một tập các chuỗi có dạng (SID,s), trong đó SID là định danh của chuỗi và s là chuỗi các itemset

Ví dụ: Xét CSDL chuỗi như sau:

Xét CSDL chuỗi D, mỗi chuỗi có một chỉ số định danh duy nhất Độ hỗ trợ

tuyệt đối của một mẫu tuần tự  là tổng số chuỗi trong D có chứa p, ký hiệu supD

(p) = l{s| sD và s}l Độ hỗ trợ tương đối của p là tỉ lệ phần trăm chuỗi trong D chứa p Ở đây, mức hỗ trợ tuyệt đối hoặc tương đối sẽ được sử dụng chuyển đổi qua lại, kí hiệu là sup(p)

Ví dụ: Xét CSDL như bảng 2.1 Chuỗi p = <(a)(d)> xuất hiện trong chuỗi s1,

s2, s3, s5 Vậy độ hỗ trợ của chuỗi p là 4

Trang 20

Cho trước ngưỡng hỗ trợ tối thiểu (minsup) xác định bởi người dùng, minsup

∈ (0, 1] Một mẫu  được coi là phổ biến nếu độ hỗ trợ của nó lớn hơn hoặc bằng

Ví dụ: Xét CSDL như bảng 2.1

Có tập các item phân biệt là {a, b, c, d, e, f } Xét chuỗi s 1 = <(a)(abc)(ac)(d)(cf)>

chuỗi s 1 có 5 itemset là: <(a),(abc),(ac),(d),(cf)> và có 9 item Vậy s 1 có kích thước

là 5 và có độ dài là 9 Trong chuỗi s 1 , item a xuất hiện 3 lần nhưng nếu tính độ hỗ trợ thì độ hỗ trợ của item a chỉ được tính là 1 đối với chuỗi s 1 đó Chuỗi p = < (a)> xuất hiện trong chuỗi s1, s2, s3, s4 s5 Vậy độ hỗ trợ của mẫu p là 5 Vì sup(p) > minsup nên p là mẫu tuần tự

2.3 Khai thác mẫu tuần tự

Cho trước CSDL chuỗi và ngưỡng minsup Khai thác mẫu tuần tự là đi tìm

tập đầy đủ tất cả các mẫu tuần tự có trong CSDL và có độ lớn hơn hoặc bằng ngưỡng minsup đã cho

Có hai dạng tổ chức dữ liệu cơ bản:

 Dạng biểu diễn ngang: Dữ liệu được tổ chức theo chiều ngang, mỗi hàng đại diện cho dãy sự kiện (event) tương ứng với đối tượng (object)

 Dạng biểu diễn dọc: Dữ liệu được tổ chức theo chiều dọc, mỗi bảng trình bày cho một item và chỉ ra danh sách của các chuỗi mà item xuất hiện và

vị trí mà item đó xuất hiện

Trang 21

Ví dụ: Xét CSDL như bảng 2.1

CSDL trên có thể biểu diễn theo 2 cách sau:

a Biểu diễn ngang

Trang 22

nhanh hơn Bởi vì theo cách tổ chức này, có thể lấy được ngay các đối tượng ứng với sự kiện mà không phải duyệt toàn bộ CSDL Hơn nữa, đối với CSDL lớn, việc

tổ chức theo chiều dọc mang tính cô đọng, giúp thực thi nhanh hơn và cho phép lặp lại việc tìm các mẫu tuần tự một cách dễ dàng Tuy nhiên, dữ liệu gốc ban đầu thường 13 được tổ chức theo chiều ngang, nếu muốn tổ chức theo chiều dọc phải có bước tiền xử lý để chuyển đổi

2.4 Các thuật toán khai thác mẫu tuần tự

Bài toán khai thác mẫu tuần tự được đề xuất đầu tiên bởi Agrawal và Srikant vào năm 1995 AprioriAll [2] là thuật toán đầu tiên được thiết kế để giải quyết bài toán khai thác mẫu tuần tự trên CSDL chuỗi giao dịch AprioriAll dựa trên thuật toán khai thác mẫu phổ biến Apriori [3], là thuật toán nền tảng làm cơ sở cho các thuật toán về sau

2.4.1 Thuật toán AprioriAll

Để tìm mẫu tuần tự, thuật toán AprioriAll [2] gồm 3 giai đoạn chính: Tìm itemset phổ biến, biến đổi CSDL và tìm mẫu tuần tự trên dữ liệu đã biến đổi Ở giai đoạn 1, thuật toán tiến hành duyệt toàn bộ CSDL ban đầu để tìm các itemset phổ biến Sau đó, ánh xạ tập itemset phổ biến tìm được sang tập số nguyên Việc ánh xạ nhằm mục đích coi một temset phổ biến là một thực thể riêng biệt và thời gian so sánh hai itemset phổ biến bất kỳ đều như nhau Hơn nữa, giúp giảm thời gian kiểm tra một chuỗi có là chuỗi con của chuỗi dữ liệu trong CSDL ban đầu không

Giai đoạn 2, trong CSDL chuỗi ban đầu, mỗi chuỗi được thay thế bởi tập tất

cả các itemset phổ biến có chứa trong chuỗi đó Nếu itemset không chứa itemset con phổ biến nào thì loại bỏ itemset đó khỏi tập chuỗi dữ liệu Nếu chuỗi dữ liệu không chứa itemset phổ biến nào thì loại bỏ chuỗi đó khỏi CSDL Sau khi biến đổi, mỗi chuỗi sẽ được đại diện bởi một dãy các itemset phổ biến

Trang 23

Giai đoạn 3, tìm mẫu tuần tự dựa trên kết quả từ giai đoạn tìm itemset phổ biến, ta có được tập các mẫu tuần tự có kích thước là 1 Giải thuật dựa trên nguyên tắc Apriori: Mọi tập con của tập phổ biến phải là tập phổ biến, mọi tập cha của tập không phổ biến đều không phổ biến Tập ứng viên gồm các mẫu độ dài k được phát

sinh bằng cách kết các mẫu độ dài (k-1), sau đó dựa vào nguyên tắc Apriori và

minsup để loại bỏ các mẫu không phổ biến

Như vậy, để tìm được mẫu tuần tự, giải thuật AprioriAll phải phát sinh các ứng viên, nhưng số lượng ứng viên tạo ra rất lớn dễ dẫn đến tình trạng “nghẽn cổ chai” Với chuỗi độ dài n thì số ứng viên có thể tạo ra là ∑𝑛𝑖=1𝐶𝑛= 2𝑖 𝑛 −1 do đó không đủ bộ nhớ để xử lý Mặt khác, để tìm tất cả các mẫu tuần tự, thuật toán AprioriAll phải duyệt CSDL nhiều lần vì với mỗi tập ứng viên để đếm độ hỗ trợ phải duyệt toàn bộ CSDL Đối với bài toán khai thác mẫu tuần tự, các yếu tố ảnh hưởng đến tính hiệu quả của thuật toán là cách thức tổ chức dữ liệu và thuật toán giải quyết

Do đó, phải sử dụng cấu trúc dữ liệu thích hợp và thuật toán tối ưu Như vậy, các đặc trưng ảnh hưởng đến tốc độ thực thi là cách tổ chức biễu diễn dữ liệu để lưu trữ vào bộ nhớ, cách duyệt dữ liệu để xử lý, các chiến lược tìm kiếm Ngoài ra, sử dụng một số đặc trưng khác như vận dụng lý thuyết đồ thị, đưa ra những ràng buộc cho bài toán sẽ giúp thuật toán thực thi nhanh hơn, các mẫu tuần tự tìm được có giá trị hơn Chính vì vậy, tiếp cận theo nhiều hướng khác nhau, xuất phát từ thuật toán nền tảng AprioriAll, các nhóm nghiên cứu đã đưa ra nhiều thuật toán khác nhau để giải quyết bài toán khai thác mẫu tuần tự

2.4.2 Thuật toán GSP

GSP [13] (Generalized Sequential Patterns) do Agrawal và Srikant đưa ra

vào năm 1996, là mở rộng của thuật toán AprioriAll GSP giải quyết bài toán khai thác mẫu tuần tự một cách tổng quát, đó là bổ sung thêm các ràng buộc: ràng buộc

về khoảng thời gian cực đại và cực tiểu giữa các thành phần trong một mẫu tuần tự Các item của một thành phần trong một mẫu có thể lấy từ một hoặc nhiều thành

Trang 24

phần khác nhau nhưng khoảng cách thời gian giữa các thành phần phải nằm trong giới hạn “time window”

Ngoài ra, có sự phân cấp trên các item, một mẫu có thể gồm những item trên các mức phân cấp khác nhau GSP[13] thực hiện tương tự như AprioriAll, thực hiện duyệt cơ sở dữ liệu nhiều lần Lần duyệt đầu tiên sẽ xác định được tập hợp các mẫu phổ biến độ dài 1 Ở các lần duyệt tiếp theo, thuật toán tiến hành phát sinh tập ứng

viên độ dài (k+1) (Ck) từ tập phổ biến độ dài k (L k) ở lần duyệt trước, sau đó đếm độ

15 hỗ trợ của mỗi ứng viên và tìm được tập phổ biến độ dài k GSP khắc phục được tình trạng “nghẽn cổ chai” của AprioriAll và thực hiện nhanh hơn AprioriAll nhưng phải duyệt cơ sở dữ liệu nhiều lần

2.4.3 Thuật toán SPADE

Thuật toán SPADE [17] (Sequential Pattern Discovery using Equivalence classes) do Zaki đề xuất vào năm 1998 Thuật toán SPADE tổ chức dữ liệu theo chiều dọc, trong đó ứng với mỗi item sẽ lưu danh sách định danh của các chuỗi dữ liệu và định danh của các itemset có chứa item đó Độ hỗ trợ của item được tính trực tiếp từ danh sách các định danh

Mặt khác, SPADE[17] còn dựa trên lý thuyết dàn để chia nhỏ không gian tìm kiếm và thao tác kết đơn giản để tạo ra tập ứng viên Thuật toán này gom nhóm các mẫu tuần tự dựa theo tiền tố thành các lớp tương đương Thuật toán chỉ duyệt CSDL đúng ba lần: lần duyệt thứ nhất và thứ hai thực hiện tìm các mẫu tuần tự có

độ dài 1 và 2 Ở lần duyệt thứ ba, thuật toán phát triển mẫu độ dài k từ hai mẫu độ

dài (k-1) có (k-2) item đầu giống nhau, tiến hành duyệt trên từng lớp tương đương

do đó giảm chi phí tính toán và sử dụng bộ nhớ hiệu quả hơn Với ngưỡng minsup

thấp, so với thuật toán GSP[5], thuật toán SPADE thực hiện nhanh gấp đôi vì: 1)

Thực hiện thao tác kết đơn giản theo ID-List, độ dài của mẫu tuần tự càng tăng thì kích thước ID-List càng giảm (vì độ hỗ trợ của chuỗi cha nhỏ hơn độ hỗ trợ của chuỗi con, mà độ hỗ trợ của một chuỗi bằng số SID phân biệt trong ID-List) 2)

Không sử dụng cấu trúc dữ liệu phức tạp như cây băm của GSP, sử dụng bộ nhớ

Trang 25

một cách hiệu quả Mặt khác, SPADE không phải duyệt toàn bộ dữ liệu để tạo và

đếm độ hỗ trợ cho một chuỗi mới mà chỉ cần duyệt hai ID-List của hai mẫu tuần tự

cơ sở và độ hỗ trợ của chuỗi mới dễ dàng xác định được, đó là số SID phân biệt trong ID-List mới kết được 3) Khi ngưỡng hỗ trợ tối thiểu càng nhỏ thì SPADE

càng tìm được nhiều chuỗi phổ biến hơn và chỉ phỉ duyệt cơ sở dữ liệu đúng 3 lần Như vậy giảm được chi phí nhập xuất đáng kể

2.4.4 Thuật toán SPAM

Thuật toán SPAM [14] kết hợp với các ý tưởng của các thuật toán khác như: GSP,SPADE[17] và FREESPAN[7] Thuật toán xử lý cùng với việc sử dụng cấu trúc dữ liệu vừa với bộ nhớ chính và được khẳng định là kỹ thuật khai thác mẫu tuần tự đầu tiên sử dụng cấu trúc dữ liệu cây từ điển đề lưu các chuỗi đã duyệt theo chiều sâu của cây

Hình 2.1 Cây từ điển mở rộng chuỗi

Trang 26

Ví dụ:

Cho thuật toán SPAM, sử dụng CSDL ở bảng 2.1 giả sử kích thước cực đại

ở mỗi chuỗi là 5 Mỗi nút trên cây có các chuỗi con mở rộng theo chuỗi được tạo ra theo bước S-Step và các chuỗi con mở rộng theo Itemset được tạo ra theo I-Step của thuật toán SPAM duyệt các chuỗi trên cây theo chiều sâu và kiểm tra độ hỗ trợ của

mỗi chuỗi mở rộng theo ngưỡng minSup một cách đệ quy Nếu độ hỗ trợ của một nút con s nhỏ hơn minSup thì không cần lặp lại quá trình duyệt theo chiều sâu trên s

do tính chất Apriori[3] Việc loại trừ cũng được áp dụng tại mỗi bước mở rộng theo chuỗi và theo itemset của thuật toán, tối thiểu số lượng nút con và đảm bảo rằng tất

cả các nút tương ứng với chuỗi phổ biến đều được thăm Để đếm độ hỗ trợ hiệu quả, SPAM sử dụng cấu trúc dữ liệu bitmap dọc để biểu diển mỗi thành phần trong của

các chuỗi trong CSDL Để tìm bitmap của chuỗi mở rộng theo chuỗi (S-Step), trước

hết biến đổi chuỗi cần mở rộng sử dụng một bảng tra sao cho tất cả các bit đứng sau

vị trí của bit 1 đầu tiên (giả sử vị trí xuất hiện bit 1 đầu tiên là y) được thiết lập là 1

và tất cả các bit có chỉ số nhỏ hơn hoặc bằng y được thiết lập là 0 Sau đó, thực hiện

phép toán AND trên bitmap đã biến đổi với bitmap của item thêm vào, ta được

bitmap của chuỗi mở rộng theo chuỗi Còn đối với chuỗi mở rộng theo itemset

(I-Step), chỉ cần thực hiện phép AND mà không cần phải biến đổi chuỗi cần mở rộng

Và lúc này, việc đếm độ hỗ trợ trở nên đơn giản đó là xác định có bao nhiêu phần bitmap không chứa toàn bit 0 Ví dụ, mỗi item trong bảng 2.1 sẽ được biểu diễn bởi một bitmap dọc, để tìm độ hỗ trợ của chuỗi mở rộng theo chuỗi là <(ab)(ab)> trước

hết cần xác định bitmap của nó Bitmap của <(ab)> được biến đổi như mô tả trên và lấy AND với bitmap của <(ab)> ta được bitmap của <(ab)(ab)> Nếu sử dụng

minSup = 3 thì chuỗi ứng viên <(ab)(ab)> sẽ không bị loại trừ vì số lượng các phần

bitmap khác 0 của nó ≥ 3 Thuật toán SPAM tương tự như SPADE nhưng nó sử dụng phép toán trên bit tốt hơn là thao tác kết có quy tắc và theo thời gian của SPADE Nếu so sánh SPAM với SPADE thì SPAM thực hiện nhanh hơn SPADE gấp 2.5 lần, trong khi đó SPADE lại sử dụng bộ nhớ hiệu quả hơn SPAM từ 5 đến

20 lần

Trang 27

2.4.5 Thuật toán WAP-mine

Đây là thuật toán phát triển mẫu với phép chiếu cây, ra đời cùng thời điểm với FreeSpan và PrefixSpan vào năm 2000/2001 Một đóng góp khác trên kỹ thuật phát triển mẫu và cấu trúc cây là thuật toán WAP-mine [12] sử dùng cấu trúc cây WAP Ở đây, CSDL chuỗi được duyệt 2 lần để xây dựng cây WAP gồm các chuỗi phổ biến cùng với độ hỗ trợ của chúng, đồng thời duy trì một “bảng con trỏ đầu” để trỏ đến các vị trí xuất hiện đầu tiên của mỗi item nằm trong itemset phổ biến Duyệt CSDL lần đầu để tìm chuỗi phổ biến 1-sequences và lần duyệt thứ hai để xây dựng cây WAP chỉ có các chuỗi con phổ biến

2.4.6 Thuật toán FreeSpan, PrefixSpan

Thuật toán PrefixSpan [11] (Prefix-projected Sequential pattern mining) được đề xuất vào năm 2001 bởi Jian Pei và cộng sự Tiếp cận theo hướng chia nhỏ

dữ liệu, FreeSpan [7] là thuật toán đầu tiên thực hiện phép chiếu trên CSDL để giảm chi phí lưu trữ dữ liệu Sau đó, thuật toán này được phát triển thành PrefixSpan [11] Xuất phát từ tập mẫu tuần tự độ dài 1, PrefixSpan tạo ra CSDL được chiếu với mỗi mẫu đó

Trong CSDL chiếu, mỗi chuỗi dữ liệu chỉ giữ lại phần hậu tố đối với tiền tố

đã chiếu Mẫu được phát triển bằng những item phổ biến tìm được trong CSDL được chiếu Quá trình này được lặp lại cho đến khi CSDL chiếu không còn item phổ biến nào Về tốc độ thực thi, PrefixSpan thực hiện nhanh hơn SPADE và AprioriAll bởi vì PrefixSpan phát triển mẫu mà không cần phát sinh ứng viên, vận dụng nguyên lý Apriori để cắt tỉa cơ sở dữ liệu được chiếu Mặt khác thực hiện phép chiếu cơ sở dữ liệu theo tiền tố nên không gian tìm kiếm giảm đáng kể Nhờ vậy tiết kiệm bộ nhớ hơn so với SPADE, SPAM và đếm độ hỗ trợ nhanh hơn

Trang 28

3.2.1.1 Thuật toán FreeSpan

Thuật toán FreeSpan [7] bắt đầu bằng việc tạo ra một danh sách các chuỗi

1-sequences từ CSDL chuỗi gọi là danh sách item phổ biến (f-list), sau đó nó xây

dựng một ma trận các item trong danh sách này Ma trận này chứa thông tin về độ

hỗ trợ của mỗi chuỗi ứng viên độ dài 2 được phát sinh từ các item trong f-list và được gọi là S-Matrix Với một mẫu tuần tự α từ S-Matrix, CSDL chiếu theo α là tập hợp các chuỗi phổ biến có α là chuỗi con Các item không phổ biến và những item theo sau các item không phổ biến trong α bị bỏ qua Ở bước kế tiếp, xây dựng bảng gồm các chuỗi 2-sequences cùng với chú thích trên những item lặp lại và chú thích trên CSDL chiếu để giúp định vị những CSDL chiếu này trong lần duyệt thứ ba và

các lần duyệt sau đó mà không cần xét đến S-Matrix Lúc này, S-Matrix bị bỏ đi và

khai thác tiếp tục sử dụng CSDL chiếu

3.2.1.2 Thuật toán PrefixSpan

PrefixSpan [11] chỉ xét các chuỗi con tiền tố và chỉ chiếu chuỗi con hậu tố tương ứng của chúng vào các CSDL chiếu Với phương pháp này, các mẫu tuần tự được phát triển trong mỗi CSDL chiếu, nhờ chỉ duyệt các chuỗi phổ biến cục bộ

Trang 29

Bảng 2.4 CSDL Chiếu theo PrefixSpan

1 Tìm tất cả mẫu tuần tự độ dài 1

Duyệt CSDL chuỗi D, và tìm các item phổ biến, mỗi item phổ biến tạo nên một chuỗi độ dài 1 Ta được a:5, b:5, c:5, d:4, e:4, f:4

2 Chia nhỏ không gian tìm kiếm

Chia nhỏ không gian tìm kiếm để lấy CSDL

Ví dụ: CSDL này tạo ra 6 tập con rời nhau theo 6 tiền tố <a>, < b>, <c>, <d> <e>

<f>

3 Tìm mẫu phổ biến theo loại tiền tố

Ứng với mỗi tiền tố, thực hiện chiếu CSDL theo tiền tố đó và khai thác các mẫu

dữ liệu trong cơ sở dữ liệu đã được chiếu

Để tìm mẫu tuần tự có tiền tố <a>, chúng ta mở rộng nó bằng cách thêm vào một item tại một thời điểm Để thêm một item x kế tiếp, có hai khả năng xảy ra: Thứ nhất: thuật toán nối item vào itemset cuối trong tiền tố (ví dụ <(ax)>) và thứ hai : item thêm vào đóng vai trò là một itemset riêng (ví dụ <ax>) Để tạo ra CSDL chiếu theo tiền tố <a>: nếu một chuỗi chứa item <a>, thì hậu tố theo sau tiền tố

<a> được rút trích ra như là một chuỗi cho cơ sở dữ liệu chiếu

CSDL được chiếu theo <a>:

Trang 30

Bảng 2.5 Dữ liệu được chiếu theo <a>

Các items phổ biến là: a:4, b:4, c:5,d:4, e:3, f:3 và _b: 1, _d:2, _e:1

Vậy chuỗi có độ dài 2 với tiền tố và có độ minsup >=2 với <a> là: <aa>:4, <ab>:4,

<ac>:5, <ad>:4, <ae>:3, <af>3, <(ad):2 Tất cả các mẫu phổ biến trên với tiền tố

<a> ta có thể chia vào 7 tập con: <aa>, <ab>, <ac>, <ae>, <ad>, <af>, <(ad)> Thực hiện đệ quy lần lượt các mẫu phổ biến theo tiền tố có chuỗi độ dài là 2 này

Thực hiện PrefixSpan và chiếu <aa> vào CSDL và ta nhận được bảng dữ liệu như sau:

Bảng 2.6 Dữ liệu được chiếu theo <aa>

Các items phổ biến là: a:1, b:2,c:2,d,f:1 và _bc:1,_e:1,_f:1 _c: 1 Vậy chuỗi

có độ dài 3 với tiền tố là <aa> là: <aab>:2, <aac>:2 Tất cả các mẫu phổ biến trên với tiền tố <aa> ta có thể chia vào 2 tập con:

Trang 31

<aab>, <aac> Tiếp tục thực hiện đề quy lần lượt các mẫu trên theo tiền tố có chuỗi

Bảng 2.7 Dữ liệu được chiếu theo <aab>

Các items phổ biến là: c:2, _c:1 Vậy chuỗi có độ dài 4 với tiền tố là <aab> là: <aabc>:2

Tất cả các mẫu phổ biến trên với tiền tố <aab> ta có thể chia vào 1 tập con:

<aabc> Tiếp tục thực hiện đề quy lần lượt mẫu trên theo tiền tố có chuỗi độ dài là 4 này

Thực hiên PrefixSpan và chiếu theo <aabc> vào CSDL và ta nhận được bảng

dữ liệu kế tiếp:

1 <(_c)(ac)(d)(cf)>

Bảng 2.8 Dữ liệu được chiếu theo <aabc>

Trong CSDL chiếu theo <aabc> không có items nào phổ biến Dừng thuật toán với PrefixSpan

Tiếp tục thực với PrefixSpan và chiếu theo <aac> vào CSDL bảng 2.7 ta nhận được bảng dữ liệu như sau:

Trang 32

Bảng 2.9 Dữ liệu được chiếu theo <aac>

Các items phổ biến là: c:2, Vậy chuỗi có độ dài 4 với tiền tố là <aacc> là:

<aacc>:2

Tất cả các mẫu phổ biến trên với tiền tố <aacc> và ta có 1 tập con:

<aacc> Tiếp tục thực hiện đề quy lần lượt mẫu trên theo tiền tố có chuỗi độ dài là 4 này

Thực hiên PrefixSpan và chiếu theo <aacc> vào CSDL và ta nhận được bảng

dữ liệu kế tiếp:

1 <(d)(cf)>

Bảng 2.10 Dữ liệu được chiếu theo <aacc>

Trong CSDL chiếu theo <aabc> không có items nào phổ biến Dừng thuật toán với PrefixSpan

Tương tự, ta thực hiện thuật toán PrefixSpan cho <b>, <c>, <e>, <d>, <f>

Kết quả chiếu PrefixSpan và thu về các mẫu phổ biến như sau:

Tiền tố (Prefix) CSDL đã được chiếu

theo tiền tố Mẫu tuần tự

<a,b>, <a,c>, <a,d>, <a,e>

<a,f>, <a,b,a>, <a,b,c>,

Trang 33

<(_b)(ab)(ad)de(ac)> <a,b,d>, <a,b,e>, <a,b,f>

<a,c,a>, <a,c,b>,

<a,c,c>, <a,c,d> <a,c,e>,

<a,c,f>, <a,d,a>, <a,d,b>

Về tốc độ thực thi, PrefixSpan thực hiện nhanh hơn SPADE và AprioriAll bởi:

+ Thuật toán phát triển mẫu mà không cần phát sinh ứng viên

Trang 34

+ Vận dụng nguyên lý Apriori để cắt tỉa cơ sở dữ liệu được chiếu

+ Mặt khác thực hiện phép chiếu cơ sở dữ liệu theo tiền tố nên không gian tìm kiếm giảm đáng kể Nhờ vậy tiết kiệm bộ nhớ và đếm độ hỗ trợ nhanh hơn

Về sử dụng bộ nhớ, PrefixSpan thực hiện hiệu quả hơn SPADE và SPAM bởi vì: SPAM duyệt theo DFS nên việc lưu trữ không hiệu quả

2.5 Mẫu tuần tự đóng:

Mẫu tuần tự f là mẫu tuần tự đóng nếu nó không tồn tại mẫu f’ sao cho f f’

và sup(f) = sup(f’)

2.6 Thuật toán khai thác mẫu tuần tự đóng

Cho trước CSDL chuỗi và ngưỡng minsup Khai thác mẫu tuần tự đóng là đi

tìm tập đầy đủ tất cả các mẫu tuần tự có trong CSDL và có độ lớn hơn hoặc bằng ngưỡng minsup đã cho và loại bỏ những tập mẫu con có độ hỗ trợ với chúng ra

Ví dụ: cho CSDL như Bảng 2.1 Thuật toán tìm được 5 mẫu tuần tự phổ biến

<(a),(c)>, <(b),(c)>, và <(a)>,<(b)>, <(c)> với độ hỗ trợ minsup =5 Lúc này thuật toán của nhận 2 mẫu <(a),(c)> và <(b),(c)> loại bỏ <(a)>, <(b)>, <(c)> vì chúng là con của tập <(a),(c)>, <(b),(c)>

2.6.1 Thuật toán CloSpan

Thuật toán Clospan (Closed sequemtial pattern mining) [16] khai thác các mẫu tuần tự đóng, tránh được một số lượng lớn các bước gọi đệ quy Đầu tiên tạo ra tập các chuỗi ứng viên đóng được lưu trữ trong một cấu trúc cây hash-chỉ mục và

sau đó cắt tỉa nó Nó sử dụng một số phương pháp cắt tỉa như CommomPrefix và

Backward Sub-Pattern tỉa không gian tìm kiếm Bởi vì CloSpan cần phải duy trì sự

tập hợp của các chuỗi ứng viên đóng, nó sẽ tiêu tốn nhiều bộ nhớ và dẫn đến một không gian tìm kiếm lớn cho việc kiểm tra mô hình đóng khi có nhiều chuỗi phổ biến đóng Kết quả là, nó không tốt đối với số các số lượng chuỗi phổ biến đóng

Trang 35

Thuật toán CloSpan dựa trên việc phát hiện các mẫu tuần tự có độ dài 2, ví

dụ như “A luôn xảy ra trước hoặc sau B ”

Ví dụ: Xét CSDL như bảng 2.1 ta thấy mẫu dữ liệu <(a),(c)> là mẫu phổ biến Thuật toán CloSpa đề xuất các phương pháp liên quan và chứng minh rằng

<(b)> luôn xảy ra trước <(c)> Dựa vào đặc điểm này, thuật toán CloSpan chỉ ra rằng <(ab),(c)> là mẫu phổ biến mà không cần quét lại CSDL lần nữa!

2.6.2 Thuật toán BIDE

Thuật toán BIDE (BI-Directional Extension) [8] là mở rộng của thuật toán CloSpan[16] Đầu tiên, thông qua một phần mở rộng chuỗi mới, được gọi là BIDirectional Extension, thuật toán sử dụng cả hai phương pháp:

(1) Mẫu tiền tố và kiểm tra thuộc tính đóng để phát triển

(2) Để lược bớt không gian tìm kiếm sâu hơn so với phương pháp tiếp cận trước,

thuật toán đề nghị một phương pháp cắt tỉa gọi là BackScan

Ý tưởng chính của phương pháp này là để tránh mở rộng chuỗi bằng cách phát hiện trước phần mở rộng đã được chứa trong một chuỗi đã có nhằm tăng tốc độ khai thác mà vẫn giữ tính đúng đắn của việc khai thác chuỗi phổ biến đóng Liệt kê chuỗi phổ biến về mặt khái niệm, không gian tìm kiếm của khai thác chuỗi tạo

thành một cấu trúc cây và được định nghĩa đệ quy như sau: nút gốc ở mức 0 của cây chứa chuỗi rỗng được gán nhãn ∅ Các nút ở mức L của cây sẽ được gán nhãn là các chuỗi có kích thước L Nút con ở mức (L+1) được tạo bằng cách mở rộng chuỗi ở mức L để được chuỗi độ dài (L+1) Bằng cách loại bỏ các chuỗi không phổ biến,

các nút còn lại trong cây từ điển chuỗi phổ biến, tạo thành tập chuỗi phổ biến Trong hình 2.3, mỗi nút là một chuỗi phổ biến và độ hỗ trợ của nó, và nút đứt nét là chứa những chuỗi không đóng

Ví dụ: cho CSDL như bảng 2.1 với minsup>=3 BIDE duyệt cây theo chiều sâu (DFS–depth first search), trong Hình 2.1.2, chuỗi phổ biến sẽ được khai thác

Trang 36

theo một trình tự, như vậy: a:5, aa:4, ab:4 , ac:5,acc:3, b:5, ba:3, bc:5, c:5, ca:3,

cb:3, cc:4

Hình 2.2 Cây từ điển chuỗi phổ biến

2.6.3 Giới thiệu thuật toán TSP

Thuật toán TSP [15] là khai thác k mẫu tuần tự đóng với chiều dài nhỏ nhất

min_l trong đó k là số mẫu tuần tự đóng mà người dùng muốn tìm

Định nghĩa 1 : (k mẫu tuần tự đóng) Một mẫu tuần tự s được gọi là mẫu

tuần tự đóng có độ dài tối thiểu min_l trong tập top-k nếu không tồn tại nhiều hơn k-1 mẫu đóng có độ dài tối thiểu là min_l và có độ hỗ trợ cao hơn độ hỗ trợ của s

Ví dụ: Xét CSDL như bảng 2.1, với k = 4, min_l = 1 Thuật toán tìm được

2 mẫu như sau: <(b)>: 5, <(a)(c)>: 5 Mặc dù thuật toán tìm được hơn 2 mẫu với độ hỗ trợ bằng 5 đó là <(a)>: 5, <(c)>: 5, những mẫu này không nằm

trong kết quả mẫu tuần tự đóng bởi vì chúng là con của mẫu kết quả

Trang 37

Định nghĩa 2: Chuỗi s cho trước, tập chuỗi IDs của tất cả các chuỗi trong

CSDL D chứa s gọi là danh sách chuỗi ID, ký hiệu: SIDList(s) Tổng của

SIDList(s) gọi là tổng chuỗi ID, ký hiệu là SIDSum(s)

Ví dụ: Xét CSDL như bảng 2.1 thì danh sách chuỗi ID của <(a)(b)> là [1,

2, 3, 4, 5] và tổng chuỗi ID của <(a)(b)> là 14

Thuật toán TSP được xây dựng trên nền tảng cây PDB -Tree, cấu trúc PDB- Tree chi tiết được trình bày như sau:

2.6.4 Cấu trúc cây PDB

Cấu trúc cây PDB là sự miêu tả bộ nhớ của cây tìm kiếm tiền tố và lưu trữ thông tin về một phần khai thác CSDL chiếu trong suốt quá trình khai thác multi-pass Vì cây PBD bao gồm một phần CSDL chiếu được khai thác, một CSDL chiếu được khai thác hoàn toàn Nó được xóa khỏi cây PDB bởi các thuộc tính này, cây PDB có kích thước nhỏ hơn nhiều so với cây tiền tố trong suốt quá trình khai thác dữ liệu Độ sâu lớn nhất của cây PDB thì luôn luôn nhỏ

hơn min_l bởi vì TSP khai thác tất cả CSDL chiếu tại cấp min_l và nhỏ hơn

Mặc khác giảm bộ nhớ để lưu trữ cây PDB, chúng ta sử dụng CSDL chiếu giả tại tất các nút cây PDB Chúng ta chỉ lưu trữ danh sách các điểm của chuỗi hiện tại trong CSDL chuỗi ban đầu

Ví dụ : xét CSDL ở bảng 2.1

Trang 38

Hình 2.3 Cấu trúc cây PDB

2.6.5 Thuật toán TSP

Thuật toán Prefixspan[11] được trình bày ở hình 2.1 là tìm tất cả các mẫu

tuần tự bao gồm mẫu tuần tự đóng và không đóng Để tìm các mẫu tuần tự đóng

chỉ có duy nhất thuật toán CloSpan [12] giải quyết vấn đề này, đầu tiên CloSpan

lưu các mẫu tuần tự đóng và không đóng sau đó thuật toán tìm và xóa đi các

mẫu không đóng Quá trình khai thác bắt đầu với minsup bằng 1 và tăng tromg

suốt quá trình và khi đó sử dụng giá trị minsup đã được tăng lên để cắt tỉa không

gian tìm kiếm Ngay khi có ít nhất k mẫu tuần tự đóng với chiều dài không nhỏ

hơn min_l được tìm thấy, thuật toán sẽ xóa các mẫu trong k mẫu tuần tự đóng có

độ hỗ trợ bằng minsup cho đến khi bằng k mẫu tuần tự đóng Sau đó minsup

được cập nhật lại bằng độ hỗ trợ của mẫu tuần tự thấp nhất trong k mẫu tuần tự

Với minsup =1

Ngày đăng: 02/11/2018, 23:36

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1].Agrawal and R. Srikant (1995). “Mining sequential patterns,” Proc. 11th Int. Conf. Data Eng., pp. 3 – 14 Sách, tạp chí
Tiêu đề: Mining sequential patterns,” "Proc. 11th Int. Conf. Data Eng
Tác giả: Agrawal and R. Srikant
Năm: 1995
[2].Agrawal and R. Srikant (1995). “Mining sequential patterns,” Proc. 11th Int. Conf. Data Eng., pp. 3 – 14 Sách, tạp chí
Tiêu đề: Mining sequential patterns,” "Proc. 11th Int. Conf. Data Eng
Tác giả: Agrawal and R. Srikant
Năm: 1995
[3].Agrawal, T. Imieliński, and A. Swami (1993). “Mining association rules between sets of items in large databases,” ACM SIGMOD Rec., vol. 22, no. 2, pp. 207 – 216 Sách, tạp chí
Tiêu đề: Mining association rules between sets of items in large databases,” "ACM SIGMOD Rec
Tác giả: Agrawal, T. Imieliński, and A. Swami
Năm: 1993
[6].Guha, R. Rastogi, and R. K. Shim (2009). “A robust clustering algorithm for categorical attributes,” In ICDE’99, pp. 512 – 521 Sách, tạp chí
Tiêu đề: A robust clustering algorithm for categorical attributes,” "In ICDE’99
Tác giả: Guha, R. Rastogi, and R. K. Shim
Năm: 2009
[7].Han, J., Pei, J., Mortazavi-Asl, B., Chen, Q., Dayal, U., and Hsu, M.C., (2000), Freespan: Frequent pattern-projected sequential pattern mining, in Proc. 2000 Int. Conf. Knowledge Discovery and Data Mining (KDD’00), pp. 355-359 Sách, tạp chí
Tiêu đề: Freespan: Frequent pattern-projected sequential pattern mining
Tác giả: Han, J., Pei, J., Mortazavi-Asl, B., Chen, Q., Dayal, U., and Hsu, M.C
Năm: 2000
[8].Jianyong Wang, Jiawei Han, (2007) . “BIDE: efficient mining of frequent closed sequences”, Proceeding ICDE '04 Proceedings of the 20th International Conference on Data Engineering, 79–90 Sách, tạp chí
Tiêu đề: BIDE: efficient mining of frequent closed sequences
[9].Mannila, H. Toivonen, and A. Verkamo (1997). “Discovery of frequent episodes in event sequences,” Data Min. Knowl. …, vol. 289, pp. 259 –289 Sách, tạp chí
Tiêu đề: Discovery of frequent episodes in event sequences,” "Data Min. Knowl. …
Tác giả: Mannila, H. Toivonen, and A. Verkamo
Năm: 1997
[10].Myra Spiliopoulou, (1999) . “Managing Interesting Rules in Sequence Mining”, Proceedings of European Conference on Principles of Data Mining and Knowledge Discovery, 554–560 Sách, tạp chí
Tiêu đề: Managing Interesting Rules in Sequence Mining
[11].Pei, J. H. J. Han, B. Mortazavi-Asl, H. Pinto, Q. C. Q. Chen, U. Dayal, and M.- C. H. M.-C. Hsu (2001). “PrefixSpan,: mining sequential patterns efficiently by prefix-projected pattern growth,” Proc. 17th Int. Conf. Data Eng Sách, tạp chí
Tiêu đề: PrefixSpan,: mining sequential patterns efficiently by prefix-projected pattern growth,”
Tác giả: Pei, J. H. J. Han, B. Mortazavi-Asl, H. Pinto, Q. C. Q. Chen, U. Dayal, and M.- C. H. M.-C. Hsu
Năm: 2001
[12].Pei, J., Han, J., Mortazavi-Asl, B., and Zhu, H. (2000), Mining access patterns efficiently from web logs, In Knowledge Discovery and Data Mining. Current Issues and New Applications. Lecture Notes Computer Science, vol. 1805, Springer, Berlin, 396–407 Sách, tạp chí
Tiêu đề: Mining access patterns efficiently from web logs
Tác giả: Pei, J., Han, J., Mortazavi-Asl, B., and Zhu, H
Năm: 2000
[13].Srikant and R. Agrawal (1996). “Mining Sequential Patterns: Generalizations and Performance Improvements,” Proc. 5th Int. Conf. Extending Database Technol.Adv. Database Technol., pp. 3 – 17 Sách, tạp chí
Tiêu đề: Mining Sequential Patterns: Generalizations and Performance Improvements,” "Proc. 5th Int. Conf. Extending Database Technol. "Adv. Database Technol
Tác giả: Srikant and R. Agrawal
Năm: 1996
[15].Tzvetkov, X. Yan, and J. Han (2005). “TSP: Mining top-k closed sequential patterns,” Knowl. Inf. Syst., vol. 7, no. 4, pp. 438 – 457 Sách, tạp chí
Tiêu đề: TSP: Mining top-k closed sequential patterns
Tác giả: Tzvetkov, X. Yan, and J. Han
Năm: 2005
[16].Yan, J. Han, and R. Afshar, “CloSpan: Mining closed sequential patterns in large databases,” Proc. SIAM Int’l Conf. Data Mining (SDM ’03), pp. 166-177, May 2003 Sách, tạp chí
Tiêu đề: CloSpan: Mining closed sequential patterns in large databases
[17].Zaki (2001). “SPADE: An efficient algorithm for mining frequent sequences,” Mach. Learn., vol. 42, no. 1 – 2, pp. 31 – 60, 2001 Sách, tạp chí
Tiêu đề: SPADE: An efficient algorithm for mining frequent sequences,” "Mach. Learn
Tác giả: Zaki
Năm: 2001
[18] Bay Vo, Tzung-Pei Hong, Bac Le (2012) DBV-Miner: A Dynamic Bit-Vector approach for fast mining frequent closed itemsets Expert Systems with Applications, Volume 39, Issue 8, 15 June 2012, Pages 7196-7206 Khác
[19] Fournier-Viger P., Gomariz A., Campos M., Thomas R. (2014) Fast Vertical Mining of Sequential Patterns Using Co-occurrence Information. In: Tseng V.S., Ho T.B., Zhou ZH., Chen A.L.P., Kao HY. (eds) Advances in Knowledge Discovery and Data Mining. PAKDD 2014. Lecture Notes in Computer Science, vol 8443. Springer, Cham 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