Sự hội tụ trong phương pháp k-mean của Hartigan-Wong và các thuật toán khác


10

Tôi đã cố gắng để hiểu các thuật toán phân cụm k-mean khác nhau, chủ yếu được triển khai trong statsgói Rngôn ngữ.

Tôi hiểu thuật toán của Lloyd và thuật toán trực tuyến của MacQueen. Cách tôi hiểu chúng là như sau:

Thuật toán của Lloyd:

Ban đầu, các quan sát ngẫu nhiên 'k' được chọn sẽ đóng vai trò là tâm của các cụm 'k'. Sau đó, các bước sau đây xảy ra trong vòng lặp cho đến khi các nhân giáp hội tụ.

  1. Khoảng cách Euclide giữa mỗi lần quan sát và trọng tâm được chọn được tính toán.
  2. Các quan sát gần nhất với từng tâm được gắn thẻ trong các thùng 'k'.
  3. Giá trị trung bình của tất cả các quan sát trong mỗi thùng đóng vai trò là trọng tâm mới.
  4. Các nhân mã mới thay thế các nhân mã cũ và việc lặp lại quay lại bước 1 nếu các nhân mã cũ và mới không hội tụ.

Các điều kiện để hội tụ là như sau: centroid cũ và mới hoàn toàn giống hệt nhau, sự khác biệt giữa các centroid là nhỏ (theo thứ tự 10 ^ -3) hoặc số lần lặp tối đa (10 hoặc 100) đạt được.

Thuật toán của MacQueen:

Đây là phiên bản trực tuyến trong đó các phiên bản 'k' đầu tiên được chọn là centroid.

Sau đó, mỗi trường hợp được đặt trong các thùng tùy thuộc vào centroid nào gần nhất với thể hiện đó. Trọng tâm tương ứng được tính toán lại.

Lặp lại bước này cho đến khi mỗi trường hợp được đặt vào thùng thích hợp.

Thuật toán này chỉ có một lần lặp và vòng lặp tiếp tục cho các trường hợp 'x'

Thuật toán Hartigan-Wong:

  1. Chỉ định tất cả các điểm / trường hợp cho các nhóm ngẫu nhiên và tính toán trọng tâm tương ứng.
  2. Bắt đầu từ ví dụ đầu tiên, tìm trọng tâm gần nhất và khẳng định cái xô đó. Nếu xô thay đổi thì hãy tính lại trọng tâm mới, tức là trọng tâm của xô mới được gán và tâm của phân bổ xô cũ vì đó là hai trọng tâm bị ảnh hưởng bởi thay đổi
  3. Vòng qua tất cả các điểm và nhận được centroid mới.
  4. Thực hiện lần lặp thứ hai của điểm 2 và 3 để thực hiện thao tác dọn dẹp và gán lại các điểm đi lạc để sửa các thùng.

Vì vậy, thuật toán này thực hiện 2 lần lặp trước khi chúng ta thấy kết quả hội tụ.

Bây giờ, tôi không chắc liệu những gì tôi nghĩ ở điểm 4 trong thuật toán Hartigan-Wong có phải là phương pháp chính xác của thuật toán hay không. Câu hỏi của tôi là, nếu phương pháp sau đây cho Hartigan-Wong là phương pháp chính xác để thực hiện phương tiện k? Chỉ có hai lần lặp cho phương pháp này? nếu không, điều kiện để hội tụ (khi nào dừng lại) là gì?

Một giải thích thực hiện có thể có những gì tôi hiểu là.

  1. Chỉ định tất cả các điểm / trường hợp cho các nhóm ngẫu nhiên và tính toán trọng tâm tương ứng.
  2. Bắt đầu từ ví dụ đầu tiên, tìm trọng tâm gần nhất và gán thùng đó. Nếu xô thay đổi thì hãy tính lại trọng tâm mới, tức là trọng tâm của xô mới được gán và tâm của phân bổ xô cũ vì đó là hai trọng tâm bị ảnh hưởng bởi thay đổi.
  3. Khi có một sự thay đổi trong nhóm cho bất kỳ điểm nào, hãy quay lại trường hợp đầu tiên và lặp lại các bước một lần nữa.
  4. Lặp lại kết thúc khi tất cả các trường hợp được lặp lại và không có điểm nào thay đổi xô.

Bằng cách này, có rất nhiều lần lặp lại bắt đầu từ đầu tập dữ liệu nhiều lần khi một cá thể thay đổi xô.

Mọi lời giải thích đều hữu ích và xin vui lòng cho tôi biết nếu tôi hiểu về bất kỳ phương pháp nào trong số này là sai.


Có gì một "xô"?
Có QUIT - Anony-Mousse

@ Anony-Mousse "xô" là một "cụm". Ví dụ: k-mean được sử dụng để phân chia dữ liệu thành các nhóm / cụm 'k'
Sid

Nhưng sau đó có vẻ như thuật toán MacQueens.
Có QUIT - Anony-Mousse

@ Anony-Mousse. vâng, ngoài bước đầu tiên, Hartigan-Wong có vẻ giống như thuật toán MacQueens. Nhưng tôi không chắc đây có phải là sự hiểu biết chính xác không. Có thể có một số khái niệm tôi đang thiếu cho các lần lặp và hội tụ.
Sid

Câu trả lời:


1

Thuật toán của CTNH, từ bài báo năm 1979, lấy làm cụm đầu vào. Tuy nhiên, các tác giả đề xuất một phương pháp để có được chúng trong phần cuối cùng của họ. Họ viết rằng nó được đảm bảo rằng không có cụm nào sẽ trống sau khi gán ban đầu trong chương trình con . Nó diễn ra như sau:

  1. x¯
  2. x¯||xix¯||2
  3. {1+(L1)[M/K]}L=1,,K[  ]1

Đối với thuật toán chính, nó được mô tả trong một bài báo có tên là K-Means Versus Lloyd's K-Means - Đã đến lúc thay đổi? của N Slonim, E Aharoni, K Crammer, được xuất bản năm 2013 bởi AJCAI . Lưu ý rằng phiên bản này chỉ đơn giản là sử dụng một phân vùng ban đầu ngẫu nhiên. Nó diễn ra như sau.

xXK

  1. CXKCCvC

  2. XxX

    s=1

    xCC=C{x}

    C+={argminC(CC)C 1nd(x,vC)+1nyC[d(y,vCx)d(y,vC)]}{x}

    C+CCCCC+vCvCs0

  3. s=0

CargminxCdvCvC{x}

Tôi nghĩ rằng câu trả lời cho tất cả các câu hỏi của bạn đều ẩn trong thuật toán trên ... Tuy nhiên, tôi vẫn phải đảm bảo việc triển khai thuật toán này là chuẩn . Đặc biệt nếu đó là một triển khai trong R. Mọi bình luận / chỉnh sửa đều được hoan nghênh.

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.