Tải bản đầy đủ (.pdf) (5 trang)

Cải tiến hiệu suất của thuật toán khai thác mẫu tuần tự với ràng buộc trọng số khai thác top k mẫu tuần tự p2

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (314.35 KB, 5 trang )

CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
Lĩnh vực khai thác dữ liệu trên CSDL chuỗi là một trong những lĩnh vực đã và
đang được nhiều nhà khoa học tập trung nghiên cứu. Khai thác dữ liệu chuỗi tuần tự
được đề xuất từ năm 1995 [1], cho đến nay nhiều kết quả nghiên cứu trong lĩnh vực này
đã được công bố và ứng dụng thực tiễn [3, 6, 16, 23, 25, 31, 41]. Khai thác mẫu tuần tự
trong CSDL chuỗi là xác định những mẫu mà sự xuất hiện của chúng trong CSDL thỏa
ngưỡng hỗ trợ tối thiểu. Khai thác mẫu tuần tự được ứng dụng trong nhiều lĩnh vực
thực tế 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…Từ tập dữ liệu mẫu tuần tự có thể dùng nhiều thuật tốn khai thác
khác nhau để tìm ra được tập luật tuần tự. Luật tuần tự được xem như việc biểu diễn
mối quan hệ giữa hai loạt sự kiện, loạt sự kiện này sẽ xảy ra sau loạt sự kiện kia.

1.1.

Khái niệm
Itemset: Tập các phần tử là một tập hợp khác rỗng gồm nhiều item. Itemset i ký

hiệu là (i1, i2, …, ik) với mỗi ij là một item. Itemset có k item được ký hiệu là k-itemset.
Các item trong itemset được sắp xếp theo thứ tự tăng dần.
Chuỗi: là một danh sách các itemset được sắp xếp theo thứ tự. Chuỗi s được ký
hiệu là s1 s2… sn hoặc s1→ s2→…→ sn với mỗi si là một itemset, n là số lượng
itemset. Kích thước của chuỗi chính là số lượng itemset có trong chuỗi. Chiều dài của
chuỗi là tổng số item có trong chuỗi, ký hiệu là

. Chuỗi có chiều dài k còn

được gọi là k-sequence.
Chuỗi con: Chuỗi  = b1 b2 … bm có m itemset được gọi là chuỗi con của chuỗi

 = a1 a2 … an có n itemset (hay  là chuỗi cha của , ký hiệu   ) nếu tồn tại
những số nguyên 1 j1


CSDL chuỗi: là một tập hợp các bộ dữ liệu có dạng (sid, s), trong đó sid là định
danh của chuỗi và s là chuỗi các itemset.
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).
Độ hỗ trợ (sup): Cho 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ự f là tổng số chuỗi trong D có
Độ hỗ trợ tương đối của f là tỉ lệ phần trăm chuỗi trong D chứa f. Ở đâ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(f).
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 f được coi là phổ biến nếu độ hỗ trợ của nó lớn hơn
hoặc bằng minsup: sup(f)  minsup, khi đó f được gọi là mẫu tuần tự.
13


Mẫu tuần tự đóng (Closed sequential pattern): Cho  là một mẫu tuần tự, 
được gọi là mẫu tuần tự đóng nếu và chỉ nếu  sao cho    ( chứa ) và Sup()
= Sup().
Bài toán khai thác mẫu tuần tự/mẫu tuần tự đóng: Cho trước CSDL chuỗi và
ngưỡng minsup. Khai thác mẫu tuần tự/mẫu tuần tự đóng là đi tìm tập đầy đủ tất cả các
mẫu tuần tự/mẫu tuần tự đóng có trong CSDL chuỗi.
1.2.

