Làm thế nào để hiểu những nhược điểm của K-nghĩa


365

K-mean là một phương pháp được sử dụng rộng rãi trong phân tích cụm. Theo hiểu biết của tôi, phương pháp này KHÔNG yêu cầu BẤT CỨ giả định nào, nghĩa là đưa cho tôi một tập dữ liệu và số cụm được chỉ định trước, k và tôi chỉ áp dụng thuật toán này để giảm thiểu tổng các lỗi bình phương (SSE), bình phương trong cụm lỗi.

Vì vậy, k-nghĩa là một vấn đề tối ưu hóa.

Tôi đọc một số tài liệu về những hạn chế của phương tiện k. Hầu hết trong số họ nói rằng:

  • k-nghĩa là giả định phương sai của phân bố của từng thuộc tính (biến) là hình cầu;
  • tất cả các biến có cùng phương sai;
  • xác suất trước cho tất cả các cụm k là như nhau, nghĩa là, mỗi cụm có số lượng quan sát gần bằng nhau;

Nếu bất kỳ một trong 3 giả định này bị vi phạm, thì phương tiện k sẽ thất bại.

Tôi không thể hiểu logic đằng sau tuyên bố này. Tôi nghĩ rằng phương pháp k-mean về cơ bản không có giả định, nó chỉ giảm thiểu SSE, vì vậy tôi không thể thấy mối liên hệ giữa giảm thiểu SSE và 3 "giả định" đó.


49
Tôi muốn nói rằng số lượng các cụm đã là một giả định.
njzk2

30
Các giả định then chốt của k-means là: 1. có được k cụm. 2. SSE là mục tiêu đúng đắn để giảm thiểu. 3. tất cả các cụm có cùng SSE. 4. tất cả các biến có tầm quan trọng như nhau cho mọi cụm. Đây là những giả định khá mạnh mẽ ...
Anony-Mousse 17/1/2015

2
Đối với câu hỏi thứ hai của bạn (được đăng dưới dạng câu trả lời, sau đó xóa): nếu bạn muốn hiểu k-nghĩa là vấn đề tối ưu hóa tương tự như hồi quy tuyến tính, hãy hiểu nó là lượng tử hóa . Nó cố gắng tìm các xấp xỉ bình phương nhỏ nhất của dữ liệu bằng cách sử dụng thể hiện. Tức là nếu bạn thực sự thay thế mọi điểm bằng trọng tâm gần nhất. k
Anony-Mousse

2
@ Anony-Mousse, tôi đã đọc một số tài liệu và sau đó nảy ra ý nghĩ sau: có nghĩa là một mô hình thống kê (chứ không phải là phương pháp tối ưu hóa) giả định rằng có các cụm k bên dưới và sự phân tán dữ liệu hoàn toàn là do bình thường nhiễu ngẫu nhiên với phương sai bằng nhau. Điều này tương tự với giả định của mô hình hồi quy tuyến tính đơn giản. Sau đó (tôi tin rằng, tôi đã không tìm thấy một bài báo) bởi một số phiên bản của định lý Gauss-Markov, có nghĩa sẽ cung cấp cho bạn ước tính nhất quán về giá trị trung bình của các cụm k cơ bản mà chúng tôi giả định cho dữ liệu của chúng tôi. k -kk
KevinKim

1
Tôi đã thêm một minh họa cho câu trả lời của mình bên dưới một tập dữ liệu trong đó người ta có thể cho rằng k-mean hoạt động thực sự tốt (tất cả các cụm có cùng hình dạng) nhưng nó vẫn bị kẹt trong cực tiểu cục bộ; và thậm chí 1000 lần lặp không tìm thấy kết quả tối ưu.
Anony-Mousse

Câu trả lời:


273

Mặc dù tôi thích câu trả lời của David Robinson ở đây rất nhiều, đây là một số bài phê bình bổ sung về phương tiện k.

Phân cụm dữ liệu không phân cụm

Chạy k-mean trên dữ liệu thống nhất và bạn vẫn sẽ nhận được các cụm! Nó không cho bạn biết khi dữ liệu không co cụm và có thể đưa nghiên cứu của bạn đi vào ngõ cụt theo cách này.

K-nghĩa trên dữ liệu thống nhất

Nhạy cảm với quy mô

Thay đổi kích thước bộ dữ liệu của bạn sẽ thay đổi hoàn toàn kết quả. Mặc dù điều này không phải là xấu, nhưng không nhận ra rằng bạn phải chú ý nhiều hơn đến việc thu nhỏ dữ liệu của bạn là xấu. Các hệ số tỷ lệ là các tham số ẩn thêm trong k-có nghĩa là "mặc định" thành 1 và do đó dễ bị bỏ qua, nhưng có tác động lớn (nhưng tất nhiên điều này cũng áp dụng cho nhiều thuật toán khác).d

Đây có lẽ là những gì bạn gọi là "tất cả các biến có cùng phương sai". Ngoại trừ lý tưởng đó, bạn cũng sẽ xem xét tỷ lệ phi tuyến tính khi thích hợp.

