Thực nghiệm và đánh giá Thực nghiệm

Một phần của tài liệu Phát hiện cộng đồng trong mạng xã hội khả năng ứng dụng cho mạng go vn (Trang 40 - 45)

B ước 3: Dựa trên đồ thị vừa xây dựng được, tôi tiến hành cài đặt thuật toán CONGA cho đồ thịđó, dựa trên bộ thư viện mà tác giả thuật toán cung cấp Đầu

3.3.5. Thực nghiệm và đánh giá Thực nghiệm

Thực nghiệm

Từ dữ liệu người dùng mạng Go.vn thu thập được chúng tôi tiến hành cho chạy qua phần mềm CONGA , kết quả thực nghiệm như sau :

Hình 3.4: Kết quả chạy thuật toán CONGA phát hiện cộng đồng trong mạng Go.vn

Nguồn: Kết quả trả về từ phần mềm CONGA trên màn hình Ms Dos Kết quả này chỉ rõ đầu vào là một đồ thị có 500 đỉnh và 5310 cạnh, đầu ra là 22 cộng đồng trong đó có một cộng đồng lớn nhất chứa 479 đỉnh .Tống số phép phân chia đỉnh là 2738 và danh sách mỗi đỉnh được phân chia bao nhiêu lần được liệt kê phía dưới . Tổng số pha tính độ trung gian là 8048 pha, thời gian tổng cộng cho việc phân chia cộng đồng là : 2194364 ms ~ 37 phút

Đánh giá

Để đánh giá một thuật toán phát hiện cộng đồng, S.Fortunato [3] trình bày một phương pháp đó là sử dụng một đồ thị chuẩn đã được phân chia thành các cộng đồng từ trước, sau đó áp dụng thuật toán cần đánh giá vào đồ thị chuẩn đó và so sánh độ tương tự giữa cộng đồng thu được với cộng đồng được xác định từ trước, từ đó xác định độ chính xác của thuật toán so với thực tế.

Cụ thể hơn, tác giả giới thiệu một phương pháp là phương pháp đếm cặp. Giả sử một phép phân chia đồ thị thành hai cộng đồng con, ký hiệu phép phân chia là X. Áp dụng thuật toán cần đánh giá phân chia được đồ thị thành hai cộng đồng con tương ứng như trên thu được phép phân chia khác ký hiệu là Y. Tác giả ký hiệu a11 là số cặp đỉnh mà thuộc cùng cộng đồng ở cả 2 phép phân chia và a00 là số cặp đỉnh mà khác cộng đồng ở cả 2 phép phân chia, a10 là số cặp đỉnh mà cùng một cộng đồng trong X và khác cộng đồng trong Y, a01 là số cặp đỉnh mà cùng một cộng đồng trong Y và khác cộng đồng trong X. Từ đó tác giả nêu ra một vài độ đo đánh giá, trong đó tôi quan tâm đến 2 phép đánh giá:

(1) Hệ số Rand: được Rand định nghĩa năm 1971, là tỉ số giữa số cặp đỉnh được thuật toán phân đúng ở 2 phân vùng chia cho tổng số cặp đỉnh

(2) Hệ số Jaccard: là tỉ số giữa số cặp đỉnh được phân vào cùng một cộng đồng trong cả 2 phép phân chia và số cặp đỉnh được phân vào cùng một cộng đồng trong ít nhất một phép phân chia.

Bảng 3.3: Độđo Jaccard và Rand của 2 thuật toán CONGA và Girvan và Newman áp dụng cho mạng karate ở hình 1.3

RAND Index Jaccard Index

CONGA 0.5989 0.4360

Bảng 3.3 chỉ ra kết quả độ đo Jaccard và Rand của 2 thuật toán CONGA và Girvan and Newman áp dụng cho mạng karate miêu tả ở Hình 1.3 của Chương 1. Kết quả của thuật toán Girvan and Newman là cao hơn vì Girvan and Newman tìm ra kết quả gần giống với thực tế (chỉ khác đúng 1 đỉnh) trong khi kết quả của CONGA thấp vì CONGA tìm ra kết quả khác hẳn với thực tế (8 đỉnh bên cộng đồng này bị chuyển sang cộng đồng kia cộng thêm một đỉnh thuộc cả hai cộng đồng là đỉnh 1)

