k-Means Ưu điểm và nhược điểm

Ưu điểm của k-mean

Tương đối đơn giản để triển khai.

Điều chỉnh tỷ lệ theo tập dữ liệu lớn.

Đảm bảo sự hội tụ.

Có thể khởi động các vị trí của tâm đồ trung tâm.

Dễ dàng thích ứng với các ví dụ mới.

Tổng hợp thành các cụm có hình dạng và kích thước khác nhau, chẳng hạn như cụm elip.

Tổng quan về k-means

Điều gì sẽ xảy ra khi cụm có mật độ và kích thước khác nhau? Xem Hình 1. So sánh các cụm trực quan ở bên trái với các cụm thực sự được tìm thấy bởi k-mean ở bên phải. Thông tin so sánh cho thấy cách k có nghĩa là có thể vấp phải một số tập dữ liệu nhất định.

Hai biểu đồ cạnh nhau. Tệp đầu tiên hiển thị tập dữ liệu có các cụm tương đối rõ ràng. Biến thể thứ hai cho thấy một nhóm các ví dụ ngẫu nhiên sau khi chạy k-mean.
Hình 1: Ví dụ về k-means không khái quát.

Để nhóm các cụm không cân bằng tự nhiên như các cụm như trong Hình 1, bạn có thể điều chỉnh (tổng quát) các k-mean. Trong Hình 2, các dòng hiển thị ranh giới của cụm sau khi khái quát k-mean như sau:

  • Biểu đồ bên trái: Không có tính khái quát, dẫn đến ranh giới của cụm không trực quan.
  • Biểu đồ trung tâm: Cho phép chiều rộng cụm khác nhau, dẫn đến cụm cụm hình ảnh khác nhau có kích thước khác nhau.
  • Biểu đồ bên phải: Bên cạnh các chiều rộng cụm khác nhau, cho phép nhiều chiều rộng trên mỗi kích thước, dẫn đến hình elip thay vì các cụm hình cầu, giúp cải thiện kết quả.
Hai biểu đồ cạnh nhau. Đầu tiên là ví dụ về cụm hình cầu và thứ hai là ví dụ về cụm hình cầu.
Hình 2: Ví dụ về cụm hình cầu và một ví dụ về cụm hình cầu.

Mặc dù khoá học này không đi sâu vào cách khái quát hoá các k, nhưng hãy nhớ rằng việc sửa đổi k-mean là một lý do khác khiến tính năng này mạnh mẽ. Để biết thông tin tổng quan về các khái niệm k-mean, hãy xem bài viết Phân nhóm – mô hình hỗn hợp K-means Gaussian của Carlos Khanrin từ Đại học Carnegie Mellon.

Nhược điểm của k-mean

Chọn \(k\) theo cách thủ công.

Sử dụng cốt truyện “Mất và so với cụm” để tìm ra tối ưu (k), như đã thảo luận trong phần Diễn giải kết quả.

Phần phụ thuộc vào giá trị ban đầu.

Đối với \(k\)thấp, bạn có thể giảm thiểu sự phụ thuộc này bằng cách chạy k-mediums nhiều lần với các giá trị ban đầu khác nhau và chọn kết quả tốt nhất. Khi \(k\) tăng lên, bạn cần các phiên bản nâng cao của k-mean để chọn giá trị phù hợp hơn của các trung tâm ban đầu (được gọi là hạt nhân ý nghĩa k). Để thảo luận đầy đủ về k- nghĩa là xem nội dung gốc, hãy Một nghiên cứu so sánh phương pháp khởi tạo hiệu quả cho thuật toán phân nhóm K-Means của M. Emre Celebi, Hassan A. Kingravi, Patricio A. Tiếng Vela.

Phân nhóm dữ liệu có kích thước và mật độ khác nhau.

k-mean gặp khó khăn trong việc phân nhóm dữ liệu, trong đó các cụm có kích thước và mật độ khác nhau. Để nhóm dữ liệu như vậy, bạn cần khái quát hoá các k-mean như được mô tả trong phần Ưu điểm.

Phân nhóm các điểm ngoại lai.

Các trường hợp ngoại lệ có thể được kéo bằng các lớp ngoại lệ, hoặc các điểm ngoại lai có thể nhận được cụm riêng thay vì bị bỏ qua. Hãy cân nhắc việc xoá hoặc cắt bỏ các điểm ngoại lai trước khi phân nhóm.

Điều chỉnh tỷ lệ theo số lượng phương diện.

Khi số lượng kích thước tăng lên, chỉ số tương tự dựa trên khoảng cách sẽ chuyển đổi thành giá trị không đổi giữa các ví dụ nhất định. Giảm kích thước bằng cách sử dụng PCA trên dữ liệu tính năng hoặc bằng cách sử dụng "phân nhóm quang phổ" để sửa đổi thuật toán phân nhóm như giải thích bên dưới.

Con trỏ của phương diện và sự phân tách quang phổ

Các biểu đồ này cho thấy tỷ lệ độ lệch chuẩn so với giá trị trung bình của khoảng cách giữa các ví dụ giảm khi số lượng kích thước tăng lên. Sự hội tụ này có nghĩa là các k có ý nghĩa kém hiệu quả hơn khi phân biệt các ví dụ. Hệ quả tiêu cực này của dữ liệu phương diện cao được gọi là lời nguyền về phương diện.

Ba biểu đồ cho thấy độ lệch chuẩn của khoảng cách giữa các ví dụ giảm khi số lượng phương diện tăng lên
Hình 3: Hình minh họa lời nguyền phương diện. Mỗi biểu đồ cho thấy khoảng cách theo cặp giữa 200 điểm ngẫu nhiên.

Phân nhóm phổ tránh được nguy cơ phương diện bằng cách thêm một bước trước khi phân nhóm vào thuật toán:

  1. Giảm mức độ của dữ liệu tính năng bằng cách sử dụng PCA.
  2. Chiếu tất cả điểm dữ liệu vào không gian con phương diện thấp hơn.
  3. Nhóm dữ liệu trong không gian phụ này bằng thuật toán bạn đã chọn.

Do đó, việc phân cụm quang phổ không phải là thuật toán phân nhóm riêng biệt mà là bước trước khi phân nhóm mà bạn có thể sử dụng cho mọi thuật toán phân nhóm. Chi tiết về việc phân tách quang phổ rất phức tạp. Xem Hướng dẫn phân nhóm quang phổ của Ulrike von Luxburg.