Чому k-означає не дає глобального мінімуму?


17

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

Крім того, чому k - означає ітераційний процес? Чи не можемо ми просто частково диференціювати цільову функцію wrt до центроїдів, прирівняти її до нуля, щоб знайти центроїди, які мінімізують цю функцію? Чому нам потрібно використовувати градієнтний спуск, щоб досягти мінімального крок за кроком?


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

1
Я вважаю, що коли я частково диференціюю цільову функцію відносно одного центроїда, то точки у скупченні іншого центроїда зникають у похідній. Отже, центроїд, який ми можемо отримати, зведе до мінімуму лише суму квадратних відстаней лише конкретного кластера.
Prateek Kulkarni

3
Це частково це, але насправді не пояснює поведінку. Більш важливим є той факт, що присвоєння точок центроїдам є великою частиною того, що робить k-засоби. (Після того, як призначення буде виконано, центроїди легко обчислюються і нічого не залишається робити.) Це призначення дискретно : це не те, що можна взагалі диференціювати. Більше того, це комбінаторіально складне: існують способи призначення n точок кластерам k . Дійсно, використовувати градієнтне спуск для пошуку центроїдів зовсім непотрібно. O(nk)nk
whuber

Я згоден, частина завдання не може бути безпосередньо поставлена ​​в математичну форму. Тільки за допомогою цього ізольованого кроку ми можемо переміщувати центроїди навколо, щоб мінімізувати функції. Ось як я дивлюсь на спуск градієнта: Якщо ми, при поганій ініціалізації, знаходимось поблизу локальних мінімумів, спуск градієнта перетягне вас до місцевих мінімумів. Якщо ви знаходитесь поблизу глобальних мінімумів завдяки гарній ініціалізації, це потягне вас за глобальні мінімуми. Але те, як цей рух відображає кластерні завдання, є розмиттям.
Prateek Kulkarni

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

Відповіді:


10

Ви можете бачити k-засоби як спеціальну версію алгоритму ЕМ, яка може трохи допомогти.

Скажімо, ви оцінюєте багатоваріантний нормальний розподіл для кожного кластера з коваріаційною матрицею, закріпленою за матрицею ідентичності для всіх, але змінна середня де iμii - індекс кластера. Зрозуміло, що якщо параметри відомі, ви можете призначити кожній точці p її максимальний кластер імовірності (тобто μ i, для якого відстань до p мінімальне). Алгоритм ЕМ для цієї проблеми майже еквівалентний k-засобам.{μi}pμip

І навпаки, якщо ви знаєте, які точки належать до якого кластеру, ви можете оцінити оптимальні . Замкнута форма вирішення цього (що знаходить глобальний оптимум) в основному говорить , що знайти моделі за методом максимальної правдоподібності { μ яμi{μ^i} ви проинтегрировать всі можливі завдання точок для кластерів. Оскільки навіть із лише тридцятьма пунктами та двома кластерами є близько мільярда таких можливих призначень, це неможливо підрахувати.

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

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


Добре кажучи! Я відзначу це як відповідь!
Prateek Kulkarni

4

Це проблема, яку ви хочете вирішити:

minxi=1nj=1kxij||picj||2subject to:j=1kxij=1icj is the centroid of cluster jxij{0,1}i,j

Двійкова змінна вказує, призначається чи ні точка i кластеру j . Символи p i і c jxijijpicj позначають координати ї точки та центроїда j- го кластера відповідно. Обидва вони розташовані в R d , де d - розмірність точок даних.ijRdd

Перша група обмежень говорить про те, що кожну точку слід призначати саме одному кластеру. Друга група обмежень (яку ми математично не визначили) кажуть, що координати центроїда кластера насправді залежать від значень змінних x i j . Наприклад, ми можемо висловити це обмеження так: c jjxij

cj=ixijpijixij

Однак, замість того, щоб мати справу з цими нелінійними обмеженнями, у K-Means ми (приблизно) вирішуємо іншу задачу, яка має таке ж оптимальне рішення, як і наша вихідна задача:

minxi=1nj=1kxij||piyj||2subject to:j=1kxij=1ixij{0,1}i,jyjRdj

Замість того, щоб мінімізувати відстань до центроїдів, ми мінімізуємо відстань до будь-якого набору точок, що дасть краще рішення. Виявляється, ці точки є саме центроїдами.

Тепер для вирішення цієї проблеми ми повторюємо кроки 2-3 цього алгоритму до зближення:

  1. yj
  2. yjxij
  3. xijyj

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

xijyjyjxijyj


2

Простий приклад може допомогти ..

Давайте визначимо набір точок, які слід кластеризувати як A = {1,2,3,4}.

Скажіть, ви намагаєтесь знайти 2 відповідних кластера для A (2-значень). Існують (принаймні) дві різні настройки, які задовольняють стаціонарний стан k-засобів.

Налаштування 1:

Center1 = 1, Cluster1 = {1}
Center2 = 3, Cluster1 = {2,3,4}

Тут мета - 2. По суті, це сідловий пункт (спробуйте center1 = 1 + epsilonі center1 = 1 - epsilon)

Налаштування 1:

Center1 = 1.5, Cluster1 = {1,2}
Center2 = 3.5, Cluster1 = {3,4}

тут мета 1/4.

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

Можна використовувати варіант попереднього прикладу для створення двох різних локальних мінімумів. Бо A = {1,2,3,4,5}, встановлення cluster1={1,2}і cluster2={3,4,5}призведе до того ж об'єктивного значення, що cluster1={1,2,3}іcluster2={4,5}

Нарешті, що буде, якщо ви оберете

A = {1,2,3,4,6}
center1={2.5} cluster1={1,2,3,4} and 
center1={6} cluster1={6}

проти

center1={2} cluster1={1,2,3} and 
center1={5} cluster1={4,6}

?


0

[Це було раніше, ніж @Peter відповів]
Після невеликої дискусії (у розділі коментарів) я відчуваю, що мені потрібно відповісти на власне запитання.

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

@whuber додає:

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

Було б дивним, якби хтось мав додати більше.


0

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


Замість Гаусса, я думаю, ви маєте на увазі «унімодальний»
Петро Леопольд
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.