Cũng cần lưu ý rằng nó chỉ là một heuristic để chia tỷ lệ mọi trục để có phương sai đơn vị . Điều này không đảm bảo rằng k-nghĩa là hoạt động. Chia tỷ lệ phụ thuộc vào ý nghĩa của tập dữ liệu của bạn. Và nếu bạn có nhiều hơn một cụm, bạn cũng muốn mọi cụm (độc lập) cũng có cùng phương sai trong mỗi biến.

Dưới đây là một ví dụ cổ điển của các tập dữ liệu mà k-nghĩa là không thể cụm. Cả hai trục đều iid trong mỗi cụm, vì vậy sẽ đủ để làm điều này trong 1 chiều. Nhưng các cụm có phương sai khác nhau, và do đó phương tiện k phân tách chúng không chính xác.

K-nghĩa là không thể phân cụm tập dữ liệu này

Tôi không nghĩ rằng ví dụ này cho phương tiện k được bao phủ bởi các điểm của bạn:

  • Tất cả các cụm là hình cầu (iid Gaussian).
  • Tất cả các trục có cùng phân phối và do đó phương sai.
  • Cả hai cụm có 500 yếu tố mỗi.

Tuy nhiên, k-mean vẫn thất bại nặng nề (và sẽ tệ hơn nếu tôi tăng phương sai vượt quá 0,5 cho cụm lớn hơn) Nhưng: đó không phải là thuật toán thất bại. Đó là những giả định, không giữ được . K-mean đang hoạt động hoàn hảo, nó chỉ tối ưu hóa tiêu chí sai.

Ngay cả trên các tập dữ liệu hoàn hảo, nó có thể bị kẹt ở mức tối thiểu cục bộ

Dưới đây là tốt nhất trong 10 lần chạy phương tiện k trên tập dữ liệu A3 cổ điển. Đây là một bộ dữ liệu tổng hợp, được thiết kế cho phương tiện k . 50 cụm, mỗi hình dạng Gaussian, được phân tách hợp lý. Tuy nhiên, chỉ với k-nghĩa ++ và 100 lần lặp tôi mới có kết quả như mong đợi ... (dưới đây là 10 lần lặp của phương tiện k thông thường, để minh họa).

k-mean trên tập dữ liệu A3

Bạn sẽ nhanh chóng tìm thấy nhiều cụm trong tập dữ liệu này, trong đó k-nghĩa là không thể tìm thấy cấu trúc chính xác. Ví dụ ở phía dưới bên phải, một cụm được chia thành ba phần. Nhưng không có cách nào, phương tiện k sẽ di chuyển một trong những tâm này đến một nơi hoàn toàn khác của tập dữ liệu - nó bị kẹt trong một mức tối thiểu cục bộ (và đây là lần chạy tốt nhất trong 10 lần!)

Và có rất nhiều cực tiểu cục bộ như vậy trong bộ dữ liệu này. Rất thường xuyên khi bạn nhận được hai mẫu từ cùng một cụm, nó sẽ bị kẹt ở mức tối thiểu khi cụm này vẫn bị tách và hai cụm khác được hợp nhất thay thế. Không phải luôn luôn, nhưng rất thường xuyên. Vì vậy, bạn cần rất nhiều lần lặp lại để có một lựa chọn may mắn. Với 100 lần lặp của phương tiện k, tôi vẫn đếm được 6 lỗi và với 1000 lần lặp tôi đã giảm xuống còn 4 lỗi. K-nghĩa là ++ bằng cách cân trọng lượng các mẫu ngẫu nhiên, hoạt động tốt hơn nhiều trên tập dữ liệu này.

Có nghĩa là liên tục

Mặc dù bạn có thể chạy phương tiện k trên dữ liệu nhị phân (hoặc dữ liệu phân loại được mã hóa một lần nóng), kết quả sẽ không còn là nhị phân nữa. Vì vậy, bạn nhận được một kết quả, nhưng cuối cùng bạn có thể không thể giải thích nó, bởi vì nó có một kiểu dữ liệu khác với dữ liệu gốc của bạn.

Giả định ẩn: SSE đáng để giảm thiểu

Điều này về cơ bản đã có mặt trong câu trả lời ở trên, được thể hiện độc đáo với hồi quy tuyến tính. Có một số trường hợp sử dụng trong đó k-mean có ý nghĩa hoàn hảo. Khi Lloyd phải giải mã tín hiệu PCM, anh ta đã biết số lượng âm khác nhau và lỗi bình phương tối thiểu sẽ giảm thiểu khả năng giải mã lỗi. Và trong lượng tử hóa màu của hình ảnh, bạn cũng giảm thiểu lỗi màu khi giảm bảng màu. Nhưng trên dữ liệu của bạn, tổng số độ lệch bình phương có phải là một tiêu chí có ý nghĩa để giảm thiểu?

Trong ví dụ trên, phương sai không đáng để giảm thiểu, bởi vì nó phụ thuộc vào cụm. Thay vào đó, Mô hình hỗn hợp Gaussian phải phù hợp với dữ liệu, như trong hình dưới đây:

Mô hình hỗn hợp Gaussian

(Nhưng đây cũng không phải là phương pháp cuối cùng. Thật dễ dàng để xây dựng dữ liệu không thỏa mãn các giả định "hỗn hợp phân phối k Gaussian", ví dụ, bằng cách thêm nhiều nhiễu nền)

Quá dễ sử dụng

