Як зрозуміти недоліки К-засобів


365

K-засоби - це широко застосовуваний метод кластерного аналізу. Наскільки я розумію, цей метод НЕ вимагає жодних припущень, тобто дайте мені набір даних та заздалегідь задане число кластерів, k, і я просто застосую цей алгоритм, який мінімізує суму помилок у квадраті (SSE), кластер всередині кластеру помилка.

Тож k-засоби є по суті проблемою оптимізації.

Я прочитав деякі матеріали про недоліки k-засобів. Більшість з них кажуть, що:

  • k - означає, що дисперсія розподілу кожного атрибута (змінної) є сферичною;
  • всі змінні мають однакову дисперсію;
  • попередня ймовірність для всіх k кластерів однакова, тобто кожен кластер має приблизно рівну кількість спостережень;

Якщо будь-яке з цих 3 припущень порушено, k-засоби вийдуть з ладу.

Я не міг зрозуміти логіку цього твердження. Я думаю, що метод k-засобів по суті не передбачає припущень, він просто мінімізує SSE, тому я не бачу зв'язку між мінімізацією SSE і тими 3 "припущеннями".


49
Я б сказав, що кількість кластерів - це вже цілком припущення.
njzk2

30
Основними припущеннями k-засобів є: 1. є k кластери. 2. SSE - це правильна мета мінімізації. 3. всі кластери мають однаковий SSE. 4. всі змінні мають однакове значення для кожного кластеру. Це досить сильні припущення ...
Аноні-Мус

2
На ваше друге запитання (розміщене як відповідь, потім видалене): якщо ви хочете зрозуміти k-означає як проблему оптимізації, подібну до лінійної регресії, розумійте це як квантування . Він намагається знайти наближення даних до найменших квадратів за допомогою екземплярів. Тобто, якщо ви фактично замінили кожну точку найближчим центроїдом. к
Аноні-Мус

2
@ Аноні-Мусс, я прочитав деякий матеріал і пізніше придумав таку думку: означає, що статистична модель (а не метод оптимізації) передбачає, що в основі лежать k кластери, а дисперсія даних обумовлена ​​виключно нормальним випадковий шум з рівною дисперсією. Це аналогічно припущенню простої лінійної регресійної моделі. Тоді (я вважаю, я не знайшов статті) деякою версією теореми Гаусса-Маркова, k - означає, дасть вам послідовну оцінку середнього k кластерів, які ми припускали для наших даних. к-к-
КевінКім

1
Я додав ілюстрацію до своєї відповіді нижче набору даних, де можна припустити, що k-засоби працюють дуже добре (всі кластери однакової форми), але він все ще застряє в локальних мінімумах; і навіть 1000 ітерацій не знайшли оптимального результату.
Аноні-Мус

Відповіді:


273

Поки мені подобається відповідь Девіда Робінсона , ось додаткова критика k-засобів.

Кластеризація некластеризованих даних

Запустіть k-означає на єдиних даних, і ви все одно отримаєте кластери! Він не повідомляє вам, коли дані просто не кластеризуються, і таким чином ваше дослідження може пройти в глухий кут.

К-означає за єдиними даними

Чутлива до масштабу

Зміна масштабів ваших наборів даних повністю змінить результати. Хоча це саме по собі непогано, але не розуміючи, що вам доведеться витратити додаткову увагу на масштабування своїх даних, це погано. Коефіцієнти масштабування є додатковими г приховані параметри k-означає, що "за замовчуванням" до 1 і, таким чином, легко не помічаються, але мають великий вплив (але, звичайно, це стосується і багатьох інших алгоритмів).

Це, мабуть, те, що ви назвали "всі змінні мають однакову дисперсію". Окрім цього в ідеалі, ви також вважатимете нелінійним масштабування, коли це доречно.

Також майте на увазі, що масштабування кожної осі має лише евристичне значення для відхилення одиниць . Це не забезпечує роботу k-засобів. Масштабування залежить від значення набору даних. І якщо у вас є більше кластерів, ви хочете, щоб кожен кластер (незалежно) мав однакову дисперсію і в кожній змінній.

Ось класичний контрприклад наборів даних, який k-означає не може кластеризувати. Обидві осі є ідентичними в кожному кластері, тому досить було б зробити це в 1 вимірі. Але кластери мають різні варіації, і k-засоби, таким чином, розбивають їх неправильно.

K-засоби не можуть кластеризувати цей набір даних

Я не думаю, що цей контрприклад для k-засобів охоплюється вашими балами:

  • Усі скупчення сферичні (iid Gaussian).
  • Усі осі мають однаковий розподіл і, отже, дисперсію.
  • Обидва кластери мають по 500 елементів у кожному.

Тим не менше, k-засоби все ще погано виходять з ладу (і це стає гірше, якщо я збільшить дисперсію понад 0,5 для більшого кластера) Але: це не алгоритм, який не вдався. Це припущення, які не виконують . K-засоби працюють ідеально, це просто оптимізація неправильного критерію.

Навіть на ідеальних наборах даних він може застрягти в локальному мінімумі

Нижче представлено найкраще з 10 запусків k-засобів класичного набору даних A3. Це синтетичний набір даних, розроблений для k-засобів . 50 скупчень, кожна з форми Гаусса, досить добре розділені. Тим не менш, лише за допомогою k-означає ++ та 100 ітерацій я отримав очікуваний результат ... (нижче 10 ітерацій звичайних k-засобів, для ілюстрації).

k-означає набір даних A3

Ви швидко знайдете багато кластерів у цьому наборі даних, де k-значить не вдалося знайти правильну структуру. Наприклад, праворуч внизу кластер був розбитий на три частини. Але немає можливості, k-засоби збираються перемістити один з цих центроїдів до зовсім іншого місця набору даних - він знаходиться в пастці в локальному мінімумі (і це вже було найкращим з 10 запусків!)

І є багато таких локальних мінімумів в цьому наборі даних. Дуже часто, коли ви отримуєте два зразки з одного кластеру, він застрягає як мінімум там, де цей кластер залишається розщепленим, а два інші кластери зливаються замість цього. Не завжди, але дуже часто. Тож вам потрібно багато ітерацій, щоб мати вдалий вибір. Зі 100 ітерацій k-засобів я все-таки порахував 6 помилок, а з 1000 ітерацій я звів це до 4 помилок. K-означає ++ тим, як він зважує випадкові вибірки, працює набагато краще в цьому наборі даних.

Засоби безперервні

Хоча ви можете запускати k-засоби на двійкові дані (або однокольорові кодовані категоричні дані), результати більше не будуть двійковими. Таким чином, ви отримуєте результат, але ви, можливо, не зможете його інтерпретувати врешті-решт, оскільки він має інший тип даних, ніж ваші вихідні дані.

Приховане припущення: SSE варто мінімізувати

Це, по суті, вже є у наведеній вище відповіді, добре демонструється лінійною регресією. Є випадки використання, коли k-засоби мають ідеальний сенс. Коли Ллойду довелося розшифрувати сигнали PCM, він знав кількість різних тонів, і найменш квадратна помилка мінімізує ймовірність помилок декодування. І при кількісному квантуванні кольорів зображень ви мінімізуєте помилки кольорів і при зменшенні палітри. Але, за вашими даними, чи є сума відхилень у квадраті важливим критерієм для мінімізації?

У наведеному вище контрприкладі дисперсію не варто мінімізувати, оскільки це залежить від кластера. Натомість модель Гауссова суміші повинна відповідати даним, як на малюнку нижче:

Моделювання сумішей Гаусса

(Але це також не є кінцевим методом. Так само легко будувати дані, які не задовольняють припущенням "суміш k-гауссових розподілів", наприклад, додаючи багато фонового шуму)

Занадто проста у використанні погано

Загалом, кинути k-засоби на ваші дані занадто просто, і все-таки отримати результат (це майже випадково, але ви цього не помітите). Я думаю, що було б краще мати метод, який може вийти з ладу, якщо ви не зрозуміли своїх даних ...

К-означає як квантування

Якщо ви хочете теоретичну модель того, що робить k-означає, вважайте це підходом квантування , а не алгоритмом кластеризації.

Завдання k-засобів - мінімізація помилки в квадраті - є розумним вибором, якщо ви заміните кожен об'єкт його найближчим центроїдом. (Це має набагато менший сенс, якщо ви перевіряєте групи оригінальних даних IMHO.)

к

Це квантування, ймовірно, досить схоже на приклад лінійної регресії. Лінійна регресія знаходить найкращу лінійну модель . А k-означає знаходить (іноді) найкраще зменшення до k значень багатовимірного набору даних. Де "кращий" - це помилка з найменшим квадратом.

IMHO, k-означає - хороший алгоритм квантування (див. Перше зображення в цій публікації - якщо ви хочете наблизити набір даних до двох балів, це розумний вибір!). Якщо ви хочете зробити кластерний аналіз, як у структурі виявлення, то k-означає IMHO не найкращий вибір. Він схильний кластеризувати, коли немає кластерів, і він не може розпізнати різні структури, які ви бачите багато в даних.


Тонкий друк: усі зображення були створені за допомогою ELKI . Дані генерувались у .xmlформаті генерування даних, але вони настільки основні, що їх не варто ділитися.


17
(Просто зауважте - напевно, не годиться говорити про "вищевідповідь", оскільки порядок відповідей, який бачить читач, може бути змінним. Наприклад, якщо вони встановлять порядок відображення на "активний", то ваша відповідь власне той, що вище!)
Срібна рибка

1
@ Аноні-Мус Ця відповідь справді приголомшлива. Але до цього часу я якось забуваю, що ми зазвичай маємо на увазі, кажучи "k-засоби працюватимуть за певних умов, а в інших умовах вийдуть з ладу". Що означають у цьому контексті слово "робота" чи "провал"? Чи "робота" означає, що рішення, створене k-засобами, візуально "виглядає розумним"? Це щось невиразно. Або "робота" означає, якщо k-засоби забезпечують рішення, яке є таким же, як "стандартне рішення", тобто ми попередньо генеруємо набір даних і використовуємо k-засоби. У цьому контексті «робота» має сенс, але насправді дані не створюються заздалегідь деяким розповсюдженням.
КевінКім

Зазвичай люди посилаються на якусь основну істину, тобто як генеруються дані або на якусь мітку, приховану від алгоритму. Порівняння з генерованими даними віддасть перевагу алгоритмам, які оптимізують модель, яка використовувалася для генерації (наприклад, GMM та k-засоби для гауссів). І навіть на реальних і мічених даних ця оцінка стосується відтворення відомого результату. Коли ви розглядаєте аспект дослідницької роботи та знань, де ви хочете дізнатися щось нове . Але це все, що ми маємо.
Аноні-Мус

к

@TMOTTM це з k, обраним за попередніми знаннями. Найкраще з 10 запускається всі з апріорним обраним "правильним" k.
Аноні-Мус

450

Яке чудове запитання - це шанс показати, як можна було б перевірити недоліки та припущення будь-якого статистичного методу. А саме: складіть деякі дані та спробуйте алгоритм на них!

Ми розглянемо два ваших припущення, і побачимо, що відбувається з алгоритмом k-означає, коли ці припущення будуть порушені. Ми будемо дотримуватися двовимірних даних, оскільки їх легко уявити. (Завдяки прокляттям розмірності , додавання додаткових розмірів, ймовірно, зробить ці проблеми більш серйозними, не меншими). Ми працюємо з мовою статистичного програмування R: повний код ви можете знайти тут (а публікацію у формі блогу можна тут ).

Диверсія: квартет Анскомба

По-перше, аналогія. Уявіть, що хтось аргументував таке:

Я прочитав деякий матеріал про недоліки лінійної регресії - про те, що вона очікує лінійної тенденції, про те, що залишки нормально розподіляються, і що немає залишків. Але вся лінійна регресія робить це мінімізація суми помилок у квадраті (SSE) з передбачуваного рядка. Це проблема оптимізації, яку можна вирішити незалежно від форми кривої чи розподілу залишків. Таким чином, лінійна регресія не потребує припущень для роботи.

Ну так, лінійна регресія працює за рахунок мінімізації суми залишків у квадраті. Але це само по собі не є метою регресії: те, що ми намагаємося зробити, це провести лінію, яка служить надійним, неупередженим прогноктором y на основі x . Теорема Гаусса-Маркова говорить про те , що мінімізація SSE Досягається це goal- але теорема спирається на деякі дуже конкретні припущення. Якщо ці припущення порушені, ви все одно можете мінімізувати SSE, але це може не зробитищо завгодно. Уявіть собі: "Ви керуєте автомобілем, натискаючи на педаль: водіння - це, по суті," процес натискання педалі ". Педаль може бути натиснута незалежно від кількості газу в баку. Тому навіть якщо бак порожній, ви все одно можете натиснути педаль і загнати машину ".

Але розмова дешева. Давайте подивимось на холодні, важкі, дані. Або насправді складені дані.

введіть тут опис зображення

R2

Можна сказати: "Лінійна регресія все ще є працює в тих випадках, оскільки вона мінімізує суму квадратів залишків". Але яка пірорна перемога ! Лінійна регресія завжди буде проводити лінію, але якщо це безглузда лінія, кого це хвилює?

Тож тепер ми бачимо, що те, що може бути здійснена оптимізація, не означає, що ми досягаємо своєї мети. І ми бачимо, що складання даних та візуалізація їх - хороший спосіб перевірити припущення моделі. Дотримуйтесь цієї інтуїції, нам це знадобиться за хвилину.

Розбитий припущення: несферичні дані

Ви стверджуєте, що алгоритм k-означає буде добре працювати на несферичних кластерах. Несферичні скупчення типу ... це?

введіть тут опис зображення

Можливо, це не те, чого ви очікували, але це абсолютно розумний спосіб побудови кластерів. Дивлячись на це зображення, ми, люди, відразу розпізнаємо дві природні групи точок - їх не помиляємося. Отже, давайте подивимось, як працює k-означає: призначення відображаються кольором, імпутовані центри відображаються як X.

введіть тут опис зображення

Ну, це не так. K-засоби намагалися помістити квадратний кілочок у круглий отвір - намагався знайти приємні центри з акуратними сферами навколо них - і це не вдалося. Так, це все ще мінімізує внутрішню кількість кластерних квадратів, але так само, як у квартеті Anscombe вище, це перемога піру!

Ви можете сказати "Це не справедливий приклад ... жоден метод кластеризації не міг би правильно знайти кластери, які є такими дивними". Неправда! Спробуйте єдину зв'язок Ієрархічна кластеризація :

введіть тут опис зображення

Прибила його! Це пояснюється тим, що ієрархічна кластеризація однозв'язків робить правильні припущення для цього набору даних. (Є цілий інший клас ситуацій, коли він не вдається).

Ви можете сказати "Це єдиний, крайній, патологічний випадок". Але це не так! Наприклад, ви можете зробити зовнішню групу півколом замість кола, і ви побачите, що k-означає все ще робить жахливо (і ієрархічна кластеризація все ще справляється добре). Я міг легко придумати інші проблемні ситуації, і це якраз у двох вимірах. Коли ви кластерите 16-мірні дані, можуть виникнути всі види патологій.

Нарешті, я повинен зазначити, що k-засоби все-таки виправдовуються! Якщо ви почнете з перетворення даних у полярні координати , кластеризація зараз працює:

введіть тут опис зображення

Ось чому розуміння припущень, що лежать в основі методу, є найважливішим: він не просто говорить про те, коли у методу є недоліки, а й розповідає, як їх виправити.

Зламане припущення: нерівномірні кластери

Що робити, якщо кластери мають неоднакову кількість точок - це також розбиває k-означає кластеризацію? Ну, розглянемо цей набір кластерів розмірами 20, 100, 500. Я створив кожен з багатовимірних гауссів:

введіть тут опис зображення

Це виглядає так, що k-засоби, ймовірно, можуть знайти ці кластери, правда? Здається, все породжується в акуратні та охайні групи. Тож спробуємо k-означає:

введіть тут опис зображення

Ой. Що тут сталося - трохи тонкіше. У своєму прагненні мінімізувати внутрішньо-кластерну суму квадратів, алгоритм k-засобів надає більше «ваги» більшим кластерам. На практиці це означає, що він радий дозволити цьому маленькому кластеру закінчитись далеко від будь-якого центру, тоді як він використовує ці центри, щоб "розколоти" набагато більший кластер.

Якщо ви трохи пограєте з цими прикладами ( код R тут! ), Ви побачите, що ви можете побудувати набагато більше сценаріїв, коли k-засоби сприймають це бентежно неправильно.

Висновок: Безкоштовного обіду немає

Існує чарівна побудова математичного фольклору, формалізована Уолпертом та Маккіді , під назвою "Теорема вільного обіду". Це, мабуть, моя улюблена теорема з філософії машинного навчання, і я полюбляю будь-який шанс винести її (чи я зазначив, що я люблю це питання?) Основна ідея викладається (не суворо) так: "Якщо усереднюватись у всіх можливих ситуаціях, кожен алгоритм працює однаково добре ".

Звук протиінтуїтивний? Врахуйте, що для кожного випадку, коли працює алгоритм, я міг би побудувати ситуацію, коли він жахливо виходить з ладу. Лінійна регресія передбачає, що ваші дані падають уздовж лінії, але що робити, якщо за нею йде синусоїдальна хвиля? Т-тест припускає, що кожен зразок походить від звичайного розподілу: що робити, якщо ви кинете в сторонність? Будь-який алгоритм сходження на градієнт може потрапити в локальні максимуми, і будь-яка контрольована класифікація може бути введена в накладну.

Що це значить? Це означає, що припущення - звідки походить ваша сила!Коли Netflix рекомендує вам фільми, ви припускаєте, що якщо вам сподобається один фільм, вам сподобаються подібні (і навпаки). Уявіть собі світ, де це не було правдою, а ваші смаки ідеально випадково розкидані по жанрах, акторам та режисерам. Їх алгоритм рекомендацій жахливо вийшов би з ладу. Чи має сенс сказати "Ну, це все ще мінімізує деяку очікувану помилку в квадраті, тому алгоритм все ще працює"? Ви не можете скласти алгоритм рекомендацій, не роблячи певних припущень щодо смаків користувачів, як і ви не можете скласти алгоритм кластеризації, не роблячи припущень щодо природи цих кластерів.

Тому не приймайте лише ці недоліки. Знайте їх, щоб вони могли повідомити ваш вибір алгоритмів. Зрозумійте їх, щоб ви могли налаштувати свій алгоритм і трансформувати свої дані для їх вирішення. І люби їх, бо якщо твоя модель ніколи не може помилитися, це означає, що вона ніколи не буде правильною.



50
+1 за цю пристрасну відповідь. Мені особливо сподобався приклад полярної трансформації, ці розумні хитрощі ніколи не припиняють дивувати мій математично необізнаний мозок.
mugen

20
+ 1, це абсолютно прекрасна відповідь, яка чудово допомагає показувати, як припущення руйнуються, не занурюючись у деталі аналізу.
Луї Сіальделла

15
+1 Однією з найпоширеніших речей, на які люди мені скаржаться, є те, що теоретичні речі не працюють на практиці. Але коли я запитую "чи відповідають ваші дані припущенням моделі?" Я просто отримую порожній погляд з їхніх облич. Ваша відповідь і особливо заключний розділ зробили мене по-справжньому щасливим.
TenaliRaman

9
+1 Ого, я був деякий час, але, думаю, я ніколи не бачив відповіді, щоб отримати 50+ оновлень за один день. Це справді вражаюче досягнення.
амеба

7
Як я бачу, полярне перетворення в основному корисне тут як перший і без жаргону приклад щодо методів кластеризації ядра - де такий вид попередньої трансформації - як змусити лінійні методи навчання працювати.
Мікаель Вейджемо-Йоханссон

7

Я просто хотів би додати у відповідь @ DavidRobinson, що кластеризація до мінімальної сумарної дисперсії кластерів - це фактично проблема комбінаторної оптимізації , що k-Means - це лише одна методика - і з огляду на "один вистріл", локальний характер "найкрутішого походження" останнього, дуже погано теж. Крім того, намагання істотно покращити k-засоби «голих кісток» якось (але швидко!) З'ясовуючи, де повинні бути насіння кластера, з самого початку приречена: оскільки насіння впливає (різко!) На кінцеві скупчення, це становить "знати", що таке оптимум ... перш ніж його фактично обчислити.

Однак, як і більшість проблем з оптимізацією, вона все-таки може бути піддана деякій серйозній техніці оптимізації . Один з них дуже добре відповідає структурі проблеми (як цього вимагає НФЛ!), І це, безумовно, показує у своїх результатах. Я не хочу робити тут жодних оголошень (це було б - і це правильно - проти етикету), тому, якщо вам цікаво, просто прочитайте його тут і зробіть власне судження.

Зважаючи на це, я погоджуюся з @ttnphns, що k-Means, безумовно, не визначає Гауссову суміш - цінові функції двох проблем абсолютно різні. Виявляється, що пошук найкращого (з точки зору ймовірності моделі за даними даних) Гауссова суміш є також комбінаторною проблемою оптимізації - і тією, для якої існує також серйозна техніка оптимізації . Ще раз, ніяких оголошень: ви можете дійти власного висновку тут - я просто скажу, що обговорений там алгоритм дійсно може правильно визначити кластери, як останнє зображення в публікації @ DavidRobinson . Це навіть правильно (тобто математично чітко визначеним чином) вирішує багаторічну проблему людей, що переживають люди, тобто точки даних, які не належать до жодного з кластерів, оскільки вони просто абсолютно випадкові (як відомо, вони повністю скасовують, наприклад, k-Means ). Це робиться, якщо один додатковий, рівномірний розподіл конкурує з гауссами ... І чудовим результатом є те, що за рівномірно розподілених даних він справді повідомляє, що там нічого немає (я ніде цього не бачив).

Очевидно, згідно з даними NFL, і, як ви справедливо зазначали , навіть глобально оптимальні гауссові суміші із зовнішньою ідентифікацією дійсно покладаються на попереднє припущення - а саме, що дані дійсно поширюються нормально. До щастя , хоча, завдяки Закону великих чисел, численні природні явища дійсно відповідають цій умові.

ВІДПОВІДЬ: З глибокими вибаченнями я написав як статті, так і алгоритми, які вони обговорюють.

PS Я одного разу зустрівся з Маккірі на конференції - надзвичайно яскравого і приємного хлопця!


Це, мабуть, є відповіддю на запитання.
Майкл Черник

3
Насправді це відповідь, Майкл: k-Значить ВИГОТОВЛЯЄТЬСЯ вирішити, що насправді є проблемою комбінаторної оптимізації ... але це, безумовно, НЕ (не серйозно в жодному разі)! Також k-Means передбачає (за задумом) сферичні розподіли, які настільки кульгаві, що змусять вас плакати (помножте один з вимірів на два і отримаєте щось зовсім інше, незалежно від ваших "розумних" насіння!). І питання людей, що переживають люди (присутні в будь-яких даних реального я, які я бачив!) Просто не вирішується в k-Means, хоча вони повністю знищують будь-який вигляд, який може мати k-Means щодо "серйозної" кластеризації.
Емануель Фалькенауер

1
@EmanuelFalkenauer, ласкаво просимо на сайт. Я голосую (+1) за вашу відповідь, але це просто трохи претензійно. Як K-означає може прикидатися чимось на щось, не будучи людиною? Він робить те, що робить, і робить це не погано, для простого / швидкого методу.
ttnphns

@ttnphns: Дякую за привітання та нагороду! Ну і звичайно, що k-Means нічого не претендує (це просто шматок коду - це моє погано!), Але люди, які просувають це, роблять - як з'ясувала ОП. Я погоджуюся з вашим зазначенням, що це "простий / швидкий" метод, але велика проблема полягає в тому, що покладаючись на свої результати на будь-які, але найпростіші дані, близькі до суїцидальних: вони не лише роблять припущення, які не дотримуються більшості того часу, але навіть коли вони є, це робить жахливу роботу. Ви просто не вирішите комбінаторну проблему з найкрутішим спуском. ;-)
Емануель Фалькенауер

6

Логічно кажучи, недоліками K-засобів є:

  • потребує лінійної відокремленості кластерів
  • потрібно вказати кількість кластерів
  • Алгоритміка: процедура Лойда не збігається до справжнього глобального максимуму навіть при гарній ініціалізації, коли існує багато точок або розмірів

Але К-засоби кращі, ніж ми зазвичай думаємо. Я дуже захопився цим, випробувавши його на інших методах кластеризації (спектральний, щільність ...) та LDA в класифікації реального життя на мільйон текстів: K-засоби мали набагато кращу точність, ніж LDA, наприклад (88% проти 59%). Деякі інші методи кластеризації були хорошими, але К-засоби були близько до вершини ... і більш доступні за рівнем складності.

Я ніколи не читав про метод кластеризації, який є загально кращим для широкого кола проблем. Не кажучи про те, що K-засоби також є універсально кращими, лише те, що, наскільки я знаю, немає універсального кластеру супергероя. Багато статей, багато методів, не справжня революція (в моєму особистому обмеженому досвіді тестування деяких з них).

Основна причина, чому логічні недоліки K-засобів часто лише очевидні, полягає в тому, що кластеризація точок у двовимірній площині - це те, що рідко робиться в машинному навчанні. Багато речей з геометричної інтуїції, що відповідає дійсності в 2D, 3D ..., не мають значення в досить високих розмірах або абстрактних векторних просторах (наприклад, мішок слів, вектор змінних ...)

Лінійна відокремленість: рідко доводиться стикатися з круговими кластерами в реальних даних. Ще краще припустити, що їх у цих випадках не існує. Дозвіл вашого алгоритму шукати їх дозволить йому знаходити непарні кругові кластери в шумі. Лінійне припущення в K-засобах робить його часто більш надійним.

Кількість кластерів: Часто немає справжньої ідеальної кількості кластерів, яку ви хочете бачити. Наприклад, для класифікації тексту може бути 100 категорій, 105, 110 ... все це досить суб'єктивно. Визначення кількості кластерів стає рівнозначним визначенню глобальної деталізації. Усі методи кластеризації так чи інакше потребують специфікації деталізації.

10багато

Але всі алгоритми кластеризації мають такі обмеження. Наприклад, у спектральній кластеризації: ви не можете знайти справжніх власних векторів, лише наближення.

За той самий час обчислення досить оптимізована бібліотека LDA зробила менше користі, ніж наші домашні (не ідеально оптимізовані) K-засоби. З того часу я думаю трохи інакше.


1

Щоб зрозуміти недоліки K-засобів, мені подобається думати, що це за модель.

КК

К Гаусси рівні і складають матриці коваріації σ2Я, де σ2 - однакова фіксована константа для кожного з К Гауссі, і прийміть ліміт, коли σ20 тоді ми отримуємо K-засоби.

Отже, що це говорить нам про недоліки K-засобів?

  1. K-засоби призводять до кластерів, які виглядають багатоваріантними гауссами.
  2. Оскільки дисперсія в змінних однакова, K-засоби призводять до кластерів, які виглядають кулястими.
  3. Мало того, що кластери виглядають кулястими, але оскільки матриця коваріації однакова по всій К групи, K-засоби призводять до кластерів, схожих на одну сферу.
  4. К-засоби тяжіють до груп рівних розмірів.

К-засоби насправді є досить обмежуючим алгоритмом. Перевагою є те, що з припущеннями, наведеними вище, алгоритм можна виконати досить швидко. Але якщо продуктивність кластеризації є вашим головним питанням, K-засоби, як правило, занадто обмежуючі в реальних ситуаціях.


2
Я не можу повністю погодитися. Претензія К - означає, що це окремий випадок гауссової суміші, - це далеко не так. K-засоби не передбачають конкретного типу розподілу, такого як нормальний (тому це не є імовірнісним підґрунтям). Він припускає, що не збігаються кластери (тобто немає "змішування"). Він передбачає сферичні скупчення, але точніше сказати, він передбачає опуклі багатокутники клітин Вороного. Можливо, правильно сказати, що K-засоби нічого не "моделюють", він не має прямого посилання на процес генерації даних. K-означає "прагне до рівних за кількістю балів груп" - не обов'язково.
ttnphns

4
@ttnphns Можна показати, що k-засоби - це справді особливий випадок GMM: en.wikipedia.org/wiki/K-means_clustering#Gaussian_Mixture_Model
TrynnaDoStat

It can be shown that. При достатньому розтягуванні все може бути «показано» як спорідненість, поза розумом.
ttnphns

2
@ttnphns Ні, все не може бути математично показано.
TrynnaDoStat
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.