Tiểu luận môn khai phá thông tin MỘT SỐ THUẬT TOÁN VỀ GOM CỤM

51 1K 5
Tiểu luận môn khai phá thông tin MỘT SỐ THUẬT TOÁN VỀ GOM CỤM

Đ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

KHAI PHÁ DỮ LIỆU Phụ lục Giới thiệu trang 5 PHẦN A Một số thuật toán gom cụm trang 6 1. Gom cụm bằng phân hoạch trang 7 a. Thuật toán K-Means trang 7 b. Thuật toán PAM trang 12 c. Thuật toán CLARA trang 15 d. Thuật toán CLARANS trang 17 2. Gom cụm dữ liệu bằng phân cấp trang 21 a. Thuật toán BIRCH trang 21 b. Thuật toán CURE trang 26 c. Thuật toán ANGNES trang 28 d. Thuật toán DIANA trang 28 e. Thuật toán ROCK trang 30 f. Thuật toán CHAMELEON trang 31 3. Gom cụm dựa trên mật độ trang 32 a. Thuật toán DBSCAN trang 32 b. Thuật toán OPTICS trang 34 c. Thuật toán DENCLUDE trang 35 4. Gom cụm dữ liệu dựa trên mô hình trang 36 a. Thuật toán EM trang 36 b. Thuật toán COBWEB trang 38 5. Gom cụm mờ trang 38 a. Thuật toán FCM trang 39 6. Các phương pháp gom cụm khác trang 40 PHẦN B Ứng dụng thuật toán k-means phân nhóm màu ảnh trang 41 Kết luận trang 56 1 KHAI PHÁ DỮ LIỆU Giới thiệu Trong cuộc sống, với khối lượng thông tin khổng lồ trong mọi lĩnh vực kinh tế, tự nhiên, khoa học, lịch sử… và cả khoa học huyền bí. Việc đưa ứng dụng công nghệ thông tin nhầm tìm ra những quy luật tồn tại trong khối dữ liệu đó là một yêu cầu cần thiết giúp con người nghiên cứu, đánh giá, đưa ra những định hướng cho hoạt động ngành nghề của mình. Từ những yêu cầu trên, lĩnh vực Data Mining đã được ra đời với mục đích giải quyết vấn đề phân tích dữ liệu nhầm tìm ra những quy luật, thông tin quý giá. Với sự hướng dẫn của PGS.TS. Đỗ Phúc tôi được tiếp cận một môn khoa học khởi đầu cho những giá trị tư duy. Tôi xin chân thành cám ơn Thầy đã tận tình hướng dẫn, chia sẽ những kiến thức, kinh nghiệm trong thực tiển để, làm tiền đề cho quá trình học tập và phát triển sau này. Xin cảm ơn! 2 KHAI PHÁ DỮ LIỆU Phần A MỘT SỐ THUẬT TOÁN VỀ GOM CỤM Có nhiều thuật toán để giải quyết vấn đề Data Mining: 1. Gom cụm dữ liệu bằng phân hoạch a. Thuật toán K-Means b. Thuật toán PAM c. Thuật toán CLARA d. Thuật toán CLARANS 2. Gom cụm dữ liệu bằng phân cấp a. Thuật toán BIRCH b. Thuật toán CURE c. Thuật toán ANGNES d. Thuật toán DIANA e. Thuật toán ROCK f. Thuật toán Chameleon 3. Gom cụm dữ liệu dựa trên mật độ a. Thuật toán DBSCAN b. Thuật toán OPTICS c. Thuật toán DENCLUDE 4. Gom cụm dữ liệu dựa trên mô hình a. Thuật toán EM 60 b. Thuật toán COBWEB 5. Gom cụm mờ a. Thuật toán FCM 6. Các phương pháp gom cụm dữ liệu khác a. Thuật toán di truyền GAS b. J-Means c. Sting d. Thuật toán CLIQUE e. Thuật toán WaveCluste 3 KHAI PHÁ DỮ LIỆU I. Gom cụm dữ liệu bằng phân hoạch 1. Thuật thoán k-means K- means là thuật toán phân cụm mà định nghĩa các cụm bởi trung tâm của các phần tử. Phương pháp này dựa trên độ đo khoảng cách của các đối tượng dữ liệu trong cụm. Nó được xem như là trung tâm của cụm. Như vậy, nó cần khởi tạo một tập trung tâm các trung tâm cụm ban đầu, và thông qua đó nó lặp lại các bước gồm gán mỗi đối tượng tới cụm mà trung tầm gần, và tính toán tại trung tâm của mỗi cụm trên cơ sở gán mới cho các đối tượng. Quá trình này dừng khi các trung tâm hội tụ Được phát triển bởi nhiều nhà nghiên cứu khác nhau, điển hình là Lloyd (1957, 1982), Forgey (1965), Friedman và Rubin (1967), McQueen (1967). Thuật thao tác trên một tập các vectơ d-chiều, D = {xi| i = 1 N} trong đó xi ∈R d là điểm dữ liệu thứ i. Thuật toán bắt đầu bằngcách chọn k điểm làm trọng tâm.Kỹ thuật để chọn các điểm hạt giống này là “ngẫu nhiên”. Sau đó thuật toán gọi hai bước sau cho đến khi hội tụ (không còn thay đổi nữa): *Bước 1. Gán dữ liệu: Mỗi điểm dữ liệu được gán vào nhóm nào gần nhất. Đây là việc phân chia dữ liệu. *Bước 2. Tính lại trọng tâm: đại diện của mỗi nhóm được tính lại bằng với trung bình (mean) của các điểm dữ liệu thuộc nhóm. 4 KHAI PHÁ DỮ LIỆU Nếu các điểm dữ liệu được tính bởi xác suất (probability measure/ weights) thì đại diện được tính bằng giá trị kì vọng (expectation) của dữ liệu. Khoảng cách giữa hai đối tượng Khoảng cách Minkowski: Trong đó i=(X i1 , X i2 , X ip ) và j=(X j1 , X j2 , X jp ) là hai đối dữi liệu p-chiều và q là số nguyên dương Nếu q = 1, d là khoảng cách Manhattan Khoảng cách giữa hai đối tượng Nếu q = 2, d là khoảng cách Euclidean: Các tính chất của khoảng cách Euclidean d(i,j)>0 d(i,i)=0 5 KHAI PHÁ DỮ LIỆU d(i,j)=d(j,i) d(i,j)≤d(i,k)+d(k,j) Các bước cơ bản của thuật toán K-means K- means biểu diễn các cụm bởi các trọng tâm của các đối tượng trong thuật toán K-means chi tiết được trình bày : 6 Input : Số cụm k và các trọng tâm cụm Output : các cụm C [i ](1 ≤ i ≤ k ) và hàm tiêu chuẩn E đạt giá trị tối thiểu. Begin Bước 1 : Khởi tạo Chọn k trọng tâm ban đầu trong không gian Rd (d là số k chiều của 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ểm X i (1 ≤ i ≤ k ) , tính toán khoảng cách của nó tới mỗi trọng tâm m j (1 ≤ i ≤ k ) . Sau đó tìm trọng tâm gần nhất đối với điểm. Bước 3 : Cập nhật lại trọng tâm Đối với mỗi (1 ≤ i ≤ 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ác vecto đối tượng dữ liệu. Điều kiện dừng : Lặp lại các bước 2 và 3 cho đến khi các trọng tâm của cụm không thay đổi. End. BEGIN 1. Nhập n đối tượng dữ liệu 2. Nhập k cụm dữ liệu 3. MSE = +∞ 4. For I = 1 to k do mi = X i+(i−1)*[n/k ] ; // khởi tạo k trọng tâm 5. Do { 6. OldMSE = MSE 7. MSE’ = 0 8. for j = 1 to k do 9. {m’[j]=0; n’[j]=0} 10. End for 11. For I =1 to n do 12. For j =1 to k do 13. Tính toán khoảng cách Euclide bình phương : D2(x[i]; m[j] 14. Endfor 15. Tìm trọng tâm gần nhất m[h] tới X[i] 16. m’[h] = m’[h] + X[i] ; n’[h] = n’[h]+1; 17. MSE’=MSE’ + D2(x[i]; m[j] 18. Endfor 19. n[j] = max(n’[j], 1); m[j] = m’[j]/n[j]; 20. MSE’=MSE’ 21. } while (MSE’<=OldMSE) END KHAI PHÁ DỮ LIỆU Trong đó : - MSE : Sai số hay là hàm tiêu chuẩn - D2(x[i]; m[j] : Khoảng cách Euclide từ đối tượng thứ i tới trọng tâm j; - OldMSE m’[j], n’[j] : Biến tạm lưu giá trị cho trạng thái trung gian cho các biến tương ứng Chất lượng của thuật toán K –mean phụ thuộc nhiều vào các tham số đầu vào như: số cụm k, và k trọng tâm khởi tạo ban đầu. Trong trường hợp các trọng tâm khởi tạo ban đầu mà quá lệch so với các trọng tâm cụm tự nhiên thì kết quả phân cụm của K – means là rất thấp, nghĩa là các cụm dữ liệu được khám phá rất lệch so với các cụm trong thực tế. 7 KHAI PHÁ DỮ LIỆU Trên thực tế, chưa có một giải pháp nào để chọn tham số đầu vào, giải pháp thường được sử dụng nhất là thử nghiệm với các giá trị đầu vào , giải pháp thường được sử dụng nhất là thử nghiệm với giá trị đầu vào k khác nhau rồi sau đó chọn giải pháp tốt nhất. 2. Thuật toán PAM Thuật toán PAM là thuật toán mở rộng của thuật toán K-means nhằm có khả năng xử lý hiệu quả đối với dữ liệu nhiễu hoặc phần tử ngoại lai, PAM sử dụng các đối tượng medoid để biểu diễn cho các cụm dữ liệu, một đối tượng medoid là đối tượng đặt tại vị trí trung tâm nhất bên trong mỗi cụm. Vì vậy, đối tượng medoid ít bị ảnh hưởng của các đối tượng ở rất xa trung tâm, trong khi đó các trọng tâm của thuật toán K – means lại rất bị tác động bởi các điểm xa trung tâm này. Ban đầu, PAM khởi tạo k đối tượng medoid và phân phối các đối tượng còn lại vào các cụm với đối tượng medoid đại diện tương ứng sao cho chúng tương tự đối với medoid trong cụm nhất. Giả sử Oj là đối tượng không phải medoid mà Om là một đối tượng medoid, khi đó ta nói O j thuộc về cụm có đối tượng medoid là O m làm đại diện nếu d(O j , O m ) = min Oe (O j , O e ); trong đó d(O j , O m ) là độ phi tương tự giữa O j và O e , min Oe là giá trị nhỏ nhất của độ phi tương tự giữa O j và tất cả các đối tượng medoid của các cụm dữ liệu. chất lượng của mỗi cụm được khám phá được đánh giá thông qua độ phi tương tự trung bình giữa một đối tượng và đối tượng medoid tương ứng với cụm của nó, nghĩa là chất lượng phân cụm được đánh giá thông qua chất lượng của tất cả các đối tượng medoid. Độ phi tương tự được xác định bằng độ đo khoảng cách, thuật toán PAM được áp dụng cho dữ liệu không gian. 8 KHAI PHÁ DỮ LIỆU Để xác định các medoid, PAM được áp dụng cho dữ liệu không gian. Để xác định các medoid, PAM bắt đầu bằng cách lựa chon k đối tượng medoid bất kỳ. Sau mỗi bước thực hiện , PAM cố gắng hoán chuyển giữa đối tượng Medoid Om và một đối tượng Op, không phải là medoid, miễn là sự hoán chuyển này nhằm cải tiến chất lượng của phân cụm, quá trình này kết thúc khi chất lượng phân cụm không thay đổi. Chất lượng phân cụm được đánh giá thông qua hàm tiêu chuẩn, chất lượng phân cụm tốt nhất khi hàm tiêu chuẩn đạt giá trị tối thiểu. PAM tính giá trị C jmp cho tất cả các đối tượng Oj để làm căn cứ cho việc hoán chuyển giữa Om và Op. Om : là đối tượng medoid hiện thời cần được thay thế : Op : là đối tượng medoid mới thay thế cho Om; Oj : Là đối tượng dữ liệu ( Không phải medoid) có thể được di chuyển sang cụm khác; Oj,2 : Là đối tượng medoid hiện thời gần đối tượng Oj nhất Các bước thực hiện thuật toán PAM 9 Input : Tập dữ liệu có n phần tử, số cụm k. Output : k cụm dữ liệu sao cho chất lượng phân hoạch là tốt nhất. BEGIN 1. Chọn k đối tượng medoid bất kỳ; 2. Tính TCmp cho tất cả các cặp đối tượng Om, Op. Trong đó, Om là đối tượng medoid và Op là đối tượng không phải medoid; 3. Chọn cặp đối tượng Om và Op. Tính MinOm, MinOp, TCmp, nếu TCmp là âm thay thế Om bởi Op và quay lại bước 2. Nếu TCmp dương, chuyển sang bước 4; 4. Với mỗi đối tượng không phải medoid, xác định đối tượng medoid tương tự với nó nhất đồng thời gán nhãn cụm cho chúng. END. KHAI PHÁ DỮ LIỆU 3. Thuật toán CLARA Thuật toán CLARA được đưa ra nhằm khắc phục nhược điểm của thuật toán PAM trong trường hợp giá trị k và n là lớn. CLARA tiến hành trích mẫu cho tập dữ liệu có n phần tử, nó áp dụng thuật toán PAM cho mẫu này và tìm ra các đối tượng trung tâm medoid cho mẫu được trích ra từ dữ liệu này. Nếu mẫu dữ liệu được trích theo một cách ngẫu nhiên, thì các medoid của nó xấp xỉ với các medoid của toàn bộ tập dữ liệu ban đầu. Để tiến tới một xấp xỉ tốt hơn, CLARA đưa ra nhiều cách lấy mẫu và thực hiện phân cụm cho mỗi trường hợp, sau đó tiến hành chọn kết quả phân cụm tốt nhất khi thực hiên phân cụm trên mẫu này. Để đo chính xác, chất lượng của các cụm được đánh giá thông qua độ phi tương tự trung bình của toàn bộ các đối tượng dữ liệu trong tập đối tượng dữ liệu ban đầu. Kết quả thực nghiệm chỉ ra rằng, 5 mẫu dữ liệu có kích thước 40 +2k cho kết quả tốt. Các bước thực hiện của thuật toán CLARA : 10 [...]... 14 KHAI PHÁ DỮ LIỆU 15 KHAI PHÁ DỮ LIỆU II Gom cụm dữ liệu bằng phân cấp 1 Thuật toán BIRCH Thuật toán phân cụm khác cho tập dữ liệu lớn, được gọi là BIRCH Ý tưởng của thuật toán là không cần lưu toàn bộ các đối tượng dữ liệu của các cụm trong bộ nhớ mà chỉ lưu các đại lượng thống kê Thuật toán đưa ra hai khái niệm mới để theo dõi các cụm hình thành , phân cụm đặc trưng là tóm tắt thông tin về một cụm. .. cụm chồng lên nhau, tuy nhiên, FCM vẫn chứa đựng các nhược điểm của thuật toán K-means trong việc xử lý đối với các phần tử ngoại lai và nhiễu trong dữ liệu Thuật 34 KHAI PHÁ DỮ LIỆU toán εFCM được trình bày dưới đây là một mở rộng của thuật toán FCM nhằm khắc phục các nhược điểm này VI Một số phương pháp gom cụm khác 1 Thuật toán di truyền GAS 46 2 4.2 J-Means 3 Sting 49 4 Thuật toán CLIQUE 51 5 Thuật. .. pháp phân cụm và đã phát triển thuật toán phân cụm mờ Ý tưởng của thuật toán là xây dựng một phương pháp phân cụm mờ dựa trên tối thiểu hóa hàm mục tiêu Bezdek(1981) cải tiến và tổng quát hóa hàm mục tiêu mờ bằng cách đưa ra trọng số mũ m để xây dựng thuật toán phân cụm mờ Fuzzy C-means(FCM), và được chứng minh độ hội tụ của các thuật toán là cực tiểu cục bộ 33 KHAI PHÁ DỮ LIỆU Thuật toán FCM đã được... pháp CURE và ROCK Lý do là CURE và lược đồ liên quan lờ đi thông tin về liên kết của các đối tượng trong hai cụm khác nhau, trong khi ROCK lược đồ liên quan lờ đi thông tin về gần nhau của hai cụm mà lại chú trọng quá về liên kết CURE sử dụng thuật toán phân hoạch đồ thị để phân cụm các đối tượng dữ liệu vào trong một số lớn một cách tương đối nhỏ của các cụm con Chameleon sử dụng thuật toán phân cụm. .. cực tiểu cục bộ hay điểm yên ngựa của Jm(u, V) Thuật toán FCM tính toán ma trận phân hoạch U và kích thước của các cụm để thu được các mô hình mờ từ ma trận này Độ phức tạp của thuật toán FCM tương đương với độ phức tạp của thuật toán Kmeans trong trường hợp số đối tượng của tập dữ liệu cần phân cụm là rất lớn Tóm lại, thuật toán phân cụm mờ FCM là một mở rộng của thuật toán K-means nhằm để khám phá. .. phương pháp cải tiến cho COBWEB và CLASSIT và AutoClass V Gom cụm mờ Phân cụm dữ liệu mờ (FCM) là phương pháp phân cụm dữ liệu cho phép mỗi điểm dữ liệu thuộc về hai hoặc nhiều cụm thông qua bậc thành viên Ruspini(1969) giới thiệu khái quát khái niệm phân hoạch mờ để mô tả cấu trúc cụm của tập dữ liệu và đề xuất một thuật toán để tính toán tối ưu phân hoạch mờ Dunn(19730 mở rộng phương pháp phân cụm và... tương ứng 22 KHAI PHÁ DỮ LIỆU Độ phức tạp tính toán của thuật toán CURE là O(n2log(n)) CURE là thuật toán tin cậy trong việc khám phá ra các cụm với hình thù bất kỳ và có thể áp dụng tốt đối với dữ liệu có phần tử ngoại lai và trên các tập dữ liệu hai chiều Tuy nhiên, nó lại rất nhạy cảm với các tham số như số các đối tượng đại diện, tỉ lệ co của các phần tử đại diện 3 Thuật toán ANGNES Phương pháp phân... 25 KHAI PHÁ DỮ LIỆU 6 Thuật toán Chameleon Phương pháp Chameleon một cách tiếp cận khác trong việc sử dụng mô hình động để xác định các cụm nào được hình thành Bước đầu tiên của Chameleon là xây dựng một đồ thị mật độ thưa và sau đó ứng dụng một thuật toán phân hoạch đồ thị để PCDL với số lớn của các cụm con Tiếp theo, Chameleon thực hiện tích tụ phân cụm phân cấp, như AGNES, bằng hòa nhập các cụm. .. hút bởi các cụm khác nếu chúng được biểu diễn cho thuật toán theo một thứ tự khác BIRCH không thích hợp với dữ liệu đa chiều 20 KHAI PHÁ DỮ LIỆU 2 Thuật toán CURE Trong khi hầu hết các thuật toán thực hiện phân cụm với các cụm hình cầu và kích thước tương tự, như vậy là không hiệu quả khi xuất hiện các phần tử ngoại lai Thuật toán này định nghĩa một số cố định các điểm đại diễn nằm rải rác trong toàn... [10][15] 2 Thuật toán OPTICS Thuật toán này là mở rộng của DBSCAN, tuy nhiên nó cải tiến bằng cách giảm bớt các tham số đầu vào 28 KHAI PHÁ DỮ LIỆU Thuật toán này không phân cụm các điểm dữ liệu mà thực hiện tính toán và sắp xếp trên các điểm dữ liệu theo thứ tự tăng dần nhằm tự động PCDL và phân tích cụm tương tác hơn là đưa ra phân cụm một tập dữ liệu rõ ràng Đây là thứ tự mô tả cấu trúc phân dữ liệu cụm . K-Means b. Thuật toán PAM c. Thuật toán CLARA d. Thuật toán CLARANS 2. Gom cụm dữ liệu bằng phân cấp a. Thuật toán BIRCH b. Thuật toán CURE c. Thuật toán ANGNES d. Thuật toán DIANA e. Thuật toán ROCK f COBWEB 5. Gom cụm mờ a. Thuật toán FCM 6. Các phương pháp gom cụm dữ liệu khác a. Thuật toán di truyền GAS b. J-Means c. Sting d. Thuật toán CLIQUE e. Thuật toán WaveCluste 3 KHAI PHÁ DỮ LIỆU I. Gom cụm. KHAI PHÁ DỮ LIỆU Phụ lục Giới thiệu trang 5 PHẦN A Một số thuật toán gom cụm trang 6 1. Gom cụm bằng phân hoạch trang 7 a. Thuật toán K-Means trang 7 b. Thuật toán PAM trang 12 c. Thuật toán

Ngày đăng: 10/04/2015, 00:17

Từ khóa liên quan

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

Tài liệu liên quan