Các kỹ thuật phát triển mẫu

Một phần của tài liệu Khai thác k mẫu tuần tự phổ biến dựa trên roaring bitmap (Trang 25 - 34)

2.3 CÁC THUẬT TOÁN KHAI THÁC MẪU TUẦN TỰ

2.3.2 Các kỹ thuật phát triển mẫu

Các phương pháp phát triển mẫu ra đời đầu những năm 2000, là giải pháp cho vấn đề phát sinh và kiểm tra mẫu. Ý tưởng chính là để tránh phát sinh các ứng viên cùng lúc và để tập trung tìm kiếm trên phần CSDL giới hạn đã được chia nhỏ từ CSDL ban đầu. Hầu hết các thuật toán phát triển mẫu đều bắt đầu bằng việc xây dựng một dạng biểu diễn của CSDL cần khai thác, sau đó đề xuất cách chia nhỏ khơng gian tìm kiếm, và tạo ra một số ít chuỗi ứng viên có thể nhờ phát triển trên các chuỗi phổ biến đã khai thácđược ở bước trước, và áp dụng tính chất Apriori khi duyệt khơng gian tìm kiếm đệ quy. Các thuật tốn đầu tiên khởi đầu bằng cácCSDL chiếu, ví dụ như FreeSpan [6], PrefixSpan [7]. Một chuỗi con α’ của α được gọi là chiếu của α theo tiền tố β nếu và chỉ nếu (1) α’ có tiền tố β, và (2) không tồn tại

chuỗi cha α” nào của α’ sao cho α” là chuỗi con của αα” có tiền tố β.

PrefixSpan dựa trên việc xây dựng mẫu đệ quy bằng cách phát triển trên tiền tố, đồng thời, giới hạn tìm kiếm đối với CSDL chiếu. Nhờ đó, khơng gian tìm kiếm giảm đi tại mỗi bước. PrefixSpan vẫn được coi là một tiêu chuẩn và là một trong những thuật toán khai thác mẫu tuần tự nhanh nhất sát cánh với SPADE. Thuật toán khác, WAP-mine [9] là thuật toán đầu tiên trong số các thuật toán phát triển mẫu sử dụng cấu trúccây vật lý để biểu diễn CSDL chuỗi cùng với độ hỗ trợ, sau đó khai thác cây này thay vì phải duyệt tồn bộCSDL chuỗi ở mỗi bước.

Thut toán FreeSpan

Thuật toán FreeSpan [6] 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.

Ví dụ minh họa FreeSpan trên CSDL chuỗi D3 ở bảng 2.3 và minSup = 25%. Lần duyệt đầu tiên, D3 tạo ra danh sách các chuỗi 1-sequences là f-list = {a:4, c:3,

e:3, b:2, d:2}. Vì vậy tập đầy đủ các mẫu tuần tự có thể chia thành 5 tập con rời nhau, mỗi tập có CSDL chiếu riêng và được khai thác theo phương pháp chia để trị. Sau đó, xây dựng S-Matrix để đếm độ hỗ trợ cho mỗi chuỗi 2-sequenes như sau.

Xét f-list {i1, i2, …, in}, F là một ma trận tam giác F[j, k], với 1≤ j ≤ m và 1≤ k ≤ j sao cho m là số item trong itemset của chuỗi đang xét. F[j, j] chỉ có một bộ đếm, đếm độ hỗ trợ cho chuỗi 2-sequences <ij ij>. Mỗi đầu vào có 3 bộ đếm (A, B, C); A là số lần xuất hiện của <ij ik>, B là số lần xuất hiện của < ikij>, và C là số lần

2-sequences ở bảng 2.3được trình bày trong bảng 2.4, được điền vào sau lần duyệt CSDL lần thứhai.

Bảng2.4 S-Matrix để xây dựngchuỗi2-sequences từ CSDL ở bảng2.3

a 1 b (2, 0, 2) 0 e (2, 0, 0) (1, 0, 0) 0 b (2, 0, 1) (0, 0, 0) (0, 1, 0) 0 d (1, 0, 2) (0, 0, 2) (0, 1, 0) (0, 0, 1) 0 a c e b d

Bảng2.5 Phát sinh mẫu từ S-Matrix

Item Chui phbiến có độ dài 2 Chú thich trên các item lp li Chú thích trên CSDL chiếu

D <(ad)>: 2, <(cd)>: 2 <(ad)>, <(cd)> <(ad)>: {c} B <ab>: 2 <ab> 

E <ae>: 2 <ae> 

C <ac>:2, <(ac)>: 2 {ac} 

A   

Ví dụ, bộ (2, 0, 2) ở dòng thứ hai, cột thứ nhất của ma trận có nghĩa là chuỗi

<ac> xuất hiện 2 lần, chuỗi <ca> không xuất hiện lần nào và chuỗi <(ac)> xuất

hiện 2 lần trong D3.Bước thứba, xây dựng chuỗi mức 2 (level-2-sequences) từcác ứng viên trong S-Matrix và tìm chú thích cho những item lặp lại và CSDL chiếu để bỏ đi ma trận và tạo ra CSDL chiếu mức 3 (xem bảng 2.5) được xây dựng từphân tích ma trận theo dòng từ dưới lên. Xét dòng tương ứng với item d, F[a, d], F[c, d]

và F[a, c] từmột mẫu tạo ra bộba và F[a, d] = (1, 0, 2) tức là chỉ <(ad)> là hợp lệ

(vì độ hỗ trợ của nó trên ngưỡng), chú thích cho CSDL chiếu sẽ là <(ad)>:{c},

nghĩa là CSDL chiếu theo <(ad)> với c là item duy nhất được thêm vào. Từcác chú thích này, duyệt CSDL đểtạo ra các mẫu có item lặp lại {(ad):2, (cd):2, ab:2, ae:2,

ac:2, (ac):2}. Chỉ có duy nhất một CSDL chiếu <(ad)>:{c} mà chú thích có chính xác 3 tiem, và mẫu tuần tựkết hợp của nó thu được bằng cách duyệt CSDL chiếu. Nếu nó chứa nhiềuhơn 3 item thì xây dựng S-Matrix cho CSDL chiếu này và khai thác đệ quy theo cách tương tự. Thực chất, FreeSpan xét ít tổhợp các chuỗi con hơn

và chạy nhanh hơn GSP, do quá trình loại trừ chuỗi ứng viên trong S-Matrix trước khi chúng được tạo ra, đặc biệt là khi bộdữliệu phát triển lớnhơn. Phần lớn chi phí của FreSpan là tính tốn và tạo ra các CSDL chiếu. Nếu một mẫu xuất hiện trong mỗi chuỗi dữliệu thì CSDL chiếu của nó khơng thu gọn. Hơn nữa, vì một chuỗi con độ dài k có thể phát triển tại vị trí bất kỳ, nên việc tìm kiếm chuỗi ứng viên độ dài

(k+1) cần phải được kiểm tra mọi tổhợp có thể, dẫn đến tốn nhiều chi phí. Thut tốn PrefixSpan

PrefixSpan [7] 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ộ.

Ví dụ minh họa ý tưởng CSDL chiếu, xét < f>,<(fg)>, <(fg)a> là tất cả các tiền tốcủa chuỗi <(fg)a(fbkc)> từ bảng 2.3, nhưng cảhai chuỗi <fa> và <ga> đều không phải là tiền tố. Mặt khác <(g)a(fbkc)> là hậu tốcủa chuỗi đã chođối với tiền tố <f> và <a(fbkc)> là hậu tố đối với tiền tố <fg>. Chạy PrefixSpan trên CSDL

chuỗi D3ởbảng 2.3 của bài toán 2, thực hiện theo 3 bước như sau:

(1) Tìm tất cả mẫu tuần tự độ dài 1 bằng cách duyệt CSDL chuỗi D3. Ta được

a:4, c:3, e:3, b:2, d:2.

(2) Chia nhỏkhơng gian tìm kiếm để lấy CSDL chiếu giống như FreeSpan. Ví dụnày tạo ra 5 tập con rời nhau theo 5 tiền tố<a>, < b>, <c>, <d>.

(3) Tìm các tập con gồm các mẫu tuần tự; những tập con này có thể khai thác được bằng cách xây dựng CSDL chiếu giống như FreeSpan, và khai thác đệ quy trên mỗi CSDL 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: (1) thuật toán nối item vào itemset cuối trong tiền tố(ví dụ<(ax)>) và (2) 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. Xét chuỗi thứ hai <(fg)a(fbkc)> trong

bảng 2.3, khi chiếu theo tiền tố <a> thì kết quả chiếu là chuỗi <(bc)> với f và k được xóa đi vì chúng khơng phổ biến. Kết quả chiếu chuỗi thứba là <(cd)>, chiếu

chuỗi thứ tư là <(abcd)e>, CSDL chiếu cuối cùng thu được cho tiền tố <a> chỉ

chứa những chuỗi sau e, (bc), (cd), (abcd)e; chiếu theo các tiền tốkhác xem kết quả ở bảng 2.6. Bây giờ, chúng ta cần tìm tất cả chuỗi phổ biến có dạng <(ax)>, hai khuôn mẫu được dùng: <(_x)> và <ax> để so khớp mỗi chuỗi chiếu để tính độ hỗ trợ. Khn mẫu thứ hai sử dụng itemset cuối cùng trong tiền tố chứ khơng phải là item cuối. Ở ví dụ này, chúng là giống nhau vì chỉ có một item trong itemset cuối của tiền tố. Do đó, chúng ta cần tìm tất cả chuỗi phổ biến có dạng <ax>; trong trường hợp này, xs là các item phổbiến trong CSDL chiếu mà không ởcùng itemset với item cuối của tiền tố. Bảng 2.5 chứa tất cả các mẫu phổ biến tạo ra cho ví dụ này sửdụng thuật tốn PrefixSpan. Nhìn vào mẫu tạo ra cho tiền tố<a>, sau khi tìm

