Tải bản đầy đủ

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

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


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


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ĩ)

STT

Họ và tên

Chức danh Hội đồng

1

PGS.TS. Quản Thành Thơ

Chủ tịch

2

PGS. TS. Võ Đình Bảy

Phản biện 1

3



TS. Vũ Thanh Hiền

Phản biện 2

4

TS. Văn Thiên Hoàng

5

TS. Nguyễn Thị Thúy Loan

Ủy viên
Ủ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


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


i

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


ii

LỜI CÁM ƠN
Trước hết, cho tôi được gửi lời cảm ơn đến sự hướng dẫn và giúp đỡ tận tình
của TS. PHẠM THỊ THIẾT trong suốt thời gian nghiên cứu và thực hiện Luận văn.
Tôi cũng xin cảm ơn quý Thầy Cô trường Đại Học Công Nghệ Tp.HCM đã
nhiệt tình giảng dạy, truyền đạt cho chúng tôi những kiến thức bổ ích qua các môn
học trong chương trình cao học.
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


iii

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.


iv

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.


v

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


vi

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


vii

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


vii

DANH MỤC CÁC TỪ VIẾT TẮT
Ký hiệu, viết tắt
BIDE
CloSpan

Ý nghĩa
BI-Directional Extension
Closed Sequential Patterns mining

CSDL

Data Base (DB)

FP – tree

Frequent Pattern

GSP

Generalized Sequential Patterns

PDB

Prefix-projected databases

PrefixSpan
PrefixSpanWSR

Prefix – Projected Sequential PAtterN mining
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


viii

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 .....................................................................16
Bảng 2.6 Dữ liệu được chiếu theo ....................................................................16
Bảng 2.7 Dữ liệu được chiếu theo ..................................................................17
Bảng 2.8 Dữ liệu được chiếu theo ................................................................17
Bảng 2.9 Dữ liệu được chiếu theo ..................................................................18
Bảng 2.10 Dữ liệu được chiếu theo ..............................................................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


ix

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


1

CHƯƠNG 1:
1.1.

GIỚI THIỆU

Đặ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ự


2

đó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.


3

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.


4

CHƯƠNG 2:
2.1.

CƠ SỞ LÝ THUYẾT

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 = {i1, i2,…, ik} là một tập các item. Tập con của I gọi là Itemset. Chuỗi

s= (ti I) là một danh sách có thứ tự. Chúng ta giả sử rằng các item
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.


5

Chuỗi  = là một chuỗi con của chuỗi khác  = b2,…,bn> kí hiệu là    nếu và chỉ nếu ∃i1, i2,…im,sao cho 1 ≤ i1 < i2 <… < im ≤
n và a1  bi1, a2  bi2, ... am  bim. Chúng gọi  là chuỗi cha của .
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:
SID

Sequences

1

<(a)(abc)(ac)(d)(cf)>

2

<(ad)(bc)(c)(ae)>

3

<(ef)(ab)(df)(c)(b)>

4

<(ae)(af)(c)(b)(c)>

5

<(ce)(bf)(ad)(d)(e)(ac)>
Bảng 2.1 Cơ sở dữ liệu chuỗi

2.2.2. Độ hỗ trợ:
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


6

2.2.3. Mẫu
Mẫu là một chuỗi con của một chuỗi dữ liệu. Mỗi itemset trong một mẫu còn
được gọi là một thành phần (element).
Ví dụ: Mẫu  = <(ab)> là chuỗi con của chuỗi s1
2.2.4. Mẫu tuần tự
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
minsup: sup()≥ minsup, khi đó  được gọi là mẫu tuần tự.
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 s1 = <(a)(abc)(ac)(d)(cf)>
chuỗi s1 có 5 itemset là: <(a),(abc),(ac),(d),(cf)> và có 9 item. Vậy s1 có kích thước
là 5 và có độ dài là 9. Trong chuỗi s1, 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 s1 đó. 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.


7

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

SID

Sequences

1

<(a)(abc)(ac)(d)(cf)>

2

<(ad)(bc)(c)(ae)>

3

<(ef)(ab)(df)(c)(b)>

4

<(ae)(af)(c)(b)(c)>

5

<(ce)(bf)(ad)(d)(e)(ac)>

Bảng 2.2 CSDL biểu diễn theo chiều ngang
b. Biểu diễn dọc

Sequences

SID

a

1,2,3,4,5

b

1,2,3,4,5

c

1,2,3,4,5

d

1,2,3,5

e

2,3,4,5

f

1,3,4,5

Bảng 2.3 CSDL biểu diễn theo chiều dọc
Trong hai cách tổ chức dữ liệu theo chiều dọc và theo chiều ngang, thao tác
đếm độ hỗ trợ cho một sự kiện ở CSDL được tổ chức theo chiều dọc đơn giản và


8

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.


9

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


10

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 (Lk) ở 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ớ


11

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


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×