Khai thác k mẫu tuần tự tối đại sử dụng cây dữ liệu chiếu tiền tố

10 64 0
Khai thác k mẫu tuần tự tối đại sử dụng cây dữ liệu chiếu tiền tố

Đang tải... (xem toàn văn)

Thông tin tài liệu

Khai thác mẫu tuần tự là một nhiệm vụ quan trọng của khai thác dữ liệu đã và đang được nghiên cứu rộng rãi. 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 ra tất cả các mẫu phổ biến có độ hỗ trợ không thấp hơn minsup.

Các cơng trình nghiên cứu, phát triển ứng dụng CNTT-TT Tập V-1, Số 15 (35), tháng 6/2016 Khai thác k mẫu tối đại sử dụng liệu chiếu tiền tố Mining Top-k Maximal Sequential Patterns using Prefix-Projected Database Tree Lê Hoài Bắc, Nguyễn Thị Quyên Abstract: This paper propose a method called TMSP to perform squential patten mining Because maximal patterns compact representations of frequent patterns, so they are used for mining in TMSP The main idea of TMSP is mining top-k frequent maximal equential patterns of length no less than the minimum length of each pattern (min_l) and no greater than the maximum length of each pattern (max_l) with k is the desired number of maximal sequential patterns to be mined The proposed method helps user not need turning specification of a minimum support threshold to perform the mining which is a disadvantage of previous studies Experimental results on real datasets show that TMSP serves as an efficient solution for mining sequential patterns The reults also demonstrate that TMSP is better than the maximal sequential pattern mining algorithm (MAXSP) in term memory efficient and easier for users to find the number of required patterns without adjusting minsup Keywords: Sequential, Sequential pattern mining, maximal sequential patterns, Top-k maximal sequential patterns, prefix-projected databases I GIỚI THIỆU Khai thác mẫu nhiệm vụ quan trọng khai thác liệu nghiên cứu rộng rãi [1-3] Cho tập chuỗi, chuỗi bao gồm danh sách tập phổ biến ngưỡng hỗ trợ tối thiểu người dùng định (minsup), khai thác mẫu tìm tất mẫu phổ biến có độ hỗ trợ khơng thấp minsup Trong đó, thuật toán PrefixSpan [1] tổ chức liệu theo chiều ngang thực phép chiếu CSDL để giảm chi phí lưu trữ liệu, xuất phát từ tập mẫu độ dài 1, PrefixSpan tạo CSDL chiếu với mẫu Trong CSDL chiếu, chuỗi liệu giữ lại phần hậu tố tiền tố chiếu Mẫu phát triển item phổ biến tìm CSDL chiếu Quá trình lặp lại CSDL chiếu khơng item phổ biến Thuật tốn SPADE [2] tổ chức liệu theo chiều dọc, ứng với item lưu danh sách định danh chuỗi liệu định danh itemset có chứa item Độ hỗ trợ item tính trực tiếp từ danh sách định danh Mặt khác, SPADE dựa lý thuyết dàn để chia nhỏ khơng gian tìm kiếm thao tác kết đơn giản để tạo tập ứng viên Thuật toán gom nhóm mẫu dựa theo tiền tố thành lớp tương đương Thuật toán SPAM [3] tổ chức liệu theo chiều dọc thuật toán SPADE, mẫu ứng viên biểu diễn dạng bảng bit dọc, bit ứng với itemset chuỗi CSDL Nếu item có mặt itemset j bít tương ứng itemset j đánh dấu 1, ngược lại Độ hỗ trợ cũa mẫu xác định dựa bảng bit Các thuật toán tạo mẫu phổ biến mà mẫu có độ hỗ trợ mẫu mẫu phổ biến khác chọn minsup cao tạo mẫu bỏ qua thơng tin có giá trị, ngược lại q nhiều mẫu dẫn đến thuật toán thực thi chậm Để chọn giá trị minsup hợp lý đòi hỏi phải hiểu rõ liệu Để khắc phục vấn đề này, P FournierViger cộng đề xuất thuật toán khai thác k mẫu (TKS) [4], thuật toán TKS khai thác mẫu dựa vào thuật toán SPAM xuất phát từ giá trị minsup = bước tìm mẫu thỏa giá trị - 76 - Các công trình nghiên cứu, phát triển ứng dụng CNTT-TT minsup số lượng mẫu thu lớn k mẫu xóa mẫu có độ hỗ trợ minsup, xóa đến k mẫu tăng giá trị minsup độ hỗ trợ thấp tập k mẫu thu được, trình lặp lại CSDL chiếu khơng mẫu phổ biến Thuật toán TKS khắc phục vấn đề tinh chỉnh giá trị minsup số mẫu thu tồn mẫu có độ hỗ trợ Ngoài P Tzvetkov cộng đề xuất thuật toán khai thác k mẫu đóng TSP [5], sử dụng phương pháp chiếu dựa vào thuật toán PrefixSpan thực tương tự thuật toán TKS Kết thuật toán TSP thu khơng tồn mẫu có độ hỗ trợ thuật tốn TSP tồn mẫu mẫu thu Do đó, Philippe cộng đề xuất thuật toán khai thác mẫu tối đại (MaxSP) [7] khai thác mẫu dựa thuật tốn PrefixSpan, kết nhận khơng tồn mẫu khó cho người sử dụng phải điều chỉnh giá trị minsup hợp lý dung lượng nhớ sử dụng lớn Chính vậy, báo sẻ trình bày thuật toán khai thác k mẫu tối đại (TMSP) để tối ưu hóa nhớ sử dụng giúp người sử dụng dễ dàng tìm số lượng mẫu mong muốn II MỘT SỐ ĐỊNH NGHĨA CƠ BẢN Chuỗi danh sách có thứ tự [7] Cơ sở liệu chuỗi D tập chuỗi tập item xảy chuỗi Item giá trị tượng trưng Itemset tập item riêng biệt khơng có thứ tự Ví dụ 1: Xét CSDL chuỗi sau: SID Bảng Cơ sở liệu chuỗi Sequences Tập V-1, Số 15 (35), tháng 6/2016 Trong Bảng 1, Chuỗi có itemset xảy theo thứ tự (a), (abc), (ac), (d) sau (cf) Chiều dài s, l(s) tổng số item s gọi l-sequence Ví dụ 2: Chuỗi 3-sequence có kích thước Chuỗi chuỗi chuỗi khác kí hiệu , , cho Người ta gọi chuỗi cha Ví dụ 3: Chuỗi chuỗi , chuỗi chuỗi ngược lại Định nghĩa (Tiền tố - Prefix): Giả sử items itemset xếp theo thứ tự từ điển Cho hai chuỗi Chuỗi tiền tố [1]: a với b c Các item item đứng sau theo thứ tự Ví dụ 4: Xét CSDL Bảng 1, Các tiền tố chuỗi = , , , … chuỗi , tiền tố Định nghĩa (Hậu tố - Postfix): Cho chuỗi có chuỗi tiền tố Chuỗi hậu tố có dạng: Trong đó, [1] Nếu chuỗi = – = Ví dụ 5: Xét CSDL Bảng Chuỗi có tiền tố: = Hậu tố = = - 77 - = Hậu tố Hậu tố = = = Các công trình nghiên cứu, phát triển ứng dụng CNTT-TT Định nghĩa (Phép chiếu sở liệu theo tiền tố): Cho mẫu sở liệu D Cơ sở liệu chiếu theo , kí hiệu: , tập hợp hậu tố chuỗi liệu D có liên quan đến tiền tố [1] Ví dụ 6: Xét CSDL Bảng 1, tiền tố = Khi sở liệu chiếu theo = {, } Định nghĩa (Độ hỗ trợ - Support): Xét CSDL chuỗi D, chuỗi có số định danh Độ hỗ trợ tuyệt đối mẫu tổng số chuỗi D có chứa p, ký hiệu Độ hỗ trợ tương đối p tỉ lệ phần trăm chuỗi D chứa p Ở đây, mức hỗ trợ tuyệt đối tương đối sử dụng chuyển đổi qua lại, kí hiệu sup(p) Ví dụ 7: Xét CSDL Bảng 1, Mẫu p = xuất chuỗi , , , Vậy độ hỗ trợ mẫu p Tập V-1, Số 15 (35), tháng 6/2016 mẫu có sup = khơng mẫu tối đại mẫu mẫu Định nghĩa (Khai thác k mẫu tối đại): Để tìm tập F gồm có k mẫu tối đại mà mẫu tối đại không tồn mẫu tối đại Ví dụ 10: Xét CSDL bảng 1, với k = 2, min_l = 1, max_l = Thuật tốn tìm mẫu sau: : 3, : Mặc dù thuật tốn tìm mẫu với độ hỗ trợ 3: : 3, : 3, mẫu không nằm kết chúng khơng mẫu tối đại chúng mẫu kết Định nghĩa Chuỗi s cho trước, tập chuỗi IDs tất chuỗi CSDL D chứa s gọi danh sách chuỗi ID, ký hiệu: SIDList(s) Tổng SIDList(s) gọi tổng chuỗi ID, ký hiệu SIDSum(s) [5] Định nghĩa (Mẫu tuần tự): Cho trước ngưỡng hỗ trợ tối thiểu (minsup) xác định người dùng Một mẫu coi phổ biến độ hỗ trợ lớn minsup: sup( ) ≥ minsup, gọi mẫu [8] Ví dụ 11: Xét CSDL bảng danh sách chuỗi ID [1, 2, 3, 4] tổng chuỗi ID 10 Ví dụ 8: Xét CSDL Bảng 1, có tập item phân biệt {a, b, c, d, e, f, g} minsup = Xét chuỗi = chuỗi có itemset là: (a), (abc), (ac), (d), (cf) có lần xuất item III.1 Cấu trúc tiền tố Vậy có kích thước có độ dài Trong chuỗi , item a xuất ba lần tính độ hỗ trợ độ hỗ trợ item a tính chuỗi Mẫu p = xuất chuỗi , , , Vậy độ hỗ trợ mẫu p Vì sup(p) > minsup nên p mẫu Định nghĩa (Mẫu tối đại): Mẫu mẫu tối đại khơng tồn mẫu cho mẫu cha mẫu , [8,9] Ví dụ 9: Xét CSDL Bảng 1, mẫu có sup = mẫu tối đại III PHƢƠNG PHÁP PHÁT TRIỂN Cây tiền tố có thứ tự, quan hệ nút cha với nút tương ứng quan hệ chuỗi chuỗi cha Cây tiền tố xây dựng sau: Bắt đầu từ nút gốc mức 0, nút gốc gán nhãn chuỗi rỗng 〈〉 Tại mức min_l bất kỳ, nút gán nhãn mẫu độ dài min_l Các nút mức (min_l + 1) xây dựng đệ quy cách mở rộng mẫu độ dài min_l mức trước Mẫu mở rộng cách thêm vào item phổ biến mở rộng theo chuỗi mở rộng theo itemset Quá trình mở rộng theo thứ tự khơng item phổ biến Ví dụ 12: xét mẫu p = , thêm item b vào mẫu p mở rộng theo chuỗi mở rộng theo itemset (Hình 1) - 78 - Các cơng trình nghiên cứu, phát triển ứng dụng CNTT-TT Tập V-1, Số 15 (35), tháng 6/2016 as bs as bs as bi cs ds es fs cs ci ds fs Hinh Cây tiền tố III.2 Cấu trúc PDB Cấu trúc PDB nhớ mơ tả tìm kiếm tiền tố lưu trữ thông tin CSDL chiếu khai thác phần suốt trình khai thác đa duyệt Khai thác mẫu dựa PDB khai thác tìm kiếm tiền tố khai thác PDB làm giảm nhiều số lần duyệt CSDL chiếu cách thực chiếu tiền tố theo thứ tự giảm dần theo độ hỗ trợ thay thực tìm kiếm tiền tố Do đó, Cây PDB điểm tiền tố có độ dài xếp giảm dần theo độ hỗ trợ, giá trị minsup tăng tiền tố có độ hỗ trợ thấp dẫn đến khơng phổ biến nên nhớ sử dụng Cây PDB có kích thước nhỏ nhiều so với tìm kiếm tiền tố suốt trình khai thác liệu Độ sâu lớn PDB luôn nhỏ min_l Mặt khác, giảm nhớ để lưu trữ PDB, sử dụng CSDL chiếu giả tất nút PDB Chúng ta lưu trữ danh sách điểm chuỗi CSDL chuỗi ban đầu Ví dụ 13: Xét CSDL Bảng Từ hình ta thấy PDB lưu trữ danh sách điểm chuỗi, Khi chiếu theo tiền tố as có độ hỗ trợ ta tìm item as, bs, bi, cs, ci, ds, di, es, ei, fs, fi điểm sau xếp lưu trữ giảm dần theo độ hỗ trợ sau: bs: 4, cs: 4, as: 2, ds: 2, fs: 2, bi: 2, es: 1, fi: 1, di: 1, ci: 1, ei: Chính vậy, item có độ hỗ lớn thực phép chiếu trước giá trị minsup tăng nhanh dẫn đến item có độ hỗ trợ thấp khơng phổ biến Trong s mỡ rộng theo chuỗi, i mỡ rộng theo itemset Quá trình lặp lại khơng item phổ biến IV THUẬT TỐN TMSP IV.1 Thuật tốn Thuật tốn khai thác mẫu tối đại (MaxSP) sử dụng thuật toán PrefixSpan dựa tiền tố để khai thác mẫu Đối với thuật toán khai thác k mẫu tối đại (TMSP) với số mẫu k biết trước sử dụng thuật toán PrefixSpan để khai thác mẫu dựa cấu trúc PDB mô tả chi tiết Hình Mơ tả thuật tốn TMSP thực bƣớc nhƣ sau: - Bước 1: Tính số tính theo cơng thức (dòng 1) - Bước 2: Tìm tập tất item phổ biến chèn vào histogram có độ dài (dòng 2) - Bước 3: Sắp xếp giảm dần item có độ dài histogram (dòng 3) - Bước 4: Ứng với phổ biến gọi thủ tục TopSequencesTraversal (dòng 4) - 79 - Các cơng trình nghiên cứu, phát triển ứng dụng CNTT-TT Tập V-1, Số 15 (35), tháng 6/2016 as: bs: cs: ds: es: fs: gs: as: bs: cs: as: ds: fs: bi: es: fi: di: ci: ei: CSDL chiếu giả bs: CSDL D cs : cs : as: ds: fs: ci: bs: es: CSDL chiếu giả bs: cs: as: ds: es: fs: ai: bi: CSDL chiếu giả Cấp min_l Hinh Cây PDB Đầu vào: CSDL D, k, min_l, max_l; Đầu ra: Tập F gồm có k mẫu tối đại Phƣơng pháp thực hiện: Duyệt CSDL D lần, tìm item phổ biến cho: s mở rộng đến s ; Chèn vào histogram H[1]; Sắp xếp giảm dần item H[1] dựa độ hộ trợ chúng; Với , support( minsup Gọi TopsequencesTraversal(s , , min_l); TopsequencesTraversal(s , , min_l) Nếu support(s) < minsup kết thúc; Nếu Savepattern( ); Gọi PrefixSpanWSR(s, minsup, Ds, F); Kết thúc; 10 Nếu l(s) > max_l kết thúc; 11 Duyệt CSDL Ds lần, tìm item phổ biến cho: s mở rộng đến s ; Nếu l( max_l ngưng mở rộng; Chèn vào histogram H[l(s) + 1]; 12 Sắp xếp giảm dần item H[l(s) + 1] dựa độ hộ trợ chúng; 13 Next_level_top_support GetLevelTopSupportFromHistogam( H[l(s) + 1]) 14 Với , support( next_level_top_support 15 Gọi TopSequencesTraversal(s , , min_l); 16 Kết thúc; PrefixSpanWSR(s, minsup, Ds, F) 17 Nếu l(s) = max_l kết thúc; 18 Sắp xếp giảm dần item H[l(s) + 1] dựa độ hộ trợ chúng; 19 Duyệt CSDL Ds lần, tìm item phổ biến - 80 - Các cơng trình nghiên cứu, phát triển ứng dụng CNTT-TT cho: 20 s mở rộng đến s ; 21 Chèn vào histogram H[l(s) + 1]; 22 Savepattern( ); 23 Nếu l( ) < max_l 24 PrefixSpanWSR(s , minsup, Ds, F); GetLevelTopSupportFromHistogam( H[l(s) + 1]) 25 ; 26 Nếu ; 27 Kết trả độ hỗ trợ vị trí ; SavePattern(s) 28 Nếu l(s) < min_l support(s) < minsup kết thúc; 29 Nếu MaximalPatternVerification(s) = add_and_raise 30 Nếu k 31 Nếu support(s) > minsup l(s) > l_min(r) F 32 Trong k r F | l(r) < l(s) 33 Xóa mẫu có độ dài ngắn từ F; 34 Trong k r F | Xóa mẫu có độ hỗ trợ minsup từ F; 36 F:= F {s}; 37 Cập nhật lại minsup độ hỗ trợ nhỏ tập F; 38 Ngược lại F:= F {s}; 39 Ngược lại MaximalPatternVerification(s) = add_but_no_raise 40 Nếu |F| = l(s) l_min(r) 41 F:= F {s}; MaximalPatternVerification( ) 42 Nếu tồn item u, cho support(s i u) = support(s) support(s s u) = support(s) trả no_add; 43 Nếu SIDSum(s) khơng nằm SIDSum_Hash trả add_and_raise; 44 Với 45 Nếu s trả no_add; 46 Nếu s 47 Thay với s; 48 Trả no_add; 49 Trả add_and_raise; Hinh Mơ tả thuật tốn TMSP 35 Tập V-1, Số 15 (35), tháng 6/2016 Mô tả chi tiết thủ tục thực thuật toán TMSP nhƣ sau: Thủ tục TopsequencesTraversal miêu tả sau:  Nếu độ hỗ trợ s nhỏ minsup kết thúc (dòng 5)  Nếu chiều dài s min_l lưu s vào tập F gọi thủ tục PrefixSpanWSR (dòng - 9)  Nếu chiều dài s khơng min_l mà lớn max_l kết thúc ngược lại duyệt CSDL Ds tìm item phổ biến cho s mở rộng s mỡ rộng chiều dài mẫu nhỏ max_l chèn vào histogram có độ dài l+1, sau xếp item histogram giảm dần theo độ hỗ trợ để tìm support dựa vào thủ tục GetLevelTopSupportFromHistogam Cuối độ hỗ trợ lớn support gọi đệ qui TopSequencesTraversal đến min_l (dòng 10 - 16) Thủ tục SavePattern trả ba kết sau: + add_but_no_raise: Thêm vào tập F không tăng giá trị minsup + add_and_raise: Thêm vào tập F tăng giá trị minsup + no_add: Không thêm vào tập F Thủ tục SavePattern mô tả cụ thể sau: Nếu chiều dài mẫu s nhỏ min_l độ hỗ trợ mẫu s nhỏ minsup kết thúc (dòng 28) Nếu thủ tục ClosePatternVerification(s) cho kết add_and_raise kiểm tra số lượng mẫu tập F lớn k độ hỗ trợ mẫu s lớn minsup độ dài mẫu s lớn mẫu có độ dài thấp tập F xóa mẫu tập F có độ dài thấp mẫu s số lượng mẫu tập F k (dòng 29-33), trường hợp tất mẫu tập F xóa mẫu tập F có độ hỗ trợ minsup số lượng mẫu tập F k (dòng 34 - 35), sau thêm s vào cập nhật lại minsup độ hỗ trợ thấp tập F (dòng 36 - 37) Nếu số lượng tập F nhỏ - 81 - Các cơng trình nghiên cứu, phát triển ứng dụng CNTT-TT k thêm s vào (dòng 38) Trong trường hợp thủ tục ClosePatternVerification(s) cho kết add_but_no_raise kiểm tra chưa có mẫu độ dài mẫu s lớn độ dài mẫu thấp tập F thêm mẫu s vào tập F (dòng 39 - 41) Thủ tục MaximalPatternVerification mô tả bước sau:  Nếu tồn item mở rộng u có độ hỗ trợ với s khơng thêm s vào tập F (dòng 42)  Nếu SIDSum(s) (tổng chuổi ID) khơng nằm bảng Hash thêm s vào tập F tăng độ hỗ trợ (dòng 43)  Với thủ tục thực điều kiện sau (dòng 44): - Nếu s cha (dòng 45) khơng thêm vào tập F - Nếu cha s thay với s khơng thêm vào tập F (dòng 46 - 48)  Trường hợp lại thêm vào tập F tăng độ hỗ trợ (dòng 49) IV.2 Ví dụ minh họa Ví dụ 14: Cơ sở liệu Bảng 1, minh họa thuật toán TMSP với k = 2, min_l = max_l = sau: Minsup = 1; = 0.4; Duyệt CSDL D tìm item phổ biến, item phổ biến tạo nên chuỗi có độ dài Vậy có mẫu phổ biến chèn vào histogram có độ dài xếp giảm dần theo độ hỗ trợ sau: : 4, : 4, : 4, : 3, : 3, : 3, : Ứng với mẫu phổ biến thực gọi TopSequencesTraversal để tìm mẫu tối đại: Lần lượt thực TopSequencesTraversal(, D|, ), TopSequencesTraversal(, D|, ), …  TopSequencesTraversal(, D|, ) Chiều dài mẫu = min_l = nên: Tập V-1, Số 15 (35), tháng 6/2016  SavePattern() mẫu khơng lưu vào tập F mẫu tồn item b mở rộng độ hỗ trợ  Gọi PrefixSpanWSR(, 1, D|, F), tìm mẫu phổ biến có độ dài xếp giảm dần theo độ hỗ trợ sau: : 4, : 4, : 2, : 2, : 2, : 2, : 1, : 1, : 1, : 1, : Thực đệ qui : 4, ta tìm mẫu phổ biến tối đại có độ dài 2:  SavePattern() lưu vào tập F SIDSum() = 10 chưa có bảng Hash  Tập F: : 4, SIDSum = 10  Chiều dài mẫu < 3, đệ qui PrefixSpanWSR(, 1, D|, F), tìm mẫu phổ biến có độ dài xếp giảm dần theo độ hỗ trợ sau: : 2, : 2, : 2, : 1, : 1, : Thực đệ qui : 2, tìm mẫu phổ biến tối đại có độ dài 3:  SavePattern() mẫu không lưu vào tập F mẫu tồn item a mở rộng độ hỗ trợ  Chiều dài mẫu = 3, dừng đệ qui PrefixSpanWSR(, 1, D|, F) Thực đệ qui : 2, tìm mẫu phổ biến tối đại có độ dài 3:  SavePattern() lưu vào tập F SIDSum() = 10 chưa có bảng Hash  Tập F: : 4, SIDSum = 10 : 2, SIDSum =  Chiều dài mẫu = 3, dừng đệ qui PrefixSpanWSR(, 1, D|, F) Thực đệ qui mẫu : 2, tìm mẫu phổ biến tối đại có độ dài 3:  SavePattern() lưu vào tập F SIDSum() = chưa có bảng Hash - 82 - Các cơng trình nghiên cứu, phát triển ứng dụng CNTT-TT Số lượng mẫu tập F ≥ độ hỗ trợ mẫu lớn 1, xóa mẫu : có độ dài mẫu ngắn Cập nhật lại minsup =  Tập F: : 2, SIDSum =  Tập F: : 3, SIDSum = : 3, SIDSum =  Chiều dài mẫu = 3, dừng đệ qui PrefixSpanWSR(, 3, D|, F)  : 2, SIDSum =  Chiều dài mẫu = 3, dừng đệ qui PrefixSpanWSR(, 2, D|, F) Thực đệ qui : 4, tìm mẫu phổ biến tối đại có độ dài 2:  SavePattern(), khơng lưu vào tập F tồn chuỗi cha

Ngày đăng: 12/03/2020, 21:00

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan