Khai phá đồ thị con phổ biến và ứng dụng

83 200 2
Khai phá đồ thị con phổ biến 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 ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THƠNG TIN TRUYỀN THƠNG HỒNG VIỆT DŨNG KHAI PHÁ ĐỒ THỊ CON PHỔ BIẾN ỨNG DỤNG Thái Nguyên, 2018 ii LỜI CAM ĐOAN Tôi xin cam đoan số liệu kết nghiên cứu luận văn trung thực chưa sử dụng để bảo vệ luận văn học vị Tôi xin cam đoan giúp đỡ cho việc thực luận văn cảm ơn thông tn trích dẫn luận văn rõ nguồn gốc Hà Nội, tháng 05 năm 2018 Tác giả Hoàng Việt Dũng iii LỜI CẢM ƠN Để hoàn thành luận văn, nhận giúp đỡ tận tình, đóng góp q báu nhiều cá nhân tập thể Trước hết, xin trân trọng cảm ơn Thầy giáo PGS.TS Nguyễn Long Giang người nhiệt tình hướng dẫn, giúp đỡ tơi việc hồn thành luận văn Tôi xin trân trọng cảm ơn góp ý chân thành Thầy, Cơ giáo Viện Công nghệ thông tn, Các thầy giáo, cô giáo Trường Đại học Công nghệ thông tin truyền thông - Đại học Thái Nguyên, tạo điều kiện thuận lợi cho tơi thực hồn thành đề tài Tơi xin cảm ơn đến gia đình, người thân, đồng nghiệp bạn bè động viên, giúp đỡ, tạo điều kiện thuận lợi cho tơi q trình thực đề tài Một lần xin trân trọng cảm ơn ! Hà Nội, tháng năm 2018 Tác giả Hoàng Việt Dũng iv MỤC LỤC Trang phụ bìa LỜI CAM ĐOAN i LỜI CẢM ƠN iii MỤC LỤC iv DANH MỤC CÁC TỪ VIẾT TẮT … …………………………………… vi DANH MỤC BẢNG vii DANH MỤC HÌNH ixvii ĐẶT VẤN ĐỀ 1.1 Sự cần thiết lựa chọn đề tài 1.2 Mục tiêu nghiên cứu đề tài Đối tượng phạm vi nghiên cứu 2.1 Đối tượng 2.2 Phạm vi nghiên cứu 3 Hướng nghiên cứu đề tài Cấu trúc luận văn Chương TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU ĐỒ THỊ 1.1 Tổng quan khai phá liệu đồ thị 1.1.1 Tại cần khai phá liệu: 1.1.2 Các khái niệm khai phá liệu 1.1.3 Các chức khai phá liệu 1.1.4 Các công cụ khai phá liệu 1.2 Quy trình khai phá liệu đồ thị 1.2.1 Hình thành định nghĩa toán 1.2.2 Thu thập tiền xử lý liệu 1.2.3 Khai phá liệu rút tri thức 1.2.4 Phân tích kiểm định kết 1.2.5 Sử dụng tri thức phát 1.3 Các toán khai phá liệu đồ thị 1.3.1 Khai phá luật kết hợp 1.3.2 Phân lớp 1.3.3 Phân cụm 10 1.3.4 Dự báo 11 1.3.5 Các mẫu 11 1.3.6 Các định 12 1.4 Các ứng dụng khai phá liệu đồ thị 13 1.4.1 Các lĩnh vực liên quan đến phát tri thức khai phá liệu 13 1.4.2 Ứng dụng khai phá liệu 13 Chương CÁC PHƯƠNG PHÁP KHAI PHÁ ĐỒ THỊ CON 15 PHỔ BIẾN 15 2.1 Các định nghĩa đồ thị phổ biến 15 2.1.1 Giới thiệu lý thuyết đồ thị 15 2.1.2 Khai phá liệu 19 2.1.3 Một số phương pháp khai phá liệu 21 2.1.4 Khai phá đồ thị phổ biến 26 2.2 Các phương pháp khai phá đồ thị phổ biến 27 2.2.1 Thuật tốn Apriori để tìm tập phổ biến 27 2.2.2 Thuật toán FSG (Frequency SubGraph Mining) để phát cộng đồng mạng xã hội 34 2.3 Ứng dụng khai phá đồ thị phổ biến phát cộng đồng mạng xã hội 39 2.3.1 Cộng đồng mạng xã hội 39 2.3.2 Các phương pháp truyền thống 41 2.3.3 Các phương pháp áp dụng thuật toán phân chia: 43 2.3.4 Phát cộng đồng mạng xã hội 45 Chương THỬ NGHIỆM, ĐÁNH GIÁ KẾT QUẢ VỚI BÀI TOÁN PHÁT HIỆN CỘNG ĐỒNG MẠNG XÃ HỘI 50 3.1 Mơ tả tốn 50 3.2 Mô hình giải tốn 50 3.2.1 Mơ hình đồ thị thông tin 50 3.2.2 Hướng cạnh 50 3.2.3 Trọng số cạnh 51 3.2.4 Lựa chọn mơ hình cho toán 51 3.3 Thử nghiệm, đánh giá mơ hình (thu thập liệu từ mạng xã hội, biểu diễn liệu, cài đặt, thử nghiệm đánh giá kết quả) 51 3.3.1 Giới thiệu nhóm Facebook, phân tích nhóm Facebook 51 3.3.2 Phương pháp thu thập liệu từ nhóm Facebook 53 3.3.3 Thử nghiệm toán 54 3.3.4 Thuật tốn 55 3.3.5 Demo toán 56 3.3.6 Đánh giá 62 KẾT LUẬN KHUYẾN NGHỊ 64 Kết luận 64 Khuyến nghị 64 TÀI LIỆU THAM KHẢO vii DANH MỤC CÁC TỪ VIẾT TẮT Từ viết tắt Ý nghĩa KDD Knowleadge Discovery in Database CSDL Cơ sở liệu CNTT Công nghệ thong tin OLAP On Line Analytcal Processing FSG Frequency SubGraph Mining CONGA FNCA Cluster Overlap Newman-Girvan Algorithm Fast Network Community Algorithm viii DANH MỤC BẢNG Bảng 2.1 Biểu diễn giao dịch 30 Bảng 2.2 Biểu diễn giao dịch 30 Bảng 2.3 Biểu diễn giao dịch 31 Bảng 2.4 Biểu diễn giao dịch 31 Bảng 2.5 Biểu diễn giao dịch 31 Bảng 2.6 Biểu diễn giao dịch 32 Bảng 2.7 Kết cuối 32 Bảng 3.1 Một dạng format (Ma trận thích (Like)) 54 Bảng 3.2 Bảng người dùng sau giải mã 57 Bảng 3.3 Mảng chuyển đổi 58 ix DANH MỤC HÌNH Hình 1.1 Các bước khai phá liệu KDD Hình 1.2 Quá trình khai phá liêu (khám phá tri thức) Hình 1.3 Phân cụm 11 Hình 1.4 Cây định 12 Hình 2.1 Mơ tả mơ hình đồ thị 15 Hình 2.2 Các loại đồ thị 16 Hình 2.3 Đơn đồ thị vơ hướng 16 Hình 2.4 Đa đồ thị vô hướng 17 Hình 2.5 Giả đồ thị vô hướng 18 Hình 2.6 Đơn đồ thị có hướng 18 Hình 2.7 Đa đồ thị có hướng 19 Hình 2.8 Minh họa thuật toán FSG 35 Hình 2.9 Cộng đồng mạng xã hội đơn giản với cộng đồng 40 Hình 2.10 Phương pháp phân vùng đồ thị 41 Hình 2.11 Ví dụ phép phân chia đỉnh đồ thị 44 Hình 2.12 Một số ví dụ cộng đồng mạng xã hội 45 Hình 2.13 Mơ hình mạng lưới cộng tác nhà khoa học 46 Hình 3.1 Liên kết hai đỉnh (người) mạng xã hội 50 Hình 3.2 Quan hệ hai người mạng xã hội với trọng số 51 Hình 3.3 Hình ảnh nhóm Facebook 52 Hình 3.5 Ví dụ định dạng worksheet: bạn bè, thích, bình luận 59 Hình 3.6 Đồ thị sau xử lý 59 Hình 3.7 Bộ liệu sau xử lý 60 Hình 3.8 So sánh thuật toán Light-FSG với thuật toán khác 60 Hình 3.9 Giao diện chương trình 61 Hình 3.10 Biểu diễn Mạng đồ thị 2D 61 Hình 3.11 Biểu diễn Mạng đồ thị 3D 62 ĐẶT VẤN ĐỀ 1.1 Sự cần thiết lựa chọn đề tài Trong năm gần đây, khai phá liệu liệu đồ thị chủ đề thu hút quan tâm cộng đồng nghiên cứu khai phá liệu học máy ứng dụng rộng rãi nhiều lĩnh vực như: phân tch liệu hóa học, sinh học, phân tích mạng máy tnh, phân tch mạng xã hội [4, 5, 6] Theo tm hiểu tác giả, nghiên cứu liên quan đến khai phá liệu đồ thị thường tập trung vào toán như: liệt kê đếm (Enumeration and Counting), phân lớp đồ thị (graph classification), phân cụm đồ thị (graph clustering), học bán giám sát (semi-supervisedlearning), tóm tắt đồ thị (graph summarization), khai phá đồ thị phổ biến (frequent graph mining)… Khai phá đồ thị phổ biến hướng nghiên cứu sôi động năm gần lĩnh vực khai phá liệu đồ thị Dựa tảng toán khai phá luật kết hợp, khai phá đồ thị phổ biến nhằm tìm kiếm đồ thị phổ biến (tương ứng với tập mục phổ biến) Các đồ thị phổ biến tảng để giải tốn dự báo khơng gian liệu đồ thịứng rộng rãi nhiều lĩnh vực khác đời sống Một số thuật tốn điển hình khai phá đồ thị phổ biến CMTMiner [7], HSIGRAM, VSIGRAM [8], Thuật toán CMTMiner thực việc duyệt cạnh phổ biến xây dựng DFS để tìm đồ thị phổ biến.Trong đó, HSIGRAM, VSIGRAM hai thuật toán xác định đồ thị phổ biến đồ thị lớn Như trình bày trên, lĩnh vực khai phá liệu đồ thị thu kết quan trọng lý thuyết có ứng dụng hiệu việc giải số toán thực tiễn.Một toán ứng dụng khai phá đồ thị phổ biến phát cộng đồng mạng xã hội 3.3.2 Phương pháp thu thập liệu từ nhóm Facebook + Sử dụng Facebook API để thực gọi hàm truy xuất liệu: Phương pháp Facebook API có ưu điểm như: tương thích hồn toàn với cấu trúc liệu Facebook, kết trả định dạng JSON tương thích với hầu hết ngơn ngữ lập trình phổ biến Bộ SDK Facebook API hỗ trợ nhiều ngôn ngữ lập trình Java, C#, PHP… Vì sản phẩm từ Facebook phát triển nên việc thu thập liệu không gặp vấn đề với ajax Sử dụng XML-RPC: cài đặt RPC (Remote Procedure Call) giao thức HTTP, sử dụng XML để mã hoá trao đổi liệu + Về mặt liệu: Sử dụng định dạng liệu đơn giản: excel (xlsx, csv), json, có số ưu điểm: - Đơn giản, gọn - Linh động, không cần phải định nghĩa cấu trúc liệu trước tiến hành lưu trữ điều thể tính tương thích làm việc với dạng liệu khơng có cấu trúc Facebook - Khả mở rộng tốt, khả cân tải cao, tch hợp công nghệ quản lý liệu tốt kích thước thơng lượng trao đổi liệu tăng - Xây dựng ma trận quan hệ dựa tiêu chí sau: + Bạn bè (friend) + Thích (like): viết + Bình luận (comment) + Chia sẻ (share) Công cụ làm việc liệu CSV thu thập tệp Excel phải tuân theo điều định dạng sau Bảng 3.1 Một dạng format (Ma trận thích (Like)) ID User1 User2 … UserN User1 23 … 11 User2 … 34 … … … … … UserN 28 … - Hộp phải "ID" - ID yếu tố chuỗi số, phân tích cú pháp chuỗi, dù liệu đường chéo phải - Trong ví dụ này, liệu hiểu "User1 thích viết User2 23 lần " - Bảng tính phải chứa worksheet Đầu tiên về: + Quan hệ nhị phân hai người dùng (Bạn bè hay không) Hộp phải Bất thứ trừ coi "1" + Hai worksheet tiếp theo, có chứa ví dụ "Thích" "Bình luận" phải theo định dạng đề cập Lưu ý: tập liệu đọc Khơng có liệu sửa đổi 3.3.3 Thử nghiệm tốn - Tìm kiếm cộng đồng liệu vấn đề đồ thị thường xuyên, việc sử dụng thuật toán phát triển Pattern, cụ thể Apriori FSG, đề xuất tốt trường hợp ngày Tuy nhiên, có số khác biệt nhỏ áp dụng cho toán này: - Trước hết, coi "cộng đồng" (tức hoàn chỉnh đồ thị con) có nhóm hai nhiều nút kết nối Bằng cách này, nút riêng lẻ không bao gồm thuật toán, giảm thời gian thực thuật toán, cặp nút bao gồm C2 - Trước tên xem xét sử dụng cạnh cá nhân, phù hợp với tốm Tuy nhiên, đồ thị hồn chỉnh khơng có hướng có hai cạnh khơng thể; số cạnh n (n-1)/2, với n số lượng nút - Do đó, tơi thực cách gắn trọng lượng cạnh, (1 có mối quan hệ "hoàn hảo" hai cá thể, có nghĩa khơng có mối quan hệ khơng đại diện biểu đồ) Sau nhập ngưỡng nhận L2, C3 thu cách tm tập Các ứng cử viên lựa chọn số nút kết nối cộng đồng, tránh để đọc toàn sở liệu bước lặp lại 3.3.4 Thuật tốn function subgraph(n){ var eles = cy.nodes(); var C = []; var C1 = []; var C2 = []; for (var i = 0; i < eles.size(); i++) { var a = eles[i]; // nodes neighbourgs of a for (var j = i+1; j < eles.size(); j++) { if(edge(a.id(),eles[j].id())) if(cn(a).intersection(cn(eles[j])).size() >= n2) C1.push(cy.collection([a,eles[j]])); } } // at this point, C1 contains all couples that belong to a (n+)graph while(C1.length > 0) { C.push(C1); // foreach communites in C1 for (var i = 0; i < C1.length; i++) { // the current community var com = C1[i] // the "new" nodes to the community var set = cn(com) for (var j = 0; j < set.size(); j++) { if(inCommunity(com,set[j]) && !C2.contains(com.union(set[j])) ){ C2.push(com.union(set[j])); } } } // at this point, C2 contains all k+2-communities C1 = C2; C2 = []; } console.log(C); return C; } 3.3.5 Demo toán Yêu cầu chung - Demo toán ứng dụng web, viết hoàn toàn HTML5, CSS3 JavaScript, với thư viện: + JQuery, để cải tiến tổng thể giảm mã +Cytoscape.js (js.cytoscape.org), để chuyển đổi đối tượng JavaScript thành biểu đồ, hiển thị thao tác đồ thị + Sheet.js Xslx.js (sheetjs.com), để đọc chuyển đổi phân tích cú pháp nhị phân tệp Excel vào đối tượng JavaScript - Tập tn test.js: chứa chức chính, khởi tạo đồ thị trình nghe hành động cho giao diện - Ứng dụng tối ưu hóa cho Google Chrome, kiểm tra đầy đủ trình duyệt IE Firefox Windows Linux Nó hỗ trợ Chrome, Edge, Firefox, Opera Safari Một số chức khơng có sẵn Internet Explorer phiên cũ Safari - Công cụ không cần máy chủ Bạn chạy đâu miễn bạn sở hữu tất tệp Thử nghiệm toán: + Xử lý liệu: - Tệp giải mã chuyển đổi từ nhị phân (.xls) sang chuỗi, sau chuyển đổi thành chuỗi chuỗi Mỗi mục có chứa bảng tính, phân cách dấu phẩy giá trị Nếu liệu theo định dạng nêu trên, chuỗi chia nhỏ chuyển đổi thành mảng theo định dạng: Bảng 3.2 Bảng người dùng sau giải mã ID User1 User1 User2 0.24 … UserN User2 … UserN … 0.11 … 0.34 … … … … 0.11 0.34 … 0.24 - `Nếu hai người dùng khơng phải bạn, số lượt thích nhận xét họ bị bỏ qua (0) Điểm số mảng thể trọng số mối quan hệ, đối xứng (trọng lượng tnh lần, sau chép vào hộp đối xứng) Mỗi cặp người sử dụng, công thức tnh toán sau:  (1 − )   + max   max   Cơng thức tính mối quan hệ “Like”, “Coms” Với maxLikes: Số cao thích "thích" mảng, maxComs: Số cao bình luận α: hệ số (bạn nhập gửi tệp Excel, để tăng giảm giá trị thích so với bình luận) - Cuối cùng, kết chuyển đổi thành mảng giống Apriori Bảng 3.3 Mảng chuyển đổi User1 User2 0.24 User1 UserN 0.11 User2 UserN 0.34 … … … sẵn sàng để nhập vào đồ thị tạo thành "đồ thị con" Đây định dạng liệu đầu vào đại cho bảng: bạn bè, thích, bình luận: Hình 3.5 Ví dụ định dạng worksheet: bạn bè, thích, bình luận Sau xử lý sơ liệu trang trước với tỷ lệ 0,7 thu đồ thị Hình 3.6 Đồ thị sau xử lý cuối cùng, áp dụng thuật tốn Light-FSG thơng qua chức đồ thị con, có liệu sau (hai cộng đồng cuối cùng): Hình 3.7 Bộ liệu sau xử lý Lưu ý: số viết tắt Excel, ID So sánh thuật toán Light-FSG với thuật tốn khác: Hình 3.8 So sánh thuật tốn Light-FSG với thuật tốn khác Giao diện chương trình: Hình 3.9 Giao diện chương trình Hình 3.10 Biểu diễn Mạng đồ thị 2D Hình 3.11 Biểu diễn Mạng đồ thị 3D 3.3.6 Đánh giá - Thứ nhất, lý thuyết đồ thị phức tạp, vấn đề clique NPComplete vấn đề, có nghĩa "dễ dàng" để xác minh giải pháp định cách mức Thời gian (ví dụ: "đồ thị thuộc đồ thị" hay "là biểu đồ Clique "), là" khó "để tìm giải pháp cách hiệu - Với ý nghĩ đó, tơi cố gắng để thực giải pháp cạn kiệt, mà đánh giá đồ thị xác minh quan hệ hay khơng, lưu nó Hỗ trợ đủ cao Giải pháp hồn tồn khơng tối ưu, hiểu biết Số kết hợp tăng lên theo cấp số nhân với số nút - Sau đó, tơi áp dụng thuật toán tham lam, mà lựa chọn giải pháp tối ưu địa phương lần lặp để tìm tối ưu tồn cầu Trước hệ, Đảm bảo kết hợp thực biểu đồ Bằng cách này, đồ thị chứa đồ không tồn không đánh giá Giải pháp tối ưu với vài nút với đồ thị mật độ thấp, thời gian thực có xu hướng phát triển thực nhanh với số nút nhiều Độ phức tạp tính tốn O(n3) Vì vậy, thực tốn với thuật tốn FSG hồn tồn khơng khả thi hiệu với quy mơ tốn đặt Do đó, tơi chuyển sang chọn thuật tốn Light-FSG lựa chọn tối ưu trường hợp số lý sau: + Thời gian duyệt đồ thị FSG nhiều thời gian thuật tốn phải tìm duyệt tất đồ thị phải giống (tương tự) + Để thực thuật tốn FSG phải có hệ thống máy chủ mạnh để tính tốn/tm duyệt đồ thị thời gian ngắn KẾT LUẬN HƯỚNG PHÁT TRIỂN Kết luận Mạng xã hội toán phát cộng đồng mạng xã hội vấn đề nhiều nhà nghiên cứu quan tâm thời đại Các toán phát cộng đồng ứng dụng rộng rãi nhiều lĩnh vực đời sống kinh tế, trị, xã hội, khoa học công nghệ, Luận văn đưa tổng quan mạng xã hội toán phát cộng đồng mạng xã hội, hướng tiếp cận điển hình cho tốn phát cộng đồng Luận văn trọng trình bày chi tiết thuật toán Light - FSG (Frequency SubGraph Mining) Hướng phát triển Hướng phát triển nghiên cứu luận văn mở rộng mô hình mạng xã hội, tính tốn trọng số bổ sung hướng cho đồ thị cho phù hợp như: - Đánh giá mức độ quan tâm cộng đồng mạng xã hội vấn đề quan tâm Nhằm có định hướng phát triển sách, chiến lược, kế hoạch kinh doanh phù hợp… - Đánh giá mức độ quan tâm cộng đồng mạng xã hội phim, sản phẩm, dịch vụ Từ có chiến lược quảng cáo phù hợp - Đánh giá mức độ ảnh hưởng cá nhân, tổ chức, công ty TÀI LIỆU THAM KHẢO Tài liệu tiếng việt Giang Thành Trung, “Một thuật toán khai phá đồ thị phổ biến liệu đồ thị” Hà Quang Thụy, Phan Xn Hiếu, Đồn Sơn, Nguyễn Trí Thành, Nguyễn Thu Trang, Nguyễn Cẩm Tú (2009), Giáo trình khai phá liệu, Nhà xuất Giáo dục GS.TS Trần Hữu Luyến, ThS Đặng Hoàng Ngân (7/2014), “Mạng xã hội: Khái niệm, đặc điểm, tính năng, áp lực ý nghĩa thực tiễn nghiên cứu”, Tạp chí Tâm lý học - Số (184) Tài liệu tiếng anh A.Ben-Dor, R Shamir, and Z Yakhini Clustering gene expression patterns.J Comput Biol., 6(3/4):281–292, 1999 V Satuluri, S Parthasarathy Scalable Graph Clustering Using Stochastic Flows: Applicatons to Community Discovery, ACM KDD Conference, 2009 Viet Anh Nguyen, Learning from graph data by puting graph on the latice, Viện Công nghệ thông tin Y Chi, Y Yang, Y Xia, and R.R Muntz, CMTreeMiner: Mining Both Closed and Maximal Frequent Subtrees, Proc Eighth Pacific Asia Conf Knowledge Discovery and Data Mining (PAKDD ’04), May 2004 M Kuramochi, G Karypis,Finding frequent patterns in a large sparsegraph Data Mining and Knowledge Discovery, 11(3): pp 243– 271, 2005 Jiyang Chen, Community Mining-Discovery Communites in Social Network, Thesis, University of Alberta, 2010 10 Santo Fortunato (2010), Community detection in graphs, Technical Report, Complex Networks and Systems Lagrange Laboratory, ISI Foundation, Torino, ITALY, arXiv:0906.0612v2 (2010) 11 M Girvan, M E J Newman (2002) Community structure in social and biological networks, Proc Natl Acad Sci., 99(12), 7821 (2002) 12 Steve Gregory: An Algorithm to Find Overlapping Community Structure in a Networks.PKDD 2007 Website 13 http://www.mediative.com/network-analysis-seo/ 14 https://www.facebook.com/ 15 http://tailieudientu.lrc.tnu.edu.vn/chi-tiet/mang-xa-hoi-khai-niemdac- diem-tinh-nang-ap-luc-va-y-nghia-trong-thuc-ten-va-nghiencuu44022.html ... tắt đồ thị (graph summarization), khai phá đồ thị phổ biến (frequent graph mining)… Khai phá đồ thị phổ biến hướng nghiên cứu sôi động năm gần lĩnh vực khai phá liệu đồ thị Dựa tảng toán khai phá. .. phá luật kết hợp, khai phá đồ thị phổ biến nhằm tìm kiếm đồ thị phổ biến (tương ứng với tập mục phổ biến) Các đồ thị phổ biến tảng để giải toán dự báo không gian liệu đồ thị có ứng rộng rãi nhiều... định đồ thị phổ biến đồ thị lớn Như trình bày trên, lĩnh vực khai phá liệu đồ thị thu kết quan trọng lý thuyết có ứng dụng hiệu việc giải số toán thực tiễn.Một toán ứng dụng khai phá đồ thị phổ biến

Ngày đăng: 09/10/2018, 15:26

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

Tài liệu liên quan