Dựa vào bảng 2 có thểđưa ra nhận xét: với mạng karate, một mạng đơn giản, rõ ràng và không tồn tại chồng chéo cộng đồng , thì áp dụng thuật toán Girvan and Newman đưa lại hiệu quả tốt hơn so với thuật toán CONGA.

Đặc biệt khi áp dụng vào mạng ở hình 1.5 là mạng biểu diễn cá heo ở Lusseau, cả 2 thuật toán CONGA và Girvan and Newman đều đưa ra được phép phân chia giống với thực tế, tức độ đo Rand và Jaccard đều bằng 1. Tuy nhiên có khác một chút là thuật toán CONGA tìm ra 2 đỉnh overlap thuộc cộng đồng lớn hơn.

Ngoài 2 độ đo ở trên, Fortunato [3] còn trình bày nhiều độ đo khác dựa vào lý thuyết thông tin như độ đo lượng thông tin Shannon do Mackay đề xuất năm 2003, hay độ đo lượng thông tin tương hỗ được chuẩn hóa do Danon và cộng sựđề xuất năm 2005... Chi tiết các độđo này được trình bày trong tài liệu [3].

Steve Gregory trong [6] cũng nêu ra hai độ đo để đánh giá thuật toán phát hiện cộng đồng của ông ta. Hai độ đo mà tác giả đề xuất là vad (vertex average

degree – tạm dịch là bậc trung bình của đỉnh) và overlap. Hai độ đo này được sử dụng để đánh giá chất lượng của sự phân cộng đồng mà có khả năng xảy ra chồng chéo lẫn nhau. Các độ đo này được thể hiện bởi các công thức sau:

Trong đó S là đồ thị, C là cộng đồng trong đồ thị, và E(C) là số các cạnh trong C Áp dụng tính toán hai độ đo này cho hai mạng chuẩn ở trên và cho đồ thị tôi xây dựng được, ta có bảng 3.4.

Bảng 3.4 : Độđô vad và overlap cho mạng Karate, Cá heo, và mạng Go.vn

vad Overlap

Mạng Karate 4.45 1.03

Mạng cá heo 4.91 1.03

Mạng Go.vn 5.78 1.05

Trong đó, độ đo vadoverlap trong mạng của tôi xây dựng dựa trên một phần dữ liệu của mạng xã hội Go.vn được tính toán khi phân chia mạng thành 2 cộng đồng con. Ta cũng lưu ý rằng thuật toán CONGA có thể chia mạng thành nhiều cộng đồng hơn nữa, khi đó độ đo vadoverlap sẽ thay đổi.

Đối với những mạng không cộng đồng trong thực tế như mạng xã hội tôi xây dựng được từ mạng Go.vn , tôi áp dụng một phương pháp đánh giá là sử dụng các cộng đồng được phân chia theo thuật toán, lấy một phần các đỉnh làm tập huấn luyện và một phần còn lại làm tập test và cho qua máy phân lớp SVM để kiểm tra độ chính xác. Tôi đánh giá dựa vào phương pháp đánh giá 10-folds trong đó tỉ lệ giữa dữ liệu train và dữ liệu test là 9:1.Dữ liệu train là các đỉnh được biểu diễn dưới dạng vector với số chiều là tổng số đỉnh của đồ thị, tức là 500 chiều.Với mỗi đỉnh kề với đỉnh được biểu diễn thì thành phần tương ứng với số thứ tự của đỉnh đó trong vector nhận giá trị là 1. Các thành phần còn lại của vector nhận giá trị là 0 tương ứng với các đỉnh không kề với đỉnh cần biểu diễn

Theo một phép phân chia cộng đồng dựa trên thuật toán CONGA, tôi thu được 2 cộng đồng con, một cộng đồng lớn và một cộng đồng nhỏ. Tôi lấy ở mỗi cộng đồng ra 100 đỉnh và biểu diễn các đỉnh này dưới dạng vector. Các vector được gán nhãn 1 và 2 tương ứng với cộng đồng lớn và cộng đồng nhỏ. Sau đó chia tập đỉnh này ra làm hai phần, một phần để làm tập huấn luyện và một phần làm tập test(theo cách phân chia như trên đã trình bày). Cho tập huấn luyện đi qua một máy

phân lớp SVM và kiểm tra mô hình với tập test. Ta thu được độ chính xác của phép phân lớp dựa trên SVM so với thuật toán phân chia cộng đồng CONGA (Bảng 3.5).

Bảng 3.5: Độ chính xác của phân lớp SVM dựa trên phân chia cộng đồng của thuật toán CONGA

Precision(%) Recall(%) F-measure(%)

Fold 1 82.43% 77.95% 80.30% Fold 2 78.57% 84.31% 80.68% Fold 3 91.34% 91.34% 91.34% Fold 4 65.15% 90.30% 76.00% Fold 5 78.49% 83.61% 82.48% Fold 6 73.48% 78.92% 75.06% Fold 7 84.71% 91.30% 89.87% Fold 8 83.69% 83.69% 83.69% Fold 9 68.66% 60.53% 65.00% Fold 10 80% 91.34% 86.71% Trung bình 78.65% 83.33% 81.11%

Nhận xét: Dựa vào bảng kết quả thu được có thể đưa ra kết luận rằng việc đánh giá thuật toán CONGA dựa vào phân lớp SVM là tương đối khả quan. Độ đo F1 trung bình cho 10 fold là 81.11%, trong đó có fold độ đo F1 lên tới 91.34%.

KẾT LUẬN

Mạng xã hội và bài toán phát hiện cộng đồng trong mạng xã hội là những vấn đề được nhiều nhà nghiên cứu quan tâm trong thời đại hiện nay.Các bài toán phát hiện cộng đồng được ứng dụng rộng rãi trong nhiều lĩnh vực của đời sống như kinh tế, chính trị, xã hội, khoa học công nghệ,...

Luận văn đã đưa ra tổng quan về mạng xã hội và bài toán phát hiện cộng đồng trong mạng xã hội, cũng như những hướng tiếp cận điển hình cho bài toán phát hiện cộng đồng. Luận văn chú trọng trình bày chi tiết về họ thuật toán Girvan- Newman trong đó bao gồm thuật toán Girvan-Newman nguyên thủy và các cải tiến của nó nhằm tối ưu hiệu quả tính toán. Trong đó luận văn chọn thuật toán CONGA được phát triển từ Girvan and Newman bởi Steve Gregory năm 2007 làm thuật toán để cài đặt thử nghiệm trên mô hình mạng xã hội tôi xây dựng được từ mạng Go.vn. Luận văn đưa ra mô hình cũng như thực nghiệm về xây dựng mô hình mạng xã hội dựa trên mạng xã hội trực tuyến Go.vn và cài đặt thuật toán phát hiện cộng đồng trên mô hình xây dựng được. Kèm theo đó tôi cũng cài đặt thử nghiệm thuật toán Girvan and Newman và thuật toán CONGA với một số mạng xã hội trên thực tế và đưa ra đánh giá.

Hướng phát triển nghiên cứu tiếp theo của luận văn là mở rộng mô hình mạng xã hội, tính toán trọng số cũng như bổ xung hướng cho đồ thị cho phù hợp. Tiếp theo tôi cũng dự định tìm hiểu và cài đặt thêm một số thuật toán thuộc họ Givan and New cho mạng xã hội và đưa ra phương án phát triển thuật toán CONGA một cách hợp lý cho đồ thị có trọng số và có hướng.

Một phần của tài liệu Phát hiện cộng đồng trong mạng xã hội khả năng ứng dụng cho mạng go vn (Trang 40 - 45)

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

(45 trang)