1. Trang chủ
  2. » Giáo Dục - Đào Tạo

báo cáo môn học phân tích mạng xã hội tìm cluster trong ứng dụng uit sna

12 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Tìm Cluster Trong Ứng Dụng UIT_SNA
Tác giả Mai Thiện Ân, Trần Đăng Khoa, Lương Trung Nghĩa, Nguyễn Ngọc Sơn
Người hướng dẫn PGS.TS Đỗ Phúc, ThS Nguyễn Thị Anh Thư
Trường học ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Chuyên ngành Phân Tích Mạng Xã Hội
Thể loại Báo Cáo
Năm xuất bản 2015
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 12
Dung lượng 0,9 MB

Nội dung

Find Clustering Page 1 LỜI CẢM ƠN Nội dung của đồ án nhóm tìm thuật toán gom cụm.. Và để hoàn thành đồ án này, ngoài nổ lực của cả nhóm còn có sự giúp đỡ rất lớn từ PGS.TS Đỗ Phúc và cô

Trang 1

Find Clustering Page 0

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

 BỘ MÔN KHOA HỌC VÀ KỸ THUẬT THÔNG TIN

BÁO CÁO MÔN HỌC PHÂN TÍCH MẠNG XÃ HỘI Nhóm 2: TÌM CLUSTER TRONG ỨNG DỤNG UIT_SNA

Giảng viên hướng dẫn: PGS TS Đỗ Phúc ThS Nguyễn Thị Anh Thư

Sinh viên thực hiện:

2 Trần Đăng Khoa 13520398 3 Lương Trung Nghĩa 13520545 4 Nguyễn Ngọc Sơn 13520705

Lớp: IS353.G12

Khóa: 08

TP Hồ Chí Minh, tháng 12 năm 2015

Trang 2

Find Clustering Page 1

LỜI CẢM ƠN

Nội dung của đồ án nhóm tìm thuật toán gom cụm Do thời gian cũng như vốn tài liệu ít , khả năng tiếng anh còn kém , kiến thức hiểu biết và khả năng viết code của nhóm có hạn nên còn nhiều thiếu sót Và để hoàn thành đồ án này, ngoài nổ lực của cả nhóm còn có sự giúp đỡ rất lớn từ PGS.TS Đỗ Phúc và cô Nguyễn Th nh Thư , người truyền đạt ý tưởng và những vấn đề quan trọng về thuật toán K-Means Chúng em xin chân thành cảm ơn

Ngoài ra, nhóm xin cảm ơn các nhóm khác hỗ trợ giúp nhóm trong đồ án này

UIT, tháng 12 năm 2015

Trang 3

Find Clustering Page 2 MỤC LỤC

LỜI CẢM ƠN 1

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 3

1 Clustering 3

2 Đinh nghĩa thuật toán K-Means 3

3 Các biến thể của thuật toán K-Means 4

3.1 Thuận toán K-Medoid 4

3.2 Thuật toán Fuzzy C-Means 4

4 Ứng dụng 4

CHƯƠNG 2: HIỆN THỰC CHƯƠNG TRÌNH 5

1 Cấu trúc dữ liệu 5

2 Các chức năng 6

CHƯƠNG 3: THỬ NGHIỆM Kết luận, hướng phát triển 8

CHƯƠNG 4: KẾT LUẬN VÀ ĐỀ XUẤT HƯỚNG PHÁT TRIỂN 10

Tài liệu tham khảo 11

Trang 4

Find Clustering Page 3

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

2 Đinh nghĩa thuật toán K-Means

- K-Means là thuật toán rất quan trọng và được sử dụng phổ biến trong kỹ thuật

phân cụm Tư tưởng chính của thuật toán K-Means là tìm cách phân nhóm các đối tượng (objects) đã cho vào K cụm (K là số các cụm được xác đinh trước, K nguyên dương) sao cho tổng bình phương khoảng cách giữa các đối tượng đến tâm nhóm (centroid) là nhỏ nhất

Trang 5

Find Clustering Page 4

3 Các biến thể của thuật toán K-Means3.1 Thuận toán K-Medoid

- Thuật toán K-Medoid tương tự thuật toán K-Means, mỗi cụm được đại diện bởi một trong số các đối tượng của cụm Thông thường thì điểm gần vector trọng tâm sẽ được chọn làm đại diện của cụm

- Thuật toán K-Medoid khắc phục được yếu điểm là loại được nhiễu trong thuật toán K-Means Nhưng bù lại độ phức tạp trong thuật toán lại rất lớn

3.2 Thuật toán Fuzzy C-Means

- Thuật toán Fuzzy C-Means có chiến lược phân cụm giống như K-Means Nhưng có một điểm khác biệt là K-Means phân cụm dữ liệu cứng (một đối tượng có thể thuộc nhiều cụm khác nhau)

- Fuzzy C-Means có khả năng phân cụm trong không gian đa chiều và có khả năng phân cụm tối ưu toàn cục Tuy nhiên thuật toán này khá phức tạp và tốc độ hội tụ phụ thuộc vào trạng thái ban đầu của ma trận thành viên

4 Ứng dụng

 Phân cụm tài liệu web 1 Tìm kiếm và trích rút tài liệu 2 Tiền xử lý tài liệu: Quá trình tách từ và vecto hóa tài liệu: tìm kiếm và thay

thế các từ bới chỉ số của từ đó trong từ điển.Biểu diễn dữ liệu dưới dạng vectơ

3 Áp dụng K-Mean Kết quả trả về là các cụm tài liệu và các trọng tâm tương ứng  Phân đoạn ảnh: là từ một ảnh đầu vào, thông qua các thuật toán phân cụm mà

tách thành các vùng miền khác nhau và các đối tượng được tách ra đó được gọi là ảnh con

Trang 6

Find Clustering Page 5

CHƯƠNG 2: HIỆN THỰC CHƯƠNG TRÌNH

1 Cấu trúc dữ liệu.

 Cấu trúc dữ liệu của chương trình này sử dụng mảng hai chiều để lưu trữ dữ liệu Vì chương trình này chỉ sử lý được các đồ th nhỏ nên việc sử dụng mảng dễ dàng hơn

- Thuật toán K-Means gồm các bước cơ bản sau:

Bước 1: Khởi tạo

Chọn k đối tượng mj (j=1, ,k) là trọng tâm ban đầu của k cụm từ tập dữ

liệu (việc lựa chọn này có thể là ngẫu nhiên hoặc theo kinh nghiệm)  Bước 2: Tính toán khoảng cách

Đối với mỗi đối tượng Xi (1 i n) , tính toán khoảng cách từ nó tới mỗi trọng tâm mj với j=1, ,k, sau đó tìm trọng tâm gần nhất đối với mỗi đối

tượng  Bước 3: Cập nhật lại trọng tâm

Đối với mỗi j=1, ,k, cập nhật trọng tâm cụm mj bằng cách xác đ nh trung

bình cộng của các vector đối tượng dữ liệu  Bước 4: Điều kiện dừng

Lặp các bước 2 và 3 cho đến khi các trọng tâm của cụm không thay đổi - Thuật toán K-Means được mô tả như sau:

Trang 7

Find Clustering Page 6

Figure 1-Mô tả thuật toán qua lưu đồ

2 Các chức năng.

 Chuẩn hóa dữ liệu thô: privatedouble[][] Normalized(double[][] rawData){} Có một số cách để bình thường hóa dữ liệu Bản demo này sử dụng bình thường Gaussian Mỗi v nguyên giá tr trong một cột được chuyển đến một giá tr v’ bằng cách trừ đi trung bình cộng của tất cả các giá tr trong các cột và sau đó chia cho độ lệch chuẩn của các giá tr Giá tr bình thường sẽ gần như luôn luôn được giữa -10 và 10

 Khoảng cách Euclide: privatedouble Distance(double[] tuple, double[] mean){}

Khoảng cách Euclide giữa hai vectơ là căn bậc hai của tổng các chênh lệch bình phương giữa các giá tr thành phần tương ứng

Ví dụ, giả sử một số dữ liệu tuple d0 = {68, 140} và ba phương tiện chùm là c0 = {66.0, 120.0}, {c1 = 69,0, 160,0}, và c2 = {70.0, 130.0} Khoảng cách giữa d0 và c0 = sqrt ((68-66,0) ^ 2 + (140-120,0) ^ 2) = 20,10 Khoảng cách giữa d0 và c1 = sqrt ((68-69,0) ^ 2 + (140-160,0) ^ 2) = 20,22 Và khoảng cách giữa d0 và c2 = sqrt ((68-70,0) ^ 2

Trang 8

Find Clustering Page 7 + (140-130,0) ^ 2) = 10.20 Các tuple dữ liệu là gần nhất để có nghĩa là c2, và do đó sẽ được gán cho cụm 2

Trang 9

Find Clustering Page 8

CHƯƠNG 3: THỬ NGHIỆM

1 Open file

Figure 2: Mở file

Trang 10

Find Clustering Page 9

2 Find clustering

Figure 3: Find clustering

Trang 11

Find Clustering Page 10

CHƯƠNG 4: KẾT LUẬN VÀ ĐỀ XUẤT HƯỚNG PHÁT TRIỂN

2 Hướng phát triển

- Vấn đề đầu tiên là về đồ th lớn Để giải quyết vấn đề này nhóm có cách giải quyết là dùng thuật toán Clique Percolation Method (viết tắt là CPM) để gom cụm trên đồ th lớn (> 1000 đỉnh) Phần tài liệu liên quan đến thuật toán CPM nhóm đặt trong tập tin “k-cliques.zip”

- Vấn đề thứ hai là về việc hiển th dữ liệu để gây ấn tượng với người dùng Các đỉnh chung nhóm có chung đặc trưng với nhau thì set màu giống nhau, các đỉnh khác nhóm thì set màu khác nhau

Trang 12

Find Clustering Page 11

Tài liệu tham khảo

1 https://en.wikipedia.org/wiki/K-means_clustering 2 https://visualstudiomagazine.com/Articles/2013/12/01/K-Means-Data-

Clustering-Using-C.aspx?Page=1 3 http://www.alglib.net/dataanalysis/clustering.php

4 http://www.codeding.com/articles/k-means-algorithm

Ngày đăng: 31/08/2024, 15:31

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w