MẪU 14KHCN 13 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ự đ.
Trang 1CHƯƠ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 toá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à (i 1 , i 2 , …, i k ) với mỗi i j 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à s 1 s 2 … s n hoặc s 1→ s 2→…→ s n với mỗi s i 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 = b 1 b 2 … b m có m itemset được gọi là chuỗi con của chuỗi
= a 1 a 2 … a n 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 j 1 <j 2 <…< j m n sao cho b 1 a j1 , b 2 a j2 , …, b m a jm
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ự
Trang 2Mẫ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 toán tối ưu Như vậy, các đặc tính ảnh hưởng đến tốc
độ thực thi thuật toá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 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 thực thi nhanh hơn, các mẫu tuần tự tìm được sẽ có giá trị hơn
Bài toá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 toán AprioriAll
Bài toá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 toá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
Trang 3tậ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 toá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 toán dựa trên nguyên 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 toá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 toàn
bộ CSDL để tính độ hỗ trợ
• Thuật toán GSP
GSP (Generalized Sequential Patterns) là thuật toá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 toá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 toá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
Trang 4phá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 toá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 toá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 toá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 toà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 toá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 toá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 toá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 nguyên 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 toá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 nguyên tố Thuật toá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
Trang 5vớ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 toán giảm thiểu được chi phí tính toá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 toá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 toán CloSpan
Thuật toá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
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 các số lượng chuỗi phổ biến đóng
• Thuật toán BIDE
Thuật toán BIDE (BI-Directional Extension) [36] là mở rộng của thuật toá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