Một số thuật toán khai thác mẫu tuần tự
Khai thác mẫu tuần tự là khai thác sự xuất hiện phổ biến của các sự kiện có thứ tự
hoặc các chuỗi con như các mẫu. Một ví dụ về mẫu tuần tự là “Các khách hàng mua
một máy ảnh kỹ thuật số Canon thì cũng có khả năng mua một máy in màu HP trong
vòng một tháng”. Với dữ liệu bán lẻ, các mẫu tuần tự rất có ích cho việc sắp xếp các kệ
hàng trưng bày và các chương trình khuyến mãi. Ngành công nghiệp này cũng như
thông tin truyền thông và các ngành kinh doanh khác, cũng có thể sử dụng các mẫu
tuần tự cho mục tiêu tiếp thị, duy trì khách hàng và nhiều mục đích khác. Ở những lĩnh

vực khác trong đó các mẫu tuần tự có thể được sử dụng bao gồm phân tích mẫu truy
cập web, dự báo thời thiết, quy trình sản xuất, phát hiện xâm nhập mạng [6].
Với bài toán khai thác mẫu tuần tự, các yếu tố ảnh hưởng đến hiệu quả của thuật
toán bao gồm cách thức tổ chức dữ liệu và thuật toán giải quyết. Do đó phải lựa chọn
cấu trúc dữ liệu thích hợp và thuật tốn tối ưu. Như vậy, các đặc tính ảnh hưởng đến tốc
độ thực thi thuật tốn là cách thức tổ chức dữ liệu để lưu trong bộ nhớ, cách duyệt dữ
liệu để xử lý và các chiến lược để tìm kiếm. Ngồ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 thực thi
nhanh hơn, các mẫu tuần tự tìm được sẽ có giá trị hơn.
Bài tốn khai thác mẫu tuần tự được thực hiện đầu tiên bởi Agrawal và Srikant [1]
vào năm 1995 dựa trên nghiên cứu của họ về các chuỗi mua sắm hàng hóa của khách
hàng, có nội dung như sau: “Cho một tập các chuỗi, với mỗi chuỗi bao gồm một danh
sách các sự kiện (hoặc các thành phần) và mỗi sự kiện gồm một tập các items, và cho
trước một ngưỡng hỗ trợ tối thiểu minsup do người dùng định nghĩa, khai thác mẫu tuần
tự tìm ra tất cả các chuỗi con phổ biến, tức là, các chuỗi con có sự xuất hiện thường
xuyên trong tập các chuỗi khơng nhỏ hơn minsup” [6].
• Thuật tốn AprioriAll
Bài tốn khai thác mẫu tuần tự được đề xuất bởi Agrawal và Srikant [1] vào năm
1995. AprioriAll [1] dựa trên thuật toán khai thác mẫu phổ biến Apriori, là thuật toán
đầu tiên được xây dựng để giải quyết bài toán khai thác mẫu tuần tự trên CSDL chuỗi
giao dịch khách hàng.
Trước tiên, thuật tốn AprioriAll tìm các itemset phổ biến bằng cách tiến hành
duyệt toàn bộ CSDL gốc ban đầu. Sau đó, ánh xạ tập itemset phổ biến tìm được sang
14


tập số nguyên. Việc ánh xạ nhằm mục đích xem một itemset phổ biến như một thực thể
riêng biệt và thời gian để so sánh hai itemset phổ biến bất kỳ là như nhau. Thêm vào
đó, việc làm này giúp làm 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 hay không.

Giai đoạn 2 là giai đoạn chuyển đổi CSDL. Trong CSDL chuỗi ban đầu, mỗi
chuỗi được thay thế bằng tập 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ì itemset đó sẽ bị loại bỏ khỏi tập chuỗi trong
CSDL. Nếu chuỗi trong CSDL khơng chứa itemset phổ biến nào thì loại bỏ chuỗi đó ra
khỏi CSDL. Sau khi chuyển đổi CSDL, mỗi chuỗi trong CSDL chuỗi đã biến đổi sẽ bao
gồm chỉ những itemset phổ biến.
Cuối cùng, thuật tốn tìm các mẫu tuần tự từ kết quả của giai đoạn 2. Với các kết
quả chuyển đổi CSDL chỉ gồm các itemset phổ biến này ta thu được tập các mẫu tuần
tự có kích thước là 1. Thuật tốn dựa trên ngun tắc loại bỏ của Apriori. Tập các ứng
viên gồm các mẫu có chiều dài là k được phát sinh bằng cách kết các mẫu có chiều dài
k-1, sau đó dựa trên nguyên lý Apriori và ngưỡng minsup để loại bỏ các mẫu khơng phổ
biến.
Như vậy, để tìm được tập các mẫu tuần tự, thuật toán AprioriAll phải phát sinh tập
các ứng viên với số lượng ứng viên được tạo ra rất lớn, dễ dẫn đến tình trạng “nghẽn cổ
chai”, do đó có thể khơng đủ bộ nhớ để xử lý. Mặt khác, để tìm tất cả các mẫu tuần tự,
thuật tốn phải duyệt CSDL nhiều lần vì ứng với mỗi tập ứng viên, phải duyệt lại tồn
bộ CSDL để tính độ hỗ trợ.


Thuật tốn GSP

GSP (Generalized Sequential Patterns) là thuật tốn khai thác tập mẫu tuần tự dựa
vào tính chất của thuộc tính Apriori, được xây dựng bởi Agrawal và Srikant vào năm
1996 [31]. GSP thực hiện duyệt CSDL nhiều lần, lần duyệt đầu tiên xác định độ hỗ trợ
của từng item. Kết thúc lần duyệt này, thuật toán đưa ra tập các chuỗi phổ biến có chiều
dài là 1 (tập các 1 – sequence), tập này gọi là tập khởi tạo. Tập khởi tạo được sử dụng
để phát sinh các dãy ứng viên mới, mỗi dãy ứng viên có ít nhất một item thuộc tập khởi
tạo. Vì thế, tất cả các dãy ứng viên trong một lần duyệt sẽ có cùng số item. Độ hỗ trợ
của các dãy được xác định trong quá trình duyệt CSDL. Kết thúc lần duyệt, thuật toán
xác định các dãy ứng viên phổ biến và các dãy này trở thành tập khởi tạo cho lần duyệt

tiếp theo. Thuật tốn kết thúc khi khơng có dãy ứng viên nào được tạo ra, hoặc khơng
tìm được dãy ứng viên nào cuối lần duyệt.
• Thuật tốn PrefixSpan

PrefixSpan (Prefix-Projected Sequential Pattern Growth) là thuật toán tiếp cận
theo hướng chia nhỏ dữ liệu, được phát triển từ thuật toán FreeSpan [16]. Thuật toán
PrefixSpan [25] thực hiện phép chiếu trên CSDL để giảm chi phí lưu trữ dữ liệu. Xuất
15


phát từ tập mẫu tuần tự có chiều dài là 1, thuật toán tạo ra các CSDL chiếu tương ứng
với từng mẫu đó. Trong CSDL chiếu, mỗi chuỗi dữ liệu chỉ giữ lại phần hậu tố tương
ứng với tiền tố đã chiếu. Mẫu được phát triển từ các item phổ biến tìm được trong
CSDL được chiếu. Quá trình này được thực hiện một cách đệ quy cho đến khi CSDL
chiếu khơng cịn item phổ biến nào. Khi phát triển mẫu, thuật toán PrefixSpan phải thực
hiện việc chiếu CSDL và duyệt CSDL chiếu để tìm các item phổ biến.
• Thuật tốn SPADE

