Các tập mục thường xuyên trong khai phá dữ liệu và ứng dụng

67 858 2
Các tập mục thường xuyên trong khai phá dữ liệu và ứng dụng

Đ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

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ HOÀNG MINH QUANG CÁC TẬP MỤC THƯỜNG XUYÊN TRONG KHAI PHÁ DỮ LIỆU VÀ ỨNG DỤNG LUẬN VĂN THẠC SỸ Hà Nội, 2010 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ HOÀNG MINH QUANG CÁC TẬP MỤC THƯỜNG XUYÊN TRONG KHAI PHÁ DỮ LIỆU VÀ ỨNG DỤNG Ngành: Công nghệ thông tin Chuyên ngành: Hệ thống thông tin Mã số: 60 48 05 LUẬN VĂN THẠC SỸ NGƯỜI HƯỚNG DẪN: PGS. TS. Vũ Đức Thi Hà Nội, 2010 1 MỤC LỤC MỤC LỤC 1 DANH MỤC VIẾT TẮT VÀ KÝ HIỆU 2 DANH MỤC BẢNG BIỂU, HÌNH ẢNH 3 GIỚI THIỆU 4 I. KHAI PHÁ TẬP MỤC THƯỜNG XUYÊN 5 I.1. Mở đầu 5 I.2. Một số khái niệm cơ bản về tập mục 6 I.3. Tập mục thường xuyên và luật kết hợp 7 I.4. Mô tả bài toán khai phá luật kết hợp 9 I.5. Một số thuật toán khai phá tập mục thường xuyên và luật kết hợp 14 I.6. Thuật toán Apriori 16 I.7. Thuật toán FP-Growth 20 II. CÁC BÀI TOÁN MỞ RỘNG KHAI PHÁ TẬP MỤC THƯỜNG XUYÊN 27 II.1. Một số nghiên cứu chuyên sâu về khai phá luật kết hợp 27 II.2. Khai phá tập mục cổ phần cao 28 II.3. Khai phá tập mục lợi ích cao 45 III. CÀI ĐẶT ỨNG DỤNG THỬ NGHIỆM KHAI PHÁ TẬP MỤC LỢI ÍCH CAO 54 KẾT LUẬN 62 TÀI LIỆU THAM KHẢO 64 2 DANH MỤC VIẾT TẮT VÀ KÝ HIỆU Các ký hiệu: I={I 1 ,I 2 ,…,I n }. Tập n mục dữ liệu DB={T 1 ,T 2 , …, T m }. Cơ sở dữ liệu có m giao tác db: Cơ sở dữ liệu giao tác con của DB, db ⊆ DB i p : Mục dữ liệu thứ p T q : Giao tác thứ q n: Số mục dữ liệu trong một cơ sở dữ liệu giao tác m: Số giao tác của một cơ sở dữ liệu giao tác A, B, C…: Tên các mục dữ liệu trong cơ sở dữ liệu X, Y,…: Tập con của tập mục dữ liệu I; X, Y ⊆ I X = ABC thay cho X = {A,B,C} trong cơ sở dữ liệu giao tác minsup: Ngưỡng độ hỗ trợ tối thiểu minShare: Ngưỡng cổ phần tối thiểu minutil: Ngưỡng lợi ích tối thiểu |X|: Số phần tử của tập hợp X Viết tắt: CSDL: Cơ sở dữ liệu DB: Cơ sở dữ liệu giao tác DL: Dữ liệu 3 DANH MỤC BẢNG BIỂU, HÌNH ẢNH Bảng 1. Biểu diễn cơ sở dữ liệu giao tác ngang 6 Bảng 2. Biểu diễn cơ sở dữ liệu giao tác dọc 7 Bảng 4. Cơ sở dữ liệu minh họa thực hiện thuật toán COFI-tree 22 Bảng 5. Các mục dữ liệu và độ hỗ trợ 22 Bảng 6. Các mục dữ liệu thường xuyên đã sắp thứ tự 22 Bảng 7. Các mục dữ liệu trong giao tác sắp xếp giảm dần theo độ hỗ trợ 23 Hình 1. Hình cây FP-Growth 23 Hình 2. Cây COFI-tree của mục D 24 Hình 3. Các bước khai phá cây D-COFI-tree 25 Bảng 8. Cơ sở dữ liệu giao tác cho khai phá tập mục cổ phần cao 29 Bảng 9. Xét CSDL Bảng 8 với minShare ≥ 30% 30 Bảng 10. Biểu diễn tất cả tập mục cổ phần cao 31 Bảng 11. CSDL minh họa có trường hợp hai hàm tới hạn bằng nhau 39 Bảng 12. CSDL minh họa trường hợp hai hàm tới hạn luôn bằng nhau. 40 Bảng 13. Giá trị của hai hàm tới hạn với k=1. 40 Bảng 14. Các giá trị lmv và hàm tới hạn với k=1. 43 Bảng 15. Các giá trị lmv và hàm tới hạn với k=2. 43 Bảng 16. các giá trị lmv và hàm tới hạn với k=3. 44 Bảng 17. Cơ sở dữ liệu giao tác trong khai phá tập mục lợi ích cao 47 Bảng 18. Bảng lợi ích các mục dữ liệu 47 Bảng 19. Cở sở dữ liệu giao tác lợi ích cao với khai pháp cổ phần cao 49 Giao diện 1. Sheet HUI, dữ liệu được sinh bởi chương trình 54 Giao diện 2. Sheet Profit, dữ liệu nhập vào bằng tay 54 Giao diện 3. Giao diện chương trình chính 55 Giao diện 4. Kết quả thực hiện với ngưỡng lợi ích 30% 56 4 GIỚI THIỆU Sự phát triển nhanh chóng các ứng dụng CNTT và Internet vào nhiều lĩnh vực đời sống, xã hội, quản lý kinh tế, khoa học kỹ thuật,… đã tạo ra nhiều cơ sở dữ liệu khổng lồ. Để khai thác hiệu quả nguồn thông tin từ các cơ sở dữ liệu lớn, hỗ trợ tiến trình ra quyết định, bên cạnh các phương pháp khai thác thông tin truyền thống, các nhà nghiên cứu đã phát triển các phương pháp, kỹ thuật và phần mềm mới hỗ trợ tiến trình khám phá, phân tích, tổng hợp thông tin. Khai phá dữ liệu và khám phá tri thức (Data mining and knowledge discovery) là một lĩnh vực quan trọng của ngành Công nghệ thông tin. Đây là lĩnh vực đã thu hút đông đảo các nhà khoa học trên thế giới và trong nước tham gia nghiên cứu. Khai phá tập mục thường xuyên được biết đến như một bài toán con của khai phá luật kết hợp được giới thiệu bởi Agrawal vào năm 1993 khi phân tích cơ sở dữ liệu bán hàng của siêu thị, phân tích sở thích mua của khách hàng bằng cách tìm ra những mặt hàng khác nhau được khách hàng mua trong cùng một lần mua. Những thông tin như vậy giúp người quản lý kinh doanh tiếp thị chọn lọc và thu xếp không gian bày hàng hợp lý hơn, giúp cho việc kinh doanh hiệu quả hơn. Khai phá tập mục thường xuyên gặp khó khăn khi xử lý cơ sở dữ liệu lớn. Vì thế đã có nhiều nghiên cứu về cách thức mở rộng, ứng dụng. Rất nhiều kết quả nghiên cứu đã được công bố nhưng vấn đề khai phá tập mục thường xuyên vẫn được coi là bài toán khó. Với mục đích đóng góp vào lĩnh vực sôi động này, tác giả tìm hiểu và nghiên cứu về các thuật toán khai phá tập mục thường xuyên phổ biến nhất, đem lại một cái nhìn tổng quát về khai phá tập mục thường xuyên và luật kết hợp. 5 I. KHAI PHÁ TẬP MỤC THƯỜNG XUYÊN I.1. Mở đầu Khai phá tập mục thường xuyên đóng vai trò quan trọng trong nhiều nhiệm vụ khai phá dữ liệu. Khai phá tập mục thường xuyên xuất hiện như bài toán con của nhiều lĩnh vực khai phá dữ liệu như khám phá luật kết hợp, khám phá mẫu tuần tự, phân tích tương quan, phân lớp, phân cụm dữ liệu, khai phá Web,… Bài toán khai phá tập mục thường xuyên được giới thiệu lần đầu bởi Agrawal vào năm 1993 khi phân tích cơ sở dữ liệu bán hàng của siêu thị [9] trong mô hình của bài toán khai phá luật kết hợp. Khai phá luật kết hợp là phát hiện những mối quan hệ giữa các giá trị dữ liệu trong cơ sở dữ liệu, các mối quan hệ đó chính là các luật kết hợp. Khai phá luật kết hợp có hai bước: bước thứ nhất, tìm các tập mục thường xuyên thỏa mãn ngưỡng độ tối thiểu minsup cho trước, bước thứ hai, từ các tập mục thường xuyên tìm được, sinh ra các luật kết hợp thỏa mãn ngưỡng độ tin cậy minconf cho trước. Mọi khó khăn của bài toán khai phá luật kết hợp tập trung ở bước thứ nhất, đó là khai phá tập mục thường xuyên thỏa mãn ngưỡng độ hỗ trợ cho trước. Kể từ khi Agrawa đề xuất, khai phá tập mục thường xuyên đã thu hút được sự quan tâm của nhiều nhà nghiên cứu, đã có hàng trăm kết quả nghiên cứu được công bố giới thiệu các thuật toán mới hay đề xuất các giải pháp nâng cao hiệu quả các thuật toán đã có. Tập mục thường xuyên đã có vai trò quan trọng trong nhiều ứng dụng thực tế như quản lý quan hệ khách hàng, nâng cao hiệu quả của thương mại điện tử, trong lĩnh vực tin sinh học, phân tích cấu trúc Protein và DNA, mở rộng truy vấn, phát hiện xâm nhập mạng…[13, 14, 15, 16]. Mô hình khai phá tập mục thường xuyên cơ bản có nhiều ứng dụng trong thực tế nhưng có những hạn chế, không đáp ứng đầy đủ yêu cầu của người sử dụng. Ràng buộc về độ hỗ trợ và độ tin cậy của luật kết hợp chỉ mang ngữ nghĩa thống kê, không phản ánh được vai trò khác nhau của các thuộc tính cũng như đặc tính dữ liệu vốn có của chúng trong cơ sở dữ liệu. 6 Để đáp ứng yêu cầu của thực tiễn, khai phá tập mục thường xuyên đã có nhiều cách thức mở rộng và ứng dụng, từ thay đổi phương pháp luận đến thay đổi đa dạng các kiểu dữ liệu, mở rộng các nhiệm vụ khai phá và đa dạng các ứng dụng mới. Trong những năm qua, đã có nhiều hướng mở rộng bài toán được quan tâm nghiên cứu. Chương một này sẽ trình bày các vấn đề cơ bản của bài toán khai pháp tập mục thường xuyên. I.2. Một số khái niệm cơ bản về tập mục Định nghĩa 1.1: Cho tập mục (item) I={I 1 ,I 2 ,…,I m }. Một giao tác (transaction) T là một tập con của I, T⊆ I. Cơ sở dữ liệu giao tác là tập các giao tác DB={T 1 ,T 2 , …, T m }. Mỗi giao tác được gán một định danh T id . Một tập mục con X ⊆ I, gồm k mục phân biệt được gọi là k-tập mục. Giao tác T gọi là chứa tập mục X nếu X ⊆ T. Biểu diễn cơ sở dữ liệu giao tác: Cơ sở dữ liệu giao tác thường được biểu diễn ở dạng biểu diễn ngang, biểu diễn dọc và biểu diễn bởi ma trận giao tác. Biểu diễn ngang: cơ sở dữ liệu là một danh sách các giao tác. Mỗi giao tác có một định danh T id và một danh sách các mục dữ liệu trong giao tác đó. Giao tác Mục dữ liệu T1 A, C, D T2 B, C, E T3 A, B, C, E T4 B, E Bảng 1. Biểu diễn cơ sở dữ liệu giao tác ngang Biểu diễn dọc: Cơ sở dữ liệu là một danh sách các mục dữ liệu, mỗi mục dữ liệu có một danh sách tất cả các định danh của các giao tác chứa mục dữ liệu này. 7 Mục dữ liệu Các giao tác A T1, T3 B T2, T3, T4 C T1, T2, T3 D T1 E T2, T3, T4 Bảng 2. Biểu diễn cơ sở dữ liệu giao tác dọc Biểu diễn ma trận nhị phân: Cơ sở dữ liệu giao tác trên tập mục (item) được biểu diễn bởi ma trận nhị phân M = (m pq ) mxn ở đó ݉ ௣௤ = ൜ 1 ݇ℎ݅ ݅ ௣ ∈ܶ ௤ 0 ݇ℎ݅ ݅ ௣ ∉ܶ ௤  Mục T1 T2 T3 T4 A 1 0 1 0 B 0 1 1 1 C 1 1 1 0 D 1 0 0 0 E 0 1 1 1 Bảng 3. Biểu diễn cơ sở dữ liệu giao tác ma trận I.3. Tập mục thường xuyên và luật kết hợp Định nghĩa 1.2: Cho tập mục X ⊆ I. Độ hỗ trợ (Support) của tập mục X trong cơ sở dữ liệu giao tác DB, ký hiệu sup(X), là tỷ lệ phần trăm của các giao tác chứa tập mục X trên tổng số giao tác trong DB, tức là: || |}|{| )sup( DB XTDBT X ⊇ ∈ = Định nghĩa 1.3: Cho tập mục X⊆I với ngưỡng hộ trợ tối thiểu (minimum support) minsup ∈ [0,1] (được xác định trước bởi người sử dụng). X được gọi là tập mục thường xuyên (frequent itemset hoặc large itemset) với độ hỗ trợ tối 8 thiểu minsup nếu sup(X) ≥ minsup, ngược lại X gọi là tập mục không thường xuyên. Định nghĩa 1.4: Một luật kết hợp là một biểu thức dạng X →Y, trong đó X và Y là các tập con của I, X∩Y=∅; X gọi là tiên đề, Y gọi là kết luận của luật. Luật kết hợp có hai thông số quan trọng là độ hỗ trợ và độ tin cậy. Định nghĩa 1.5: Độ hỗ trợ (support) luật kết hợp, ký hiệu là sup(X →Y), là độ hỗ trợ của tập mục X∪Y, sup(X →Y) = sup(X∪Y). Như vậy độ hỗ trợ của luật kết hợp X →Y chính là xác suất P(X∪Y) của sự xuất hiện đồng thời của X và Y trong một giao tác. Ta có 0 ≤ sup (X →Y ) ≤ 1 Định nghĩa 1.6: Độ tin cậy (confidence) luật kết hợp, ký hiệu là conf(X→Y), là tỷ lệ phần trăm giữa số giao tác chứa X∪Y và số giao tác chứa X trong cơ sở dữ liệu DB. )sup( )sup( )( X YX YXconf ∪ =→ Độ tin cậy của luật kết hợp X →Y chính là xác suất có điều kiện P(X/Y): )sup( )sup( |}|{| |}|{| |}|{| |}|{| )/( X YX TXDBT TYXDBT TXDBT TYTXDBT YXP ∪ = ⊆∈ ⊆ ∪ ∈ = ⊂∈ ⊆ ∧ ⊆ ∈ = Và ta có 0 ≤ conf(X →Y ) ≤ 1. I.3.1. Bài toán khai phá luật kết hợp Xác định tất cả X⇒ ⇒⇒ ⇒Y thỏa mãn độ hỗ trợ và độ tin cậy tối thiểu thì luật X⇒ ⇒⇒ ⇒Y được gọi là luật kết hợp mạnh. [...]... thuật chính để khai phá tập mục thường xuyên Bài toán khai phá tập mục thường xuyên: tìm các tập mục ứng viên và tìm các tập mục thường xuyên Tập mục ứng viên là tập mục mà ta hy vọng nó là tập mục thường xuyên, phải tính độ hỗ trợ của nó để kiểm tra Tập mục thường xuyên là tập mục có độ hỗ trợ lớn hơn hoặc bằng ngưỡng tối thiểu cho trước Đã có rất nhiều thuật toán tìm tập mục thường xuyên được công... - Dữ liệu cho tập mục thường xuyên là trường hợp đặc biệt của dữ liệu cho khai phá cổ phần cao khi tất cả các mục dữ liệu trong các giao tác có giá trị 0 hoặc 1 - Tập mục cổ phần cao mang ý nghĩa khác với tập mục thường xuyên Tập mục thường xuyên chỉ quan tâm đến số lần xuất hiện của tập mục trong các giao tác, trong khi đó tập mục cổ phần cao quan tâm đến tổng giá trị các mục dữ liệu của tập mục trong. .. tính chất của tập mục thường xuyên Cho cơ sở dữ liệu giao tác DB và ngưỡng độ hỗ trợ tối thiểu minsup Các tập mục thường xuyên có tính chất sau: (1) Nếu X, Y là các tập mục và X ⊆ Y thì sup(X) ≥ sup(Y) (2) Nếu một tập mục là không thường xuyên thì mọi tập cha của nó cũng là không thường xuyên (3) Nếu một tập mục là thường xuyên thì mọi tập con khác rỗng của nó cũng là tập mục thường xuyên Tính chất... bằng cách phân khoảng các giá trị thuộc tính, sau đó có thể sử dụng các thuật toán khai phá luật kết hợp nhị phân đã biết - Chú ý đến cả cấu trúc dữ liệu và mức độ quan trọng khác nhau của các thuộc tính trong cơ sở dữ liệu Theo hướng này, nhiều nhà nghiên cứu đề xuất các mô hình mở rộng: khai phá tập mục cổ phần cao, đánh giá đóng góp của tập mục trong tổng số các mục dữ liệu của cơ sở dữ liệu; khai phá. .. Apriori, ban đầu mỗi mục dữ liệu làm một ứng viên Trong lần duyệt thứ nhất, thuật toán duyệt cơ sở dữ liệu, tính giá trị của mỗi mục dữ liệu Mỗi ứng viên 1 -tập mục X sẽ bị tỉa nếu CF(X) < min_lmv Trong 33 mỗi lần duyệt tiếp theo, các tập ứng viên được tạo bằng cách nối hai (k-1) -tập mục trong RCk-1 nếu chúng có (k-2) mục đầu giống nhau và nhận được k -tập mục, kết nạp vào tập Ck (giả sử các mục của CSDL đã... sở dữ liệu minh họa thực hiện thuật toán COFI-tree Giai đoạn 1 Xây dựng cây FP-tree Duyệt CSDL lần thứ nhất tính được độ hỗ trợ của mỗi mục dữ liệu, loại bỏ các mục dữ liệu không thỏa mãn ngưỡng minsup = 3, sắp xếp giảm dần theo độ hỗ trợ các mục Mục dữ liệu A B C D E F Độ hỗ trợ 7 6 8 5 2 2 Bảng 5 Các mục dữ liệu và độ hỗ trợ Mục dữ liệu C A B D Độ hỗ trợ 8 7 6 5 Bảng 6 Các mục dữ liệu thường xuyên. .. của mỗi mục để xác định các 1 -tập mục thường xuyên Lần duyệt thứ k (k≥2) sẽ bao gồm 2 giai đoạn: Giai đoạn 1: tập mục thường xuyên Lk-1 đã tìm thấy ở các lần duyệt thứ k-1 được sử dụng để sinh ra các tập ứng cử viên bằng việc sử dụng hàm apriori_gen Tập các k tập mục ứng viên Ck được sinh ra bởi việc kết nối Lk-1 với chính nó Hai tập mục l1 và l2 của Lk-1 được nối nếu chúng có (k-2) mục dữ liệu đầu... thuật toán khai phá tập mục thường xuyên và luật kết hợp I.5.1 Thuật toán AIS Thuật toán hoàn toàn sử dụng chiến lược “vét cạn”, xem xét toàn bộ các tập mục thường xuyên bằng cách sinh tổ hợp tập các mục và chạy kiểm tra 15 I.5.2 Thuật toán SETM Được đề xuất do mong muốn dùng SQL để tìm các tập mục thường xuyên Cũng giống như thuật toán AIS, SETM cũng sinh ra các tập ứng viên dựa trên các giao dịch... khác nhau của các thuộc tính cũng như đặc tính dữ liệu vốn có của chúng trong CSDL Để đáp ứng yêu cầu của thực tiễn, bài toán khai phá tập mục thường xuyên đã có nhiều cách thức mở rộng và ứng dụng Một hướng mở rộng bài toán có nhiều ứng dụng là quan tâm đến cấu trúc dữ liệu và mức độ quan trọng khác nhau của các mục dữ liệu, các thuộc tính trong cơ sở dữ liệu Một số mô hình mở rộng bài toán đã được... phá tập mục lợi ích cao, đánh giá lợi ích mà tập mục mang lại trong CSDL Một số tác giả đề xuất 28 mô hình khai phá tập mục lợi ích cao và các thuật toán UMining, Umining-H để khai phá [10, 11, 12] II.2 Khai phá tập mục cổ phần cao Bài toán cơ bản (hay còn gọi là bài toán nhị phân) khai phá luật kết hợp đề xuất và nghiên cứu lần đầu tiên vào năm 1993 [9], mục tiêu của bài toán này là tìm tập mục thường . tập mục thường xuyên. Bài toán khai phá tập mục thường xuyên: tìm các tập mục ứng viên và tìm các tập mục thường xuyên. Tập mục ứng viên là tập mục mà ta hy vọng nó là tập mục thường xuyên, . I. KHAI PHÁ TẬP MỤC THƯỜNG XUYÊN I.1. Mở đầu Khai phá tập mục thường xuyên đóng vai trò quan trọng trong nhiều nhiệm vụ khai phá dữ liệu. Khai phá tập mục thường xuyên xuất hiện như bài. hiểu và nghiên cứu về các thuật toán khai phá tập mục thường xuyên phổ biến nhất, đem lại một cái nhìn tổng quát về khai phá tập mục thường xuyên và luật kết hợp. 5 I. KHAI PHÁ TẬP MỤC

Ngày đăng: 01/07/2015, 19:30

Từ khóa liên quan

Mục lục

  • MỤC LỤC

  • DANH MỤC VIẾT TẮT VÀ KÝ HIỆU

  • DANH MỤC BẢNG BIỂU, HÌNH ẢNH

  • GIỚI THIỆU

  • I. KHAI PHÁ TẬP TỤC THƯỜNG XUYÊN

  • I.1. Mở đầu

  • I.2. Một số khái niệm cơ bản về tập tục

  • I.3. Tập mục thường xuyên và luật kết hợp

  • I.3.1. Bài toán khai phá luật kết hợp

  • I.3.2. Một số tính chất của tập mục thường xuyên

  • I.4. Mô tả bài toán khai phá luật kết hợp

  • I.4.1. Một số tiếp cận khai phá tập mục thường xuyên

  • I.4.2. Một số tiếp cận khai phá luật kết hợp

  • I.5. Một số thuậ t toán khai phá tập mụ c thường xuyên và luật kết hợp

  • I.5.1. Thuật toán AIS

  • I.5.2. Thuật toán SETM

  • I.5.3. Thuật toán CHARM

  • I.5.4. Thuật toán APRIORI

  • I.5.5. Thuật toán FP-Growth

  • I.6. Thuật toán Apriori

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

Tài liệu liên quan