Khai phá tập phổ biến sử dụng thuật toán song song qfp growth (tt)

12 11 0
Khai phá tập phổ biến sử dụng thuật toán song song qfp growth (tt)

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

24 Về mặt thực nghiệm demo xây dựng Fp-tree từ liệu cho trước khai phá tập phổ biến theo hai cách HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THƠNG khai phá (QFP-growth) khai phá song song (cải tiến QFP-Growth) Qua việc thực nghiệm cho thấy QFP-Growth cải tiến QFP-growth thuật toán mang lại hiệu tốt so với thuật tốn trước Huớng nghiên cứu Trên sở nghiên cứu trình bày luận văn, tiếp tục nghiên cứu sâu thuật toán khai phá NGUYỄN THỊ LIÊN luật kết hợp song song , tìm cách cải tiến nhằm khắc phục nhược điểm thuật toán song song có thuật tốn khai phá liệu song song khác để áp dụng vào số toán khai phá liệu phù hợp cho giai đoạn như: quy luật thị truờng, chứng khoán bất động sản, dự đốn rủi ro tín KHAI PHÁ TẬP PHỔ BIẾN SỬ DỤNG THUẬT TOÁN SONG SONG QFP-GROWTH Chuyên ngành: Truyền liệu Mạng máy tính Mã số: 60.48.15 dụng, định huớng kinh doanh, y tế… Người hướng dẫn khoa hoc: PGS.TS Lê Hữu Lập TÓM TẮT LUẬN VĂN THẠC SỸ HÀ NỘI – 2011 23 MỞ ĐẦU Trong nhiều năm qua, với phát triển công KẾT LUẬN VÀ KIẾN NGHỊ nghệ thông tin ứng dụng công nghệ thông tin Luận văn đề cập đến nội dung phát tri thức, nhiều lĩnh vực đời sống xã hội, lượng liệu khai phá liệu Ứng dụng khai phá liệu rộng quan thu thập lưu trữ ngày nhiều lên Người ta lưu có ích hoạt động sản xuất, kinh doanh trợ giúp cho trữ liệu cho ẩn chứa giá trị việc hoạch định chiến lược nhà quản lý hỗ trợ định Tuy nhiên theo thống kê có lượng nhỏ định Tuy cịn nhiều khó khăn, liệu (khoảng từ 5% đến 10%) thách thức việc ứng dụng nghiên cứu kỹ thuật khai phân tích, số cịn lại họ khơng biết phải làm làm phá liệu với liệu này, họ tiếp tục thu thập lưu Về mặt lý thuyết, khai phá liệu cơng đoạn trữ hy vọng liệu cung cấp cho họ tiến trình lớn, tiến trình khám phá tri thức từ CSDL thông tin quý giá cách nhanh chóng để đưa Phương pháp khai phá liệu là: phương pháp sử dụng định kịp thời vào lúc Chính vậy, phương định luật, phương pháp phát luật kết hợp, pháp quản trị khai thác sở liệu truyền thống ngày phương pháp dựa mẫu, phương pháp phân lớp hồi không đáp ứng thực tế làm phát triển khuynh quy phi tuyến tính…, Các phương pháp áp dụng hướng kỹ thuật Kỹ thuật phát tri thức khai liệu thông thuờng tập mờ khai phá liệu (KDP) Trong luận văn trình bày chi tiết vấn đề khai Kỹ thuật phát tri thức khai phá liệu phá luật kết hợp: từ khái niệm sở, toán xuất phát đến nghiên cứu, ứng dụng nhiều lĩnh vực khác mơ hình hình thức, thuật toán khai phá luật kết hợp sở giới thiên văn học, phân lớp văn bản, tóm tắt luật kết hợp văn tin sinh học, thương mại điện tử, quản lý quan hệ Về thuật toán khai phá luật kết hợp, luận văn trình bày khách hàng, viễn thơng, thể thao, giải trí, đầu tư Tại Việt số thuật toán tiêu biểu khai phá luật kết hợp như: Nam kỹ thuật tương đối mẻ nhiên Apriori, Fp-tree, Fp-growth, qfp- growth 22 nghiên cứu bắt đầu đưa vào số ứng dụng thực tế Vì vậy, nước ta vấn đề phát tri thức khai phá liệu thu hút quan tâm nhiều người nhiều công ty phát triển ứng dụng cơng nghệ thơng tin Trong luận văn này, tơi trình bày thuật toán FP-growth số thuật toán cải tiến (của tác giả Yong-Jie LAN, Yong Qiu Trường Thông tin & Kỹ thuật điện tử, Sơn Đông Viện Kinh doanh Công nghệ, YanTai264005, Trung Quốc) nhằm nâng cao hiệu FP-Growth sau: - Thuật toán song song PFPTC (Parallel FP-tree Khai phá song song Constructing) để tạo đồng thời FP-tree - Thuật toán FP-merge dùng để trộn FP-tree thành FP-tree - Thuật toán QFP-growth, dùng để khai phá liệu không sinh nhiều kết trung gian tránh việc tắc nghẽn tốn nhớ, thời gian thực Với thời gian kiến thức hạn chế, luận văn khơng tránh khỏi thiếu sót, mong quan tâm định hướng thày cô giáo, góp ý của bạn đồng nghiệp để báo cáo hoàn thiện Đọc file sở liệu tạo FP-tree CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU Chương trình bày khái niệm khai phá liệu, trình khai phá liệu tóm tắt phuong pháp khai phá 21 4.2 Chương trình minh hoạ 4.2.1 Dữ liệu thử nghiệm liệu phổ biến Trong phương pháp khai phá liệu, khai f, a, c, d, g, i, m, p phá luật kết hợp lĩnh vực đuợc a, b, c, f, l, m, o quan tâm nghiên cứu mạnh mẽ b, f, h, j, o, p 1.1.Khái niệm trình khai phá liệu b, c, k, s, p 1.1.1.Khái niệm Khai phá liệu tập hợp kỹ thuật đuợc sử dụng a, f, c, e, l, m, n p, b, c 4.2.2 Chương trình minh hoạ để tự động khai thác tìm mối quan hệ lẫn liệu tập hợp liệu khổng lồ phức tạp, đồng thời cung tìm mẫu tiềm ẩn tập liệu Về chất giai đoạn rút trích tìm đuợc mẫu, mơ hình hay thơng tin mới, tri thức tiềm ẩn có CSDL chủ yếu phục vụ cho mô tả dự đốn 1.1.2 Q trình khai phá liệu Khai phá liệu bước trình phát tri thức (KDP) Quá trình phát tri thức trải qua giai đoạn khác mà khai thác liệu giai đoạn phát tri thức Sau giai đoạn phát tri thức Giao diện 20 CHƯƠNG 4: ỨNG DỤNG VÀ THỬ NGHIỆM THUẬT TOÁN QFP-GROWTH 4.1.Giới thiệu chung lập trình song song Các tốn tính tốn thường có đặc tính chung sau: Cho phép chia nhỏ công việc lớn thành nhiều phần việc nhỏ giải đồng thời ; thời điểm, thực thi nhiều thị chương trình; thời gian xử lý tốn giảm xuống, nhiều tài ngun tính tốn sử dụng      Thu thập tiền xử lý liệu Xác định vấn đề: Khai thác liệu Minh hoạ đánh giá Đưa kết vào thực tế 1.2.Một số phương pháp khai phá liệu       Luật kết hợp Khai phá chuỗi theo thời gian Phân lớp dự đoán Phân cụm / phân đoạn Hồi quy Mơ tả khái niệm tổng hợp hóa Vậy tính toán song song áp dụng lý sau đây: tiết kiệm thời gian, giải tốn lớn Ngồi CHƯƠNG 2: LUẬT KẾT HỢP Trong chương trình bày tổng quan luật kết hợp, ra, cịn có số lí khác như: tận dụng tài nguyên phi-cục (non-local); máy tính nối mạng, sử dụng tài ngun tính tốn mạng diện rộng Internet; tiết kiệm chi phí cách sử dụng nhiều tài ngun tính tốn giá rẻ thay cho việc sử dụng siêu máy tính có giá thành cao; vượt qua giới hạn lượng nhớ mà máy tính sử dụng, sử dụng nhiều máy tính khác nhau, có lượng nhớ khơng giới hạn định nghĩa, tính chất liên quan đến luật kết hợp: độ hỗ trợ, độ tin cậy, tập mục phổ biến, phát biểu toán khai phá luật kết hợp Khai phá luật kết hợp CSDL chia thành hai tốn con: (1) Tìm tất tập mục phổ biến từ CSDL (2) Sinh luật từ tập mục phổ biến Trong chương trình bày số thuật tốn phát tập mục phổ biến, phát luật kết hợp từ tập mục phổ biến nhằm làm tiền đề cho nghiên cứu sau cải tiến thuật toán, thuật toán song song Nội dung: 2.1 Các khái niệm tính chất 19 2.1.1.Các khái niệm Tạo mẫu β = ;  Khái niệm độ hỗ trợ độ tin cậy β support = support; Kí hiệu I = {i1, i2, …, im} tập thuộc tính gọi F=Fβ ; Tạo gốc Temp-root với là mục liệu D sở liệu tập giao tác, ; giao tác T tập mục tập mục I, T  I Mỗi giao Call QFP-growth(Temp-root, ); tác có định danh gọi TID (Transaction } Identification) X={i1, i2,…,ik} I gọi tập mục hay tập k-mục chứa k mục Một giao tác T gọi chứa tập mục X X  T Mỗi giao tác , I tập mục a, Độ hỗ trợ (Suppport) Định nghĩa 2.1 Độ hỗ trợ tập mục X sở liệu D tỉ số số giao tác T  D có chứa tập X tổng số giao tác D (hay phần trăm giao tác D có chứa tập mục X), kí hiệu Supp(X) Supp (X)  | T  D : X  T| |D| Ta có  suppp(X)  với tập X Để dễ hình dung ta coi Support mức độ “phổ biến xảy ra” mẫu (2.1) 18 temp_root>=ξ ) then call QFPgrowth(temp_root, β); } 3.4 Mở rộng thuật toán QFP-growth Như vậy, thay xét đối tượng b, Độ tin cậy Định nghĩa 2.3 Độ tin cậy luật r =X Y tỉ số (phần trăm) số giao tác D chứa X  Y với số giao tác D có chứa tập mục X Kí hiệu độ tin cậy luật conf (r) Ta có  conf  FP-tree ban đầu ta cải tiến để xét đồng thời (song song) đối tượng Từ phân tích trên, tơi đề xuất thuật Nhận xét: Độ hỗ trợ độ tin cậy xác suất sau: tốn song song dựa vào QFP-growth để khai phá liệu Supp(X Y) = P(X  Y) sau: Conf (XY) =P(Y/X) =Supp(X  Y)/Supp(X) Input: Cây FP-tree ngưỡng hỗ trợ tối thiểu ξ Output: Its frequent pattern tree, FP-TreeOutput: Một tập đầy 2.1.2 Khai phá luật kết hợp đủ mẫu phổ biến F Bài toán khai phá luật kết hợp sở liệu Ý tưởng: chia thành hai tốn nhỏ Bài tốn thứ tìm tất - Giả sử CSDL có n đối tượng phổ biến với  i n tập mục liệu có độ hỗ trợ thỏa ngưỡng tối thiểu cho - Với đối tượng , từ FP-tree ban đầu xây trước, gọi tập tập mục liệu thuờng xuyên Bài toán dựng có gốc root, (với  i thứ hai tìm luật kết hợp từ tập mục liệu thường xuyên thỏa độ tin cậy tối thiểu cho trước n) - Sử dụng n xử lý cho việc khai phá Mỗi xử lý tiến hành khai phá FP-tree, tạo tập đối tượng phổ biến đưa F Thuật tốn song song: For ( i = 1; i ≤ n; i++) ( đồng thời) { Bài tốn 1: Tìm tất tập mục phổ biến (các tập có support lớn ngưỡng minsup) Dữ liệu vào: Cho trước tập mục I, sở liệu D, ngưỡng minsup minconf Dữ liệu ra: Tìm tất luật kết hợp X Y D thoả mãn: 17 Support (XY)  minsup confidence (X Y)  nhiều thời gian nhớ Vì vậy, vấn đề đặt phải tránh minconf tạo nhiều FP-Tree có điều kiện khai phá Để giải vấn đề này, người ta sử dụng thuật toán QFP-growth, Bài toán 2: Khai phá luật kết hợp Dữ liệu vào: I, D, minsup, minconf, Lk={x1, x2,…, xk} tập mục phổ biến (thường xuyên) Dữ liệu ra: Tất luật kết hợp thoả mãn minsup minconf 2.2 Một số thuật toán khai phá luật kết hợp 2.2.1.Một số thuật toán sinh tập phổ biến 2.1.1.1.Thuật toán Apriori - Sinh mẫu phổ biến k+1 từ k - Kiểm tra mẫu phổ biến sinh độ tin cậy - Phương pháp đếm phân tán khai phá luật kết hợp dựa song song Apriori Đếm phân tán phân chia tĩnh sở liệu thành phần theo chiều ngang sau quét độc lập để đếm cục tất ứng cử viên Itemset xử lý phương pháp mở rộng FP-growth cho việc khai phá liệu từ FP-tree Thuật tốn mơ tả sau: Algorithm : QFP-growth [10] (Khai phá mẫu phổ biến với FP-tree mẫu riêng lẻ) Input: Cây FP-tree ngưỡng hỗ trợ tối thiểu ξ Output: Một tập đầy đủ mẫu phổ biến F Method: call QFP-growth(root, null) Procedure QFP-growth(gốc Q, FP_prefix α) for each Q, từ xuống support = Tổng số lần xuất có gốc Q ; if support > = ξ then { Tạo mẫu β = α  ; 2.2.1.2 Thuật toán Apriori-TID β support = support; Thuật toán Apriori-TID tương tự thuật toán Apriori, điểm F=Fβ ; khác chủ yếu thuật tốn so với thuật tốn Apriori là; khơng sử dụng CSDL để tính độ hỗ trợ Tạo có gốc tạm thời (temp_root) có ai; giai doạn k  Thay vào sử dụng mã khóa tập mục ứng cử sử dụng giai đoạn truớc, Ck if (temp_root có con) and (Tổng số lần xuất 16 - Gồm giao tác chứa p - Để tìm mẫu phổ biến chứa p ta cần tìm mẫu phổ biến CPB thêm p vào mẫu * FP-Tree có điều kiện p FP-tree xây dựng với sở có điều kiện mẫu p Input: FP-tree, ngưỡng hỗ trợ tối thiểu ξ Output: Một tập đầy đủ mẫu phổ biến F Phương pháp: gọi FP-growth (FP-tree, null) Procedure FP-growth (Tree, α) If (Cây có nhánh đơn P) then For each tổ hợp β nút P { Tạo mẫu p = β  α ; p.support = {support nút β}; F = F  p; } else For each bảng Header Tree { Tạo β =  α ; β.support = ai.support; F = F  β; Xây dựng sở có điều kiện β; Xây dựng FP-Tree có điều kiện Treeβ β; if Treeβ ≠  then Call FP_growth(Treeβ, β); } 3.3 Thuật toán QFP-Growth Như biết trên, thuật toán FP-growth để khai phá liệu phải tạo nhiều FP-Tree có điều kiện làm tốn 2.2.1.3.Thuật tốn Apriori-Hybrid Phương pháp thuật toán Apriori -Hybrid sử dụng thuật toán Apriori giai đoạn đầu chuyển sang sử dụng thuật toán Apriori-TID giai đoạn sau, trình bày chi tiết 2.2.2 Thuật tốn sinh luật kết hợp 2.2.2.1 Thuật toán sinh luật đơn giản Nếu  a   luật a ( - a) có độ tin cậy nhỏ minconf ta khơng cần phải xem xét luật có tiền đề a’,  a’  a Chẳng hạn, ABC D Có độ tin cậy nhỏ minconf ta khơng cần kiểm tra luật AB  CD AB  ABC nên sup(AB)  sup (ABC) sup( ABCD) sup( ABCD)  < sup( ABC ) sup( AB) minconf 2.2.2.2 Thuật toán sinh luật nhanh Như đề cập với tập mục phổ biến , luật a  ( – a) không thỏa minconf  a’  a, luật a’  ( – a’) không thỏa Nguợc lại, luật (-c) c thỏa minconf tất luật (– c’)  c’ cung thỏa minconf, với c’  c Bởi ( – c)  ( – c’) (do c’  c), suy sup( – c)  sup( 10 – c’) minconf  15 sup(l ) sup(l )  , lu ật ( – c’) sup(l  c) sup(l  c ' ) Output: FP-tree chèn Method: gọi merge-insert (items train, node, support) c’ thỏa minconf Procedure merge-insert ([p|P], T, num) CHƯƠNG 3: THUẬT TỐN QFP-GROWTH If (T có nút N) and (N.item-name = p) Thuật toán kinh điển Apriori tìm tập mục phổ biến thực tốt rútt gọn kích thước tập ứng cử nhờ kỹ thuật tỉa N count = N.count + num; Else Tuy nhiên, tình mà số mẫu nhiều, mẫu dài { Tạo nút N; độ hỗ trợ cực tiểu thấp, thuật toán Apriori gặp phải N.count = num; chi phí lớn: N.parent = T; Chi phí cho số lượng khổng lồ tập ứng cử Ví dụ: 10 tập 1-mục phổ biến thuật toán Apriori cần sinh } If P !=NULL then Call merge-insert (P, N, num); 10 ứng cử 2-mục thực kiểm tra xuất 3.2.Thuật toán FP-growth chúng Hơn nữa, để khám phá số mẫu phổ biến Thuật toán FP-Growth phương pháp khác cho việc xác l kích thước (độ dài) l, thuật tốn phải kiểm tra (2 -2 ) mẫu định tập mục thuờng xuyên Tương phản với thuật phổ biến tiềm Vớ dụ l=100, chẳng hạn {a1,a2, ,a100}, toán apriori, sử dụng chế sinh-kiểm tra (sinh tập mục 100 phải sinh tổng số  10 30 ứng cử (đấy số tập tập có 100 phần tử) Địi hỏi lặp lại nhiều lần duyệt CSDL để kiểm tra tập cần xét, kiểm tra xem tập mục có phải thuờng xuyên) phương pháp tăng trưởng mẫu (pattern-growth) nhận itemsets phổ biến trực tiếp từ CSDL mà khơng chi phí cho lớn ứng cử Số lần duyệt CSDL thuậtt Apriori độ việc sinh kiểm tra độ lớn ứng cử viên dài mẫu phổ biến dài tìm Trong trường hợp mẫu Thuật toán: FP - growth (Khai phá mẫu phổ biến với FP-tree từ mẫu riêng lẻ) phổ biến dài CSDL lớn, có nhiều ghi, điều khơng thể thực Thuật tốn Apriori thích hợp cho * Cơ sở có điều kiện mẫu p (CPB) thoả mãn: 14 (kết hợp FP-tree thành kết quả, khơng tạo bảng node liên kết kết FP-tree ) Input: Hai FP-tree Output: FP-tree trộn có tên FP-tree 11 CSDL thưa (sparse), với CSDL dày (dense) thuật tốn thực hiệu Thuật tốn tìm tập phổ biến hiệu qủa thuật toán Apriori thuật toán Fp-tree Fp-Growth 3.1 Thuật toán song song xây dựng FP-Tree Method: call FP-merge(FP-tree1, FP-tree2, result) Procedure FP-merge(FP-tree1, FP-tree2, result) While FP-tree2 !=NULL { Lấy dãy đối tượng từ đến gốc FP-tree2 3.1.1 Thuật toán song song xây dựng FP-Tree 3.1.1.1.Thuật toán Fp-tree Được gọi mẫu phổ biến (frequent pattern tree gọi tắt FP- tree) dùng để nén liệu thích hợp Chỉ có mục độ dài l (l-item) nút đặt để nút xuất thường xuyên dễ dàng n = leaf’s count ; chia sẻ với nút xuất CSDL lớn nén chặt Coi dãy đối tượng [p|P] tới cấu trúc liệu nhỏ (FP-tree), tránh chi phí lặp lại Call merge-insert ([p|P], FP-tree1, n) duyệt qua CSDL Xoá dãy đối tượng khỏi FP-tree2; } Rename FP-tree1 as FP-tree; (dãy [p|P], p đối tượng cuối P dãy đối tượng phía trước) Thuật toán Xây dựng FP-tree Input: Cơ sở liệu giao dịch DB ngưỡng hỗ trợ tối thiểu ξ * Độ hỗ trợ (Support): Support đối tượng ‘p’ tổng số lần xuất ‘p’ tất giao tác 3.1.3.Thuật toán Merge-Insert Output: Cây FP-Tree, chứa mẫu phổ biến Thuật toán Merge-insert (chèn dãy liệu vào FP-tree) FP-tree xây dựng theo bước sau đây: Input: dãy liệu, FP-tree node, count đối tượng cuối dãy Duyệt DB lần đầu để thu tập F gồm đối tượng phổ biến (frequent item) độ hỗ trợ (support count) 12 13 chúng Sắp xếp đối tượng (item) F giảm dần theo supprort count ta danh sách L If P ≠  then Call insert_tree (P, N) :1 3.1.1.2 Thuật toán song song xây dựng FP-Tree Tạo nút gốc T Input: CSDL giao tác DB ngưỡng min-sup ξ Tạo bảng Header H có |F| dịng đặt tất node – Output: Cây FP-Tree link đến null Method: Cây FP-tree xây dựng theo bước sau đây: For each giao tác G  DB a Chọn đối tượng phổ biến G xếp theo thứ tự danh sách L dạng [p, P], p phần tử P danh sách cịn lại Giả sử có n xử lý (BXL) p1, p2,…,pn; Phân chia DB thành n phần DB1, DB2, …, DBn với kích thước giống for ( j = 1; j ≤ n; j++) ( đồng thời) b Call Insert_Tree([p,P], T); { Procedure Insert_Tree ([p | P], T) If (T có nút N) and (N.item-name = p) Then BXL pj quét CDSL DBj, Xây dựng FP-treej, không tạo bảng node liên kết } N.count = N.count + 1; while(n>1) Else { Tạo nút N; for ( j = 1; j≤n; j=j+2) (đồng thời) N.item-name = p; { N.count = ; BXL pj gọi FP-merge( FP-treej, FP- treej+1, int(j/2)+1 ) n = n / 2; } T.child = N ; Tạo bảng head liên kết node giống cho N.node-link = H[p].Node_link; H[p].Node_link = N; } FP-tree1; Return FP-tree1; 3.1.2 Thuật toán FP-Merge ... Một số thuật toán khai phá luật kết hợp 2.2.1.Một số thuật toán sinh tập phổ biến 2.1.1.1 .Thuật toán Apriori - Sinh mẫu phổ biến k+1 từ k - Kiểm tra mẫu phổ biến sinh độ tin cậy - Phương pháp đếm... kết hợp Khai phá luật kết hợp CSDL chia thành hai tốn con: (1) Tìm tất tập mục phổ biến từ CSDL (2) Sinh luật từ tập mục phổ biến Trong chương trình bày số thuật tốn phát tập mục phổ biến, phát... có điều kiện khai phá Để giải vấn đề này, người ta sử dụng thuật toán QFP- growth, Bài toán 2: Khai phá luật kết hợp Dữ liệu vào: I, D, minsup, minconf, Lk={x1, x2,…, xk} tập mục phổ biến (thường

Ngày đăng: 19/03/2021, 17:56

Từ khóa liên quan

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

Tài liệu liên quan