Tất cả các thuật toán khai thác mẫu tuần tự giới thiệu ở trên đều tiếp cận theo
hướng biểu diễn dữ liệu theo chiều ngang. Để tính độ hỗ trợ của một mẫu thì các thuật
tốn đều phải duyệt lại toàn bộ CSDL. Để khắc phục vấn đề này, một số nghiên cứu
khác đã được đề xuất dựa trên tiếp cận biểu diễn dữ liệu theo chiều dọc, đầu tiên có thể
kể đến là thuật tốn SPADE (Sequential PAttern Discovery using Equivalent classes)
[41] do M. J. Zaki đề xuất vào năm 2001. Thay vì phải duyệt lại tồn bộ CSDL chuỗi,
với từng mẫu ứng viên, thuật toán thực hiện việc lưu trữ thơng tin cho biết mẫu đó có
mặt trong các chuỗi dữ liệu nào, từ đó có thể tính ngay ra được độ hỗ trợ của mẫu đó.
Hơn nữa, các mẫu mới được tạo ra lấy thông tin dựa trên những mẫu đã có và khơng
cần phải duyệt lại trên CSDL ban đầu. Thuật toán SPADE thực thi qua ba giai đoạn
chính:
Giai đoạn thứ nhất, thuật tốn sử dụng CSDL biểu diễn theo chiều dọc các id-list,

các chuỗi được liên kết cùng với một danh sách các đối tượng mà nó xuất hiện, cùng
với các dãy thời gian. Thuật tốn chỉ ra rằng các mẫu phổ biến có thể được tìm thấy qua
các phép kết (hoặc phép giao) theo thời gian trên các id-list.
Giai đoạn tiếp theo, SPADE sử dụng lý thuyết dàn để chia nhỏ khơng gian tìm
kiếm. Tiếp cận của thuật toán thường yêu cầu ba lần duyệt CSDL hoặc chỉ một lần
duyệt duy nhất với một số thơng tin đã được tiền xử lý, do đó giảm thiểu được chi phí
nhập/ xuất.
Bước cuối cùng, tìm kiếm tập mẫu phổ biến bằng cách duyệt các dàn theo chiều
rộng hoặc chiều sâu.
• Thuật tốn PRISM

Đây là một thuật toán khai thác mẫu tuần tự gần đây, dựa trên tiếp cận biểu diễn
dữ liệu theo chiều dọc cùng với mã hóa ngun tố để biểu diễn thơng tin của tập mẫu
ứng viên. Thuật toán PRISM ( PRIme Encoding Based Sequence Mining) [13] sử dụng
cấu trúc cây từ điển để lưu trữ các mẫu tuần tự tìm được. Mẫu mới được xác định bằng
việc tính tốn trên các khối mã hóa nguyên tố của các mẫu được mở rộng, độ hỗ trợ của
mẫu được xác định trực tiếp dựa trên các khối mã hóa ngun tố. Thuật tốn PRISM
chỉ duyệt CSDL một lần duy nhất để tìm ra tập các mẫu tuần tự có chiều dài là 1 cùng
16


với các khối mã hóa nguyên tố tương ứng với thơng tin của các mẫu đó. Tiếp theo đó,
PRISM phát triển mẫu bằng cách thêm vào mẫu một item phổ biến. Thông tin của mẫu
mới này được xác định dựa vào khối mã hóa của mẫu cũ và của item thêm vào. Do đó,
thuật tốn giảm thiểu được chi phí tính tốn bằng việc sử dụng một bảng tra ước chung
lớn nhất cho khối mã hóa thơng tin dựa vào lý thuyết về mã hóa số nguyên tố.
1.3.

Một số thuật tốn Khai thác mẫu tuần tự đóng
Cho trước CSDL chuỗi và ngưỡng minsup. Bài toán 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ó độ hỗ trợ lớn hơn hoặc
bằng ngưỡng minsup đã cho và loại bỏ những tập mẫu con có cùng độ hỗ trợ với chúng
ra.
• Thuật tốn CloSpan
Thuật tốn Clospan (Closed sequemtial pattern mining) [37] 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-index 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 SubPattern 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 các số lượng chuỗi phổ biến đóng.
• Thuật tốn BIDE
Thuật toán BIDE (BI-Directional Extension) [36] là mở rộng của thuật tốn
CloSpan[37]. Đầ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.
17




×