chuỗi phổ biến 2-sequences (đó là ab, ac, (ac), (ad), ae), chúng ta đệ quy tạo ra CSDL chiếu cho chúng và bắt đầu khai thác chuỗi phổ biến 3-sequences (ví dụ, ở đây khơng tạo ra chuỗi nào). Ưu điểm chính của PrefixSpan là khơng tạo ra bất kỳ ứng viên nào. Nó chỉ đếm độ phổ biến của các item cục bộ. Nó sử dụng mơ hình chia để trị bằng cách tạo ra các tập con của các mẫu tuần tựvà có thểchia nhỏ hơn nữa nếu cần thiết.

Bảng2.6 Chạy PrefixSpan trên CSDLở bảng 2.3

Item CSDL chiếu Chui phbiến

<a> <e>, <(bc)>, <(cd)>, (abcd)e> a, ab, ac, (ac), (ad), ae <b> <( c)>, <( cd)e> b, (bc)

<c> <( d)>, <( d)e> (cd) <d> <e>

<e> 

PrefixSpan thực hiện tốt hơn nhiều so với GSP lẫn FreeSpan. Phần lớn chi phí của PrefixSpan là xây dựng CSDL chiếu. Đểcải tiến hiệu quả khai thác nhiều hơn, có thể sử dụng phép chiếu giả và phép chiếu ba mức. Phép chiếu ba mức sử dụng

S-Matrix đã được giới thiệu trong FreeSpan [6] thay cho CSDL chiếu. Phép chiếu giả được dùng khi PrefixSpan chỉ chạy trên bộ nhớ chính. Tức là, thay vì tạo ra CSDL chiếu vật lý trong bộ nhớ, các con trỏ hay các đối tượng con trỏ được dùng sao cho mỗi phép chiếu chứa hai phần thông tin: con trỏtrỏ đến chuỗi trong CSDL

và vịtrí offset của hậu tốtrong chuỗi. Kết quảthực nghiệm cho thấy rằng đối với xử lý dựa trên đĩa, sử dụng phép chiếu ba mức tốt hơn, còn đối với xử lý trên bộ nhớ chính thì dùng phép chiếu giảcho kết quảtốt hơn [7].

Thut 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 [9] 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. Ví dụ cây WAP xây dựng từ CSDL của bài toán 1 (ởbảng 2.2 và bảng 2.7) được khai thác với minSup = 3.

Bảng2.7 Các mẫu phổ biến của CSDL truy cập web từ bảng 2.2

TID Chui truy cp Chui con phbiến

t1 <bcbae> <bbae> t2 <bacbae> <babae> t3 <abe> <abe> t4 <abedd> <abeb> t5 <abad> <aba>

Các chuỗi con phổ biến (cột thứ 3 trong bảng 2.7) của mỗi chuỗi dữ liệu gốc được tạo ra bằng cách xóa đi các chuỗi 1-sequences không phổ biến. Cây bắt đầu với nút gốc là rỗng và xây dựng dần xuống dưới bằng cách chèn mỗi chuỗi con phổ biến như là một nhánhđi từ gốc đến nút lá. Suốt quá trình xây dựng cây, một bảng các con trỏ liên kết đầu cũng được tạo ra, chỉ chứa chuỗi phổ biến 1-sequences (trong ví dụ này là a, b và e), mỗi một chuỗi có một liên kết kết nối tới vị trí xuất hiện đầu tiên trong cây và xâu chuỗi các con đường của nó thông qua các nhánh của mỗi sự xuất hiện của chuỗi con như hình 2.2a. Để khai thác cây, thuật tốn bắt đầu từ item phổbiến ở bảng liên kết đầu và sửdụng nó như là một hậu tố điều kiển để xây dựng một cây WAP điều kiện trung gian và tìm các item phổ biến xây dựng

trên hậu tố đểlấy chuỗi phổbiến độdài k.

Hình2.2 Khai thác cây WAP sửdụng thuật tốn WAP-mine

Ở ví dụ này, như hình 2.2a, chúng ta bắt đầu với item e, bổ sung item này vào tập chuỗi phổ biến là fs = {e} và theo liên kết đầu đểtìm các chuỗi bba:1, baba:1,

ab:2, ta có item a và b đều có độ hỗtrợ là 4, chúng được coi là các chuỗi phổbiến 1. Bây giờ, xây dựng cây con WAP cho hậu tố |e như hình 2.2b cho các chuỗi

bba:1, baba:1, ab:2 và khai thác cây này để có hậu tố điều kiện |be như hình 2.2c theo liên kết đầu của b, dẫn đến chuỗi be được bổsung vào tập chuỗi phổbiến là fs

= {e, be}. Theo liên kết đầu của b trên cây WAP|e (tìm kiếm điều kiện theo e) cho ra b:1, ba:1, b:-1, a:2 với độ hỗ trợ của b(1) và a(3), độ hỗ trợ của b nhỏ hơn

minSup nên xóa nó, kết quảlà a:1, a:2, cho ra cây điều kiện WAP|be như hình 2.2c. Tiếp theo, bổsung các chuỗi phổ biến mới tìm được vào tập fs, fs = {e, be,abe} và theo liên kết đầu của nó trên cây WAP|be cho kết quảlà Ø (hình 2.2c). Sau đó, thuật tốn duyệt lùi đệ quy đối với cây WAP|(b) để khai thác liên kết a cho cây WAP|ae (hình 2.2d). Khai thác đầy đủ của cây WAP ví dụ được mơ tả ở hình 2.2, tập chuỗi phổ biến tìm được fs = {e, be, abe, ae, b, bb, ab, a, ba}. Thuật toán WAP-mine

được khẳng định là tốt hơn GSP. Mặc dù duyệt CSDL chỉ hai lần và tránh vấn đề phát sinh chuỗi ứng viên bùng nổ như các phương pháp phát sinh và kiểm tra ứng viên và phương pháp dựa trên Apriori, nhưng WAP-mine cũng gặp phải vấn đề về tiêu tốn bộnhớ vì nó phải xây dựng lại nhiều cây WAP trung gian một cách đệ quy suốt quá trình khai thác khi số lượng mẫu phổ biến tăng. Vấn đề này được giải quyết bởi thuật toán PLWAP [14].

Thut toán FS-Miner

FS-Miner [10] là thuật toán phát triển mẫu với phép chiếu cây tương tự như WAP-mine và hỗtrợ khai thác tương tác và gia tăng. FS-Miner quan trọng ởchỗnó bắt đầu khai thác ngay lập tức các mẫu 2-sequences từlần duyệt CSDL lần thứhai (tại k=2). Nó có thể làm như vậy nhờ biểu diễn nén trên câyFS, trong đó sử dụng một bảng liên kết đầu các cạnh chứkhông phải các nút và item đơn so với cây WAP và cây PLWAP. Xét ví dụ trên dữ liệu ở bảng 2.2, và chỉ xét trường hợp chuỗi kề nhau (ví dụ, cba là chuỗi con kềcủa bcbae,nhưngca thì khơng). Hình 2.3 biểu diễn

bảng đầu liên kết tạo ra cùng với cây FS cho các chuỗi trong bảng 2.2.

Hình2.3 Cây FS và bảng đầu liên kết cho các web log của bảng 2.2

Thuật toán FS-miner và FS-tree đều sửdụng hai loại độ hỗ trợ và độhỗtrợ tối thiểu, đó là MsuppCseq là độ hỗ trợ nhỏ nhất của chuỗi phổ biến tương tự như

minSup được sử dụng trong bài luận văn này, và MsuppClink là độ hỗ trợ nhỏ nhất của liên kết phổ biến (chuỗi phổ biến 2-sequences). Một liên kết h với độ hỗ trợ

Suplink(h) được coi là phổ biến nếu Supplink(h) MsuppCseq và được coi là liên kết phổ biến tiềm năng nếu MSuppClink Supplink(h) < MsuppCseq. Nếu Supplink(h)

khơng thỏa cả MsuppClink và MsuppCseq thì nó là một liên kết không phổbiến. Các liên kết có tiềm năng phổ biến được duy trì để hỗ trợ và kích hoạt khả năng khai thác tương tác và tăng cường của thuật toán FS-Miner. Các liên kết phổbiến và liên kết có tiềm năng phổ biến được đánh dấu ở bảng liên kết đầu như trong hình 2.3. Chỉ sử dụng những liên kết phổ biến để khai thác. Giả sử xét ví dụ với

MsuppClink=2 và MsuppCseq=3. Trước hết, duyệt CSDLở bảng 2.2 một lần để đếm cho các liên kết và chèn chúng vào bảng liên kết đầu. Ở lần duyệt CSDL lần thứ hai, xây dựng câyFS theo cách tương tự như cây WAP và PLWAP, ngoại trừchuỗi

Một phần của tài liệu Khai thác k mẫu tuần tự phổ biến dựa trên roaring bitmap (Trang 25 - 34)

Tải bản đầy đủ (PDF)

(76 trang)