Nói chung, quá dễ dàng để ném phương tiện k vào dữ liệu của bạn và tuy nhiên vẫn có kết quả (điều đó khá ngẫu nhiên, nhưng bạn sẽ không nhận thấy). Tôi nghĩ sẽ tốt hơn nếu có một phương pháp có thể thất bại nếu bạn không hiểu dữ liệu của mình ...

K-có nghĩa là lượng tử hóa

Nếu bạn muốn một mô hình lý thuyết về những gì k-mean làm, hãy xem nó là một cách tiếp cận lượng tử hóa , không phải là một thuật toán phân cụm.

Mục tiêu của phương tiện k - giảm thiểu lỗi bình phương - là một lựa chọn hợp lý nếu bạn thay thế mọi đối tượng bằng trọng tâm gần nhất của nó. (Sẽ rất ít ý nghĩa nếu bạn kiểm tra IMHO dữ liệu gốc.)

Có trường hợp sử dụng rất tốt cho việc này. Trường hợp sử dụng PCM ban đầu của Lloyd xuất hiện trong tâm trí, hoặc ví dụ như quan sát màu (Wikipedia) . Nếu bạn muốn giảm bớt một hình ảnh để k màu sắc, bạn làm muốn thay thế tất cả các pixel với trọng tâm gần nhất. Giảm thiểu độ lệch màu bình phương sau đó sẽ đo độ tối ưu L2 trong xấp xỉ hình ảnh chỉ bằng màu.k

Lượng tử hóa này có lẽ khá giống với ví dụ hồi quy tuyến tính. Hồi quy tuyến tính tìm mô hình tuyến tính tốt nhất . Và k-mean tìm thấy (đôi khi) mức giảm tốt nhất đối với giá trị k của tập dữ liệu đa chiều. Trong đó "tốt nhất" là lỗi bình phương nhỏ nhất.

IMHO, k-mean là một thuật toán lượng tử hóa tốt (xem hình ảnh đầu tiên trong bài đăng này - nếu bạn muốn xấp xỉ tập dữ liệu đến hai điểm, đây là một lựa chọn hợp lý!). Nếu bạn muốn thực hiện phân tích cụm như trong cấu trúc khám phá thì k-mean là IMHO không phải là lựa chọn tốt nhất. Nó có xu hướng co cụm khi không có cụm và nó không thể nhận ra các cấu trúc khác nhau mà bạn thấy rất nhiều trong dữ liệu.


In đẹp: tất cả các hình ảnh được tạo ra với ELKI . Dữ liệu được tạo bằng .xmlđịnh dạng tạo dữ liệu, nhưng chúng cơ bản đến mức không đáng để chia sẻ chúng.


17
(Chỉ cần lưu ý - có lẽ không nên nói về "câu trả lời trên", vì thứ tự câu trả lời mà người đọc nhìn thấy có thể thay đổi. Ví dụ, nếu họ đặt thứ tự hiển thị thành "hoạt động", thì câu trả lời của bạn là thực ra là ở trên!)
Silverfish

1
@ Anony-Mousse Câu trả lời này thực sự tuyệt vời. Nhưng cho đến bây giờ, tôi quên mất những gì chúng ta thường có nghĩa là bằng cách nói "k-mean sẽ hoạt động trong một số điều kiện và sẽ thất bại trong các điều kiện khác." Từ "làm việc" hay "thất bại" có nghĩa là gì trong bối cảnh này? "Công việc" có nghĩa là giải pháp được tạo bởi k-mean sẽ trực quan 'trông hợp lý'? Đây là loại mơ hồ. Hoặc 'công việc' có nghĩa là nếu k-mean cung cấp giải pháp giống như 'giải pháp chuẩn', nghĩa là chúng tôi tạo trước một tập dữ liệu và sử dụng phương tiện k. Trong bối cảnh này, 'công việc' có ý nghĩa, nhưng trong thực tế, dữ liệu không được tạo trước bởi một số phân phối.
KevinKim

Thông thường mọi người đề cập đến một số sự thật cơ bản, tức là cách dữ liệu được tạo ra hoặc một số nhãn bị ẩn khỏi thuật toán. So sánh với dữ liệu được tạo sẽ thích các thuật toán tối ưu hóa mô hình đã được sử dụng để tạo (ví dụ GMM và k-nghĩa cho Gaussian). Và ngay cả trên dữ liệu thực và được đánh giá, đánh giá này là về việc tái tạo một kết quả đã biết . Khi bạn xem xét khía cạnh khám phá / khám phá kiến ​​thức, nơi bạn muốn tìm hiểu một cái gì đó mới . Nhưng đó là tất cả những gì chúng ta có.
Anony-Mousse

Nó sẽ hoạt động tốt hơn trên tập dữ liệu A3 nếu được điều chỉnh theo số cụm hiện tại có hiệu quả như được xác định trước? k
TMOTTM

@TMOTTM này là với k được lựa chọn bởi kiến ​​thức trước. Tốt nhất trong số 10 chạy tất cả với "chính xác" k đã chọn một tiên nghiệm.
Anony-Mousse

450

Thật là một câu hỏi hay - đó là cơ hội để cho thấy người ta sẽ kiểm tra những hạn chế và giả định của bất kỳ phương pháp thống kê nào. Cụ thể: tạo một số dữ liệu và thử thuật toán trên đó!

Chúng tôi sẽ xem xét hai giả định của bạn và chúng tôi sẽ xem điều gì sẽ xảy ra với thuật toán k-mean khi các giả định đó bị hỏng. Chúng tôi sẽ sử dụng dữ liệu 2 chiều vì dễ hình dung. (Nhờ lời nguyền của chiều , thêm các kích thước bổ sung có khả năng làm cho những vấn đề này nghiêm trọng hơn, không ít hơn). Chúng tôi sẽ làm việc với ngôn ngữ lập trình thống kê R: bạn có thể tìm thấy mã đầy đủ ở đây (và bài đăng ở dạng blog ở đây ).

Diversion: Bộ tứ của Anscombe

Đầu tiên, một sự tương tự. Hãy tưởng tượng ai đó đã tranh luận như sau:

Tôi đã đọc một số tài liệu về những hạn chế của hồi quy tuyến tính - rằng nó mong đợi một xu hướng tuyến tính, rằng phần dư được phân phối bình thường và không có ngoại lệ. Nhưng tất cả hồi quy tuyến tính đang làm là giảm thiểu tổng các lỗi bình phương (SSE) từ dòng dự đoán. Đó là một vấn đề tối ưu hóa có thể được giải quyết bất kể hình dạng của đường cong hoặc phân bố của phần dư là gì. Do đó, hồi quy tuyến tính đòi hỏi không có giả định để làm việc.

Vâng, vâng, hồi quy tuyến tính hoạt động bằng cách giảm thiểu tổng số dư bình phương. Nhưng bản thân nó không phải là mục tiêu của hồi quy: những gì chúng tôi đang cố gắng làm là vẽ một đường thẳng đóng vai trò là một công cụ dự đoán đáng tin cậy, không thiên vị của y dựa trên x . Các định lý Gauss-Markov cho chúng ta biết giảm thiểu SSE hoàn thành mà goal- nhưng định lý đó dựa trên một số giả định rất cụ thể. Nếu những giả định bị phá vỡ, bạn vẫn có thể giảm thiểu SSE, nhưng nó có thể không làmbất cứ điều gì Hãy tưởng tượng rằng "Bạn lái xe bằng cách đẩy bàn đạp: lái xe thực chất là một 'quá trình đẩy bàn đạp'. Bàn đạp có thể được đẩy cho dù có bao nhiêu xăng trong bình. Do đó, ngay cả khi bình rỗng, bạn vẫn có thể đẩy bàn đạp và lái xe. "

Nhưng nói chuyện thì rẻ. Hãy nhìn vào dữ liệu lạnh, cứng. Hoặc thực sự, dữ liệu tạo thành.

nhập mô tả hình ảnh ở đây

Thực tế đây là dữ liệu trang điểm yêu thích của tôi : Bộ tứ của Anscombe . Được tạo ra vào năm 1973 bởi nhà thống kê Francis Anscombe, pha chế thú vị này minh họa cho sự điên rồ của việc tin tưởng các phương pháp thống kê một cách mù quáng. Mỗi bộ dữ liệu có cùng độ dốc hồi quy tuyến tính, chặn, giá trị p và - và trong nháy mắt chúng ta có thể thấy rằng chỉ một trong số chúng, I , là phù hợp cho hồi quy tuyến tính. Trong II, nó gợi ý hình dạng sai, trong III, nó bị lệch bởi một ngoại lệ duy nhất - và trong IV rõ ràng không có xu hướng nào cả!R2

Người ta có thể nói "Hồi quy tuyến tính vẫn hoạt động trong những trường hợp đó, bởi vì nó giảm thiểu tổng bình phương của phần dư." Nhưng thật là một chiến thắng Pyrros ! Hồi quy tuyến tính sẽ luôn vẽ một đường thẳng, nhưng nếu đó là một đường vô nghĩa, ai quan tâm?

Vì vậy, bây giờ chúng tôi thấy rằng chỉ vì việc tối ưu hóa có thể được thực hiện không có nghĩa là chúng tôi đang hoàn thành mục tiêu của mình. Và chúng ta thấy rằng việc tạo ra dữ liệu và trực quan hóa nó là một cách tốt để kiểm tra các giả định của một mô hình. Giữ lấy trực giác đó, chúng ta sẽ cần nó trong một phút nữa.

Giả định bị hỏng: Dữ liệu không phải hình cầu

Bạn cho rằng thuật toán k-mean sẽ hoạt động tốt trên các cụm không hình cầu. Các cụm phi hình cầu như ... những cái này?

nhập mô tả hình ảnh ở đây

Có thể đây không phải là điều bạn đang mong đợi - nhưng đó là một cách hoàn toàn hợp lý để xây dựng các cụm. Nhìn vào hình ảnh này, con người chúng ta ngay lập tức nhận ra hai nhóm điểm tự nhiên - không thể nhầm lẫn chúng. Vì vậy, hãy xem cách k-mean thực hiện: các bài tập được hiển thị bằng màu sắc, các trung tâm được liệt kê được hiển thị dưới dạng X.

nhập mô tả hình ảnh ở đây

Chà, điều đó không đúng. K-mean đang cố lắp một cái chốt vuông vào một cái lỗ tròn - cố gắng tìm những trung tâm đẹp với những quả cầu gọn gàng xung quanh chúng - và nó đã thất bại. Vâng, nó vẫn giảm thiểu tổng số các hình vuông trong cụm - nhưng giống như trong Bộ tứ của Anscombe ở trên, đó là một chiến thắng của Pyrros!

Bạn có thể nói "Đó không phải là một ví dụ công bằng ... không có phương pháp phân cụm nào có thể tìm thấy chính xác các cụm đó là lạ." Không đúng! Hãy thử đơn liên kết phân nhóm hierachical :

nhập mô tả hình ảnh ở đây

Đóng đinh nó! Điều này là do phân cụm phân cấp liên kết đơn tạo ra các giả định đúng cho bộ dữ liệu này. (Có một toàn khác lớp của tình huống mà nó không thành công).

Bạn có thể nói "Đó là một trường hợp bệnh lý duy nhất, cực đoan." Nhưng không phải vậy! Chẳng hạn, bạn có thể biến nhóm bên ngoài thành một nửa vòng tròn thay vì một vòng tròn và bạn sẽ thấy phương tiện k vẫn hoạt động khủng khiếp (và phân cụm theo phân cấp vẫn hoạt động tốt). Tôi có thể dễ dàng đưa ra các tình huống có vấn đề khác, và đó chỉ là hai chiều. Khi bạn phân cụm dữ liệu 16 chiều, có tất cả các loại bệnh lý có thể phát sinh.

Cuối cùng, tôi cần lưu ý rằng phương tiện k vẫn có thể cứu vãn được! Nếu bạn bắt đầu bằng cách chuyển đổi dữ liệu của mình thành tọa độ cực , thì cụm hiện hoạt động:

nhập mô tả hình ảnh ở đây

Đó là lý do tại sao việc hiểu các giả định bên dưới một phương thức là điều cần thiết: nó không chỉ cho bạn biết khi nào một phương thức có nhược điểm, nó sẽ cho bạn biết cách khắc phục chúng.

Giả định bị hỏng: Các cụm có kích thước không đồng đều

Điều gì xảy ra nếu các cụm có số điểm không đồng đều - điều đó cũng phá vỡ cụm k-có nghĩa là? Chà, hãy xem xét tập hợp các cụm này, có kích thước 20, 100, 500. Tôi đã tạo từng cụm từ một Gaussian đa biến:

nhập mô tả hình ảnh ở đây

Cái này có vẻ như k-mean có thể tìm thấy những cụm đó, phải không? Mọi thứ dường như được tạo thành các nhóm gọn gàng và ngăn nắp. Vì vậy, hãy thử k-nghĩa:

nhập mô tả hình ảnh ở đây

Ôi. Những gì đã xảy ra ở đây là một chút tinh tế. Trong nhiệm vụ của mình để giảm thiểu tổng bình phương trong cụm, thuật toán k-mean mang lại nhiều "trọng lượng" hơn cho các cụm lớn hơn. Trong thực tế, điều đó có nghĩa là thật vui khi để cụm nhỏ đó nằm cách xa bất kỳ trung tâm nào, trong khi nó sử dụng các trung tâm đó để "tách ra" một cụm lớn hơn nhiều.

Nếu bạn chơi với các ví dụ này một chút ( mã R ở đây! ), Bạn sẽ thấy rằng bạn có thể xây dựng nhiều kịch bản hơn trong đó phương tiện k làm cho nó sai một cách đáng xấu hổ.

Kết luận: Không ăn trưa miễn phí

Có một công trình quyến rũ trong văn hóa dân gian, được Wolpert và Mac sẵn sàng chính thức hóa , được gọi là "Định lý bữa trưa miễn phí". Đây có lẽ là định lý yêu thích của tôi trong triết lý học máy và tôi thích bất kỳ cơ hội nào để đưa nó lên (tôi có đề cập đến việc tôi thích câu hỏi này không?) Ý tưởng cơ bản được nêu (không nghiêm ngặt) như sau: "Khi tính trung bình trong tất cả các tình huống có thể, mọi thuật toán đều hoạt động tốt như nhau. "

Âm thanh phản trực giác? Hãy xem xét rằng đối với mọi trường hợp thuật toán hoạt động, tôi có thể xây dựng một tình huống mà nó thất bại khủng khiếp. Hồi quy tuyến tính giả định dữ liệu của bạn nằm dọc theo một đường - nhưng nếu nó theo sóng hình sin thì sao? Một thử nghiệm t giả định mỗi mẫu xuất phát từ một phân phối bình thường: nếu bạn ném ngoại lệ thì sao? Bất kỳ thuật toán tăng độ dốc nào cũng có thể bị mắc kẹt trong cực đại cục bộ và bất kỳ phân loại được giám sát nào cũng có thể bị lừa trong tình trạng thừa.

Điều đó có nghĩa là gì? Nó có nghĩa là các giả định là nơi sức mạnh của bạn đến từ! Khi Netflix giới thiệu phim cho bạn, giả sử rằng nếu bạn thích một phim, bạn sẽ thích những phim tương tự (và ngược lại). Hãy tưởng tượng một thế giới nơi điều đó không đúng và thị hiếu của bạn hoàn toàn ngẫu nhiên - phân tán một cách ngớ ngẩn giữa các thể loại, diễn viên và đạo diễn. Thuật toán đề xuất của họ sẽ thất bại khủng khiếp. Sẽ là hợp lý khi nói "Chà, nó vẫn giảm thiểu một số lỗi bình phương dự kiến, vì vậy thuật toán vẫn hoạt động"? Bạn không thể tạo một thuật toán đề xuất mà không đưa ra một số giả định về thị hiếu của người dùng - giống như bạn không thể tạo một thuật toán phân cụm mà không đưa ra một số giả định về bản chất của các cụm đó.

Vì vậy, đừng chỉ chấp nhận những nhược điểm này. Biết họ, để họ có thể thông báo cho bạn lựa chọn thuật toán. Hiểu chúng, vì vậy bạn có thể điều chỉnh thuật toán của mình và biến đổi dữ liệu của mình để giải quyết chúng. Và yêu họ, bởi vì nếu mô hình của bạn không bao giờ sai, điều đó có nghĩa là nó sẽ không bao giờ đúng.



50
+1 cho câu trả lời đầy đam mê này. Tôi đặc biệt thích ví dụ biến đổi cực, những mánh khóe thông minh đó không bao giờ dừng lại để làm kinh ngạc bộ não ngu dốt toán học của tôi.
Mugen

20
+ 1, đây là một câu trả lời hoàn toàn đẹp, thực hiện một công việc tuyệt vời là chỉ ra cách các giả định bị phá vỡ mà không bị sa lầy vào các chi tiết của phân tích.
Louis Cialdella

15
+1 Một trong những điều phổ biến mà mọi người cứ phàn nàn với tôi là những điều lý thuyết không hoạt động trong thực tế. Nhưng khi tôi hỏi "dữ liệu của bạn có phù hợp với các giả định của mô hình không?" Tôi chỉ đơn giản là có một cái nhìn trống rỗng từ khuôn mặt của họ. Câu trả lời của bạn và đặc biệt là phần cuối cùng làm tôi thực sự hạnh phúc.
TenaliRaman

9
+1 Wow, tôi đã ở đây được một thời gian nhưng tôi nghĩ rằng tôi chưa bao giờ thấy câu trả lời nào để nhận được hơn 50 lượt upvote trong một ngày. Đây là một thành tích thực sự ấn tượng.
amip

7
Biến đổi cực, như tôi thấy, chủ yếu hữu ích ở đây như là một ví dụ đầu tiên và không có biệt ngữ đối với các kỹ thuật phân cụm hạt nhân - trong đó loại chuyển đổi trước này là làm thế nào để các phương pháp học tuyến tính hoạt động.
Mikael Vejdemo-Johansson

7

Tôi chỉ muốn thêm vào câu trả lời của @ DavidRobinson rằng việc phân cụm thành tổng phương sai tối thiểu thực sự là một vấn đề tối ưu hóa tổ hợp , trong đó k-Means chỉ là một kỹ thuật - và mang tính chất "một lần bắn" cục bộ, một cái khá xấu quá Ngoài ra, cố gắng cải thiện đáng kể các "xương trần" bằng cách nào đó (nhưng nhanh chóng!) Tìm ra vị trí của các cụm hạt, sẽ bị tiêu diệt ngay từ đầu: vì các hạt giống tác động (quyết liệt!) để "biết" tối ưu là gì ... trước khi thực sự tính toán nó.

Tuy nhiên, như hầu hết các vấn đề tối ưu hóa, tuy nhiên nó có thể tuân theo một số kỹ thuật tối ưu hóa nghiêm trọng . Một trong số chúng rất phù hợp với cấu trúc của vấn đề (như NFL yêu cầu!), Và nó chắc chắn cho thấy kết quả của nó. Tôi không muốn thực hiện bất kỳ quảng cáo nào ở đây (nó sẽ - và đúng như vậy - chống lại nghi thức), vì vậy nếu bạn quan tâm, chỉ cần đọc nó ở đây và đưa ra đánh giá của riêng bạn.

Điều đó đang được nói, tôi đồng ý với @ttnphns rằng k-Means chắc chắn không xác định được Hỗn hợp Gaussian - các hàm chi phí của hai vấn đề hoàn toàn khác nhau. Nó chỉ ra rằng việc tìm ra sự phù hợp nhất (về xác suất của mô hình được cung cấp dữ liệu) Gaussian Mixture cũng là một vấn đề tối ưu hóa tổ hợp - và cũng là một kỹ thuật tối ưu hóa nghiêm trọng . Một lần nữa, không có quảng cáo: bạn có thể đi đến kết luận của riêng mình ở đây - tôi sẽ chỉ nói rằng thuật toán được thảo luận ở đó có thể, thực sự, xác định chính xác các cụm như hình ảnh cuối cùng trong bài đăng của @ DavidRobinson . Nó thậm chí còn chính xác (nghĩa là theo cách toán học được xác định rõ) giải quyết vấn đề lâu năm của các ngoại lệ, tức là, các điểm dữ liệu không thuộc về bất kỳ cụm nào vì chúng chỉ hoàn toàn ngẫu nhiên (nổi tiếng là chúng làm hỏng hoàn toàn k-Means chẳng hạn). Điều này được thực hiện bằng cách có thêm một phân phối đồng đều , cạnh tranh với Gaussian ... và kết quả tuyệt vời là trên dữ liệu được phân phối đồng đều, thực sự báo cáo không có trong đó (tôi chưa từng thấy ở bất kỳ nơi nào khác).

Bây giờ, rõ ràng, theo NFL, và như bạn đã chỉ ra một cách đúng đắn , ngay cả các hỗn hợp Gaussian tối ưu toàn cầu với nhận dạng ngoại lệ cũng dựa vào một giả định trước đó - cụ thể là dữ liệu được phân phối bình thường. May mắn thay, mặc dù nhờ vào luật số lớn, nhiều hiện tượng tự nhiên làm phù hợp với giả định rằng.

TUYÊN BỐ TỪ CHỐI: với lời xin lỗi sâu sắc nhất, tôi đã viết cả hai bài báo ở trên và các thuật toán mà họ thảo luận.

Tái bút: Tôi đã gặp Mac sẵn trong một cuộc hội thảo một lần - một anh chàng cực kỳ thông minh và tốt bụng!


Đây được cho là một câu trả lời cho câu hỏi.
Michael Chernick

3
Đây thực sự là một câu trả lời, Michael: K-Means PRETENDS để giải quyết vấn đề thực sự tối ưu hóa tổ hợp là gì ... nhưng nó chắc chắn KHÔNG (không nghiêm túc theo bất kỳ cách nào)! Ngoài ra, k-Means giả định (theo thiết kế) phân phối hình cầu, rất khập khiễng sẽ khiến bạn khóc (nhân một trong hai chiều với hai, và nhận được một cái gì đó hoàn toàn khác, bất kể hạt giống "thông minh" của bạn!). Và câu hỏi về các ngoại lệ (hiện diện trong BẤT K data dữ liệu trong thế giới thực mà tôi đã thấy!) Đơn giản là không được giải quyết trong K-Means, mặc dù chúng phá hủy hoàn toàn bất kỳ giả vờ nào mà K-Means có thể có về cụm "nghiêm trọng".
Emanuel Falkenauer

1
@EmanuelFalkenauer, chào mừng đến với trang web. Tôi đang bỏ phiếu (+1) cho câu trả lời của bạn, nhưng đó chỉ là một chút tự phụ. Làm thế nào K có thể giả vờ một cái gì đó cho một cái gì đó, nó không phải là một con người? Nó làm những gì nó làm, và nó không tệ, cho một phương pháp đơn giản / nhanh chóng.
ttnphns

@ttnphns: Cảm ơn bạn đã chào đón, và upvote! Tất nhiên, k-Means không giả vờ bất cứ điều gì (nó chỉ là một đoạn mã - xấu của tôi!), Nhưng mọi người quảng bá nó - như OP phát hiện ra. Tôi đồng ý với việc bạn chỉ ra rằng đó là một phương pháp "đơn giản / nhanh chóng" - nhưng rắc rối lớn là việc dựa vào đầu ra của nó trên bất kỳ dữ liệu đơn giản nhất nào cũng gần với tự tử: nó không chỉ đưa ra các giả định không tuân thủ hầu hết của thời gian, nhưng ngay cả khi họ, nó làm một công việc khủng khiếp. Bạn chỉ không giải quyết vấn đề tổ hợp với một hậu duệ dốc nhất. ;-)
Emanuel Falkenauer

6

Nói một cách logic, nhược điểm của K-nghĩa là:

  • cần phân tách tuyến tính của các cụm
  • cần chỉ định số lượng cụm
  • Thuật toán: Thủ tục Loyds không hội tụ đến mức tối đa toàn cầu thực sự ngay cả khi khởi tạo tốt khi có nhiều điểm hoặc kích thước

Nhưng K-nghĩa là tốt hơn chúng ta thường nghĩ. Tôi đã trở nên khá hào hứng với nó sau khi thử nghiệm nó với các phương pháp phân cụm khác (quang phổ, mật độ ...) và LDA trong phân loại văn bản ngoài đời thực của một triệu văn bản: K-mean có độ chính xác cao hơn nhiều so với LDA chẳng hạn (88% so với 59%). Một số phương pháp phân cụm khác là tốt, nhưng K-nghĩa là gần đầu ... và giá cả phải chăng hơn về độ phức tạp.

Tôi chưa bao giờ đọc về một phương pháp phân cụm tốt hơn trên nhiều vấn đề. Không nói K-nghĩa là tốt hơn về mặt phổ quát, chỉ là không có siêu anh hùng phân cụm phổ quát như tôi biết. Nhiều bài viết, nhiều phương pháp, không phải là một cuộc cách mạng thực sự (theo kinh nghiệm hạn chế cá nhân của tôi về việc thử nghiệm một số trong số chúng).

Lý do chính tại sao các nhược điểm logic của phương tiện K thường chỉ rõ ràng là các điểm phân cụm trong mặt phẳng 2D là điều bạn hiếm khi làm trong học máy. Nhiều thứ từ trực giác hình học có thật trong 2D, 3D ... không liên quan trong không gian vectơ khá cao hoặc trừu tượng (như túi từ, vectơ biến ...)

Phân tách tuyến tính: Bạn hiếm khi phải đối phó với các cụm tròn trong dữ liệu thực tế. Thậm chí tốt hơn khi cho rằng chúng không tồn tại trong những trường hợp này. Cho phép thuật toán của bạn tìm kiếm chúng sẽ cho phép nó tìm thấy các cụm tròn kỳ lạ trong tiếng ồn. Giả định tuyến tính trong K-nghĩa là làm cho nó thường mạnh mẽ hơn.

Số lượng cụm: Thường không có số lượng cụm lý tưởng thực sự mà bạn muốn xem. Ví dụ, để phân loại văn bản, có thể có 100 danh mục, 105, 110 ... tất cả đều khá chủ quan. Việc chỉ định số lượng cụm trở nên tương đương với việc chỉ định mức độ chi tiết toàn cầu. Tất cả các phương pháp phân cụm đều cần một đặc tả chi tiết.

Tối đa toàn cầu: Tôi nghĩ đó là một vấn đề thực sự. K-trừu tượng thực sự có nghĩa là sẽ bao gồm việc tìm kiếm mức tối thiểu toàn cầu cho SOD về cơ bản là NP-Hard. Chỉ có Lloyd là giá cả phải chăng và nó ... rất không hoàn hảo. Chúng tôi đã thực sự thấy rằng gần với mức tối thiểu thực sự (nhờ các bản sao) rõ ràng đã cải thiện chất lượng của kết quả. Nhân rộng các phương tiện K là một cải tiến nhưng không phải là một giải pháp hoàn hảo. Đối với một tập dữ liệu lớn, bạn sẽ cần để có cơ hội nhỏ để tìm mức tối thiểu thực sự. Các phương pháp khác như "hoàn thành nó với tìm kiếm tham lam" (được đề xuất trong Matlab) rất tốn kém về mặt thiên văn trong các bộ dữ liệu lớn.10a lot

Nhưng tất cả các thuật toán phân cụm có những hạn chế như vậy. Ví dụ: trong phân cụm phổ: bạn không thể tìm thấy các hàm riêng, chỉ gần đúng.

Trong cùng thời gian tính toán, một thư viện LDA được tối ưu hóa khá tốt so với các phương tiện K tự làm (không được tối ưu hóa hoàn hảo) của chúng tôi. Kể từ đó, tôi nghĩ khác đi một chút.


1

Để hiểu những nhược điểm của K-nghĩa, tôi thích nghĩ về mô hình đằng sau nó là gì.

K-mean là trường hợp đặc biệt của Mô hình hỗn hợp Gaussian (GMM). GMM giả định rằng dữ liệu đến từ hỗn hợp các phân phối Gaussian. Nói cách khác, có một xác suất nhất định rằng dữ liệu đến từ một trong của các phân phối Gaussian.KKK

Nếu chúng ta đặt xác suất ở mỗi Gaussian bằng nhau và làm cho các ma trận hiệp phương sai thành , trong đó là hằng số cố định giống nhau cho mỗi Gaussian và lấy giới hạn khi thì ta nhận được K-mean.σ 2 Tôi σ 2 K σ 20Kσ2Iσ2Kσ20

Vậy, điều này cho chúng ta biết những hạn chế của K-nghĩa là gì?

  1. K-có nghĩa là dẫn đến các cụm trông Gaussian đa biến.
  2. Do phương sai giữa các biến là như nhau, K-có nghĩa là dẫn đến các cụm trông giống hình cầu.
  3. Không chỉ làm cụm trông hình cầu, nhưng kể từ khi ma trận hiệp phương sai là như nhau trên nhóm, K-means dẫn đến cụm trông giống như các lĩnh vực tương tự.K
  4. K-có nghĩa là hướng tới các nhóm có kích thước bằng nhau.

K-mean thực sự là một thuật toán hạn chế. Ưu điểm là với các giả định ở trên, bạn có thể thực hiện thuật toán khá nhanh. Nhưng nếu hiệu suất phân cụm là mối quan tâm hàng đầu của bạn, K-mean thường quá hạn chế trong các tình huống thực tế.


2
Tôi không thể hoàn toàn đồng ý. Yêu cầu K-có nghĩa là một trường hợp cụ thể của hỗn hợp Gaussian là một khoảng cách xa. K-mean không giả định một loại phân phối cụ thể, như bình thường (do đó nó không phải là mặt bằng xác suất). Nó không giả định các cụm không chồng lấp (tức là không có "hỗn hợp"). Nó giả định các cụm hình cầu nhưng chính xác hơn để nói rằng nó giả định các đa giác lồi của các tế bào Voronoi. Có lẽ đúng khi nói K-nghĩa là không "mô hình hóa" bất cứ điều gì, nó không có tham chiếu trực tiếp đến quá trình tạo dữ liệu. K-có nghĩa là "có xu hướng về các nhóm có kích thước bằng nhau [theo số điểm]" - không nhất thiết phải như vậy.
ttnphns

4
@ttnphns Có thể thấy rằng k-mean thực sự là một trường hợp đặc biệt của GMM: en.wikipedia.org/wiki/K-means_clustering#Gaussian_Mixture_Model
TrynnaDoStat

It can be shown that. Khi đủ căng, bất cứ điều gì cũng có thể được "thể hiện" như mối quan hệ họ hàng, vượt quá lý trí.
ttnphns

2
@ttnphns Không, mọi thứ không thể được hiển thị bằng toán học.
TrynnaDoStat
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.