Cách ướng tiếp cận 18

Một phần của tài liệu Khai thác luật tuần tự trên cơ sở dữ liệu chuỗi (Trang 25 - 29)

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 [3] 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 [1], là thuật toán nền tảng làm cơ sở cho các thuật toán về sau.

AprioriAll

Để tìm mẫu tuần tự, giải thuật AprioriAll [3] 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 itemset 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.

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à , do đó không

đủ bộ nhớ để xử lý. Mặt khác, để tìm tất cả mẫu 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. ∑ = − = n i n i n C 1 1 2

Đố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ự.

Thuật toán GSP

GSP [20] là thuật toán mở rộng từ mô hình Apriori. 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 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.

Thuật toán PSP

Một thuật toán khác cũng dựa trên mô hình Apriori là PSP [12]. Điểm khác biệt của PSP so với GSP là PSP quản lý và lưu trữ các mẫu ứng viên bằng một cấu trúc dữ liệu hiệu quả hơn. Tuy nhiên, khi thực hiện cả ba phương pháp AprioriAll, GSP, PSP đều phải duyệt CSDL nhiều lần và phải tải toàn bộ CSDL vào bộ nhớ

chính, do đó những phương pháp này chỉ thật sự hiệu quả khi bộ nhớ chính có thể

chứa hết toàn bộ CSDL.

Thuật toán FreeSpan, PrefixSpan

Tiếp cận theo hướng chia nhỏ dữ liệu, FreeSpan [12] 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 [18]. 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. Tuy nhiên, khi phát triển mẫu, thuật toán FreeSpan và PrefixSpan đều phải thực hiện chiếu CSDL và duyệt CSDL chiếu để tìm item phổ biến.

Tất cả các phương pháp trên đều tiếp cận theo hướng biểu diễn thông tin dữ liệu theo chiều ngang. Để xác định độ hỗ trợ của một mẫu cần phải duyệt lại toàn bộ

CSDL. Để khắc phục điều này, một số hướng nghiên cứu mới tiến hành tổ chức dữ

liệu theo chiều dọc, đi đầu là SPADE [23], sau đó có SPAM [4], và PRISM [9] là những thuật toán khá hiệu quả. Thay vì phải duyệt toàn bộ CSDL chuỗi, với mỗi mẫu ứng viên, chúng thực hiện lưu trữ thông tin cho biết mẫu đó có mặt trong những chuỗi dữ liệu nào, từđó tính nhanh độ hỗ trợ. Mặt khá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 CSDL.

Thuật toán SPADE

Thuật toán SPADE [23] 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 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)

(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, thuật toán SPADE thực hiện nhanh gấp đôi [23].

Thuật toán SPAM

Thuật toán SPAM [4] cũng tổ chức dữ liệu theo chiều dọc như thuật toán SPADE. Thông tin của các mẫu ứng viên được biểu diễn dưới dạng bảng bit dọc, mỗi bit ứng với một itemset của một chuỗi trong CSDL. Nếu item có mặt trong itemset j thì bit tương ứng itemset j được đánh dấu là 1, ngược lại là 0. Độ hỗ trợ

của mẫu được xác định dựa trên bảng bit. Về tốc độ thực thi, trên các CSDL nhỏ, SPAM thực hiện nhanh hơn 2.5 lần so với SPADE, nhưng chưa thực hiện tốt bằng PrefixSpan [18]. Với CSDL lớn, SPAM thực hiện tốt hơn nhiều so với SPADE và PrefixSpan vì tổ chức biểu diễn và lưu trữ dữ liệu dưới dạng bit nên thao tác phát sinh ứng viên và đếm độ hỗ trợ rất hiệu quả [18].

Thuật toán PRISM

Thuật toán PRISM [9] là thuật toán mới nhất hiện nay, tiếp cận theo hướng hoàn toàn khác biệt đó là sử dụng phương pháp mã hóa nguyên tố để biểu diễn thông tin của mẫu ứng viên. Thuật toán sử dụng cấu trúc dữ liệu cây từ điển để lưu trữ các mẫu tuần tự tìm được. Thuật toán chỉ duyệt CSDL đúng một lần để tìm tập mẫu tuần tựđộ dài 1 cùng với khối mã hóa thông tin tương ứng cho các mẫu đó. Sau đó, 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

được xác đinh dựa trên khối mã hóa của mẫu cũ và của item thêm vào. Như vậy, thuật toán PRISM không phải duyệt CSDL nhiều lần. Đồng thời, thuật toán giảm chi phí tính toán bằng cách sử dụng bảng tra cho khối mã hóa thông tin dựa trên lý thuyết mã hóa nguyên tố.

Trong đề tài này, luận văn sử dụng thuật toán PRISM để khai thác tập mẫu tuần tự vì PRISM là thuật toán hiệu quả nhất trong số các thuật toán đã có. Mặt khác, sử

dụng thuật toán này, tập mẫu tuần tự tìm thấy sẽđược tổ chức và lưu trữ dưới dạng

cấu trúc cây từđiển, là tiền đề cho phương pháp khai thác luật tuần tự dựa trên cây tiền tố mà luận văn đề xuất.

Một phần của tài liệu Khai thác luật tuần tự trên cơ sở dữ liệu chuỗi (Trang 25 - 29)