Giải thích kết quả của cụm k-nghĩa trong R


12

Tôi đã sử dụng kmeanshướng dẫn của R để thực hiện thuật toán k-mean trên tập dữ liệu iris của Anderson. Tôi có một câu hỏi về một số thông số mà tôi nhận được. Kết quả là:

Cluster means:
  Sepal.Length Sepal.Width Petal.Length Petal.Width
1     5.006000    3.428000     1.462000    0.246000

Trong trường hợp này, "Cụm" có nghĩa là gì? Đó là giá trị trung bình của khoảng cách của tất cả các đối tượng trong cụm?

Ngoài ra trong phần cuối tôi có:

Within cluster sum of squares by cluster:
[1] 15.15100 39.82097 23.87947
 (between_SS / total_SS =  88.4 %)

Giá trị đó là 88,4%, nó có thể là gì để giải thích?



Không, đó chỉ là giá trị trung bình của tất cả các đối tượng bên trong cụm đầu tiên (tổng cộng 3). Bạn có thể nhận 88,4% bằng iris.km $ betwgess / iris.km $ totss
dfhgfh

Đọc bất kỳ bài viết về k-nghĩa . Vậy thì rõ ràng ý nghĩa của clsuter là ... K-nghĩa là không dựa trên khoảng cách . Nó giảm thiểu phương sai hay còn gọi là: "tổng sai lệch bình phương".
Có QUIT - Anony-Mousse

Giả sử rằng trung bình của bạn là 0. Làm toán. Kiểm tra nếu giả định trên làm cho một sự khác biệt. Sống hạnh phúc sau đó. Lợi nhuận!
mia

Câu trả lời:


23

Nếu bạn tính tổng khoảng cách bình phương của từng điểm dữ liệu với giá trị trung bình của mẫu toàn cầu, bạn sẽ nhận được total_SS. Nếu, thay vì tính trung bình mẫu toàn cầu (hoặc 'centroid'), bạn tính một nhóm cho mỗi nhóm (ở đây, có ba nhóm) và sau đó tính tổng khoảng cách bình phương của ba phương tiện này với trung bình toàn cầu, bạn nhận được between_SS. (Khi tính toán điều này, bạn nhân khoảng cách bình phương của mỗi trung bình với trung bình toàn cầu với số điểm dữ liệu mà nó đại diện.)

Nếu không có mô hình phân cụm rõ ràng, ba phương tiện của ba nhóm sẽ gần với trung bình toàn cầu và between_SSsẽ là một phần rất nhỏ total_SS. Điều ngược lại là đúng ở đây, cho thấy các điểm dữ liệu tập hợp khá gọn gàng trong không gian bốn chiều theo loài.


14

K-mean không phải là thuật toán phân cụm dựa trên khoảng cách .

K-means tìm kiếm cho tối thiểu tổng bình phương phân công , tức là nó giảm thiểu sai unnormalized (= total_SS) bằng cách gán điểm đến các trung tâm cụm.

Để phương tiện k hội tụ, bạn cần hai điều kiện:

  • điểm gán lại làm giảm tổng bình phương
  • tính toán lại giá trị trung bình làm giảm tổng bình phương

Vì chỉ có số lượng kết hợp hữu hạn, bạn không thể giảm giá trị này một cách vô hạn và thuật toán phải hội tụ tại một số điểm đến mức tối ưu cục bộ .

i(xiμji)2j. Về mặt toán học, việc chỉ định bằng tổng bình phương tối thiểu bằng với việc gán bằng cách đóng khoảng cách Euclide bình phương, điều này (nếu bạn lãng phí chu kỳ CPU để tính toán sqrt) bằng với việc gán khoảng cách Euclide tối thiểu. Vì vậy, trực giác của việc gán từng điểm cho giá trị trung bình gần nhất là chính xác, nhưng không phải là vấn đề tối ưu hóa.

between_SS có lẽ là tổng bình phương có trọng số giữa hai phương tiện, để đo xem các trung tâm cụm được phân tách tốt như thế nào (lưu ý: trung tâm cụm, nó không so sánh các cụm thực tế - về mặt kỹ thuật, tế bào cụm Voronoi chạm vào cụm lân cận Voronoi).

Lưu ý rằng với k-có nghĩa là bạn có thể cải thiện chất lượng phân cụm ngây thơ bằng cách tăng k. Chất lượng đo ở đây là một giá trị toán học, có thể không phù hợp với yêu cầu của người dùng. Iris thực sự là một ví dụ khá hay, trong đó k-mean thường hội tụ với kết quả không thỏa đáng, thậm chí còn đưa ra thông tin bên ngoài rằng phải có chính xác 3 cụm.

Nếu bạn muốn một biến thể dựa trên khoảng cách của phương tiện k , hãy xem k-medoid . Ở đây sự hội tụ được đảm bảo bằng cách thay thế giá trị trung bình bằng medoid:

  • Mỗi đối tượng được gán cho cụm gần nhất (bằng thước đo khoảng cách tùy ý)
  • Trung tâm cụm được cập nhật vào đối tượng trung tâm nhất của cụm, tức là với khoảng cách trung bình nhỏ nhất cho tất cả các đối tượng khác.

Trong mỗi bước, tổng khoảng cách giảm; có một số lượng kết hợp hữu hạn, do đó thuật toán phải chấm dứt ở một số mức tối thiểu cục bộ.


điểm thú vị +1
Cam.Davidson.Pilon

1
Tại sao không có tính toán khoảng cách ở đây (tính bằng km)? Để tính toán phương sai, cần phải tính khoảng cách của mỗi phần tử với giá trị trung bình, vì vậy rõ ràng có sự tính toán khoảng cách liên quan, phải không?
Julian

Phương sai thường không được định nghĩa theo khoảng cách, nhưng là "giá trị kỳ vọng của độ lệch bình phương so với giá trị trung bình".
Có QUIT - Anony-Mousse
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.