Інтерпретація результату кластеризації k-засобів у R


12

Я використовував kmeansінструкцію R для виконання алгоритму k-означає на наборі даних ірису Андерсона. У мене питання про деякі параметри, які я отримав. Результати:

Cluster means:
  Sepal.Length Sepal.Width Petal.Length Petal.Width
1     5.006000    3.428000     1.462000    0.246000

У цьому випадку, що означає «Кластер»? Це середнє значення відстаней усіх об'єктів у кластері?

Також в останній частині я маю:

Within cluster sum of squares by cluster:
[1] 15.15100 39.82097 23.87947
 (between_SS / total_SS =  88.4 %)

Це значення 88,4%, якою може бути його інтерпретація?


4
Будь ласка , не перехрещуйтесь! stackoverflow.com/q/14524818/429846
Гавін Сімпсон

Ні, це лише середня величина всіх об'єктів всередині першого кластеру (всього 3). Ви можете отримати 88,4% за iris.km $ betweenss / iris.km $ totss
dfhgfh

Прочитайте будь-яку статтю про k-засоби . Тоді повинно бути очевидним, що означає клістер ... К-засоби не засновані на відстані . Це мінімізує відхилення ака: "сума відхилень у квадраті".
Мав QUIT - Anonymous-Mousse

Припустимо, що середнє значення дорівнює 0. Зробіть математику. Перевірте, чи припускає вище припущення. Живіть після цього щасливо. Прибуток!
mia

Відповіді:


23

Якщо обчислити суму квадратних відстаней кожної точки даних до середньої вибірки, ви отримаєте total_SS. Якщо замість обчислення середньої загальної вибірки (або 'центроїда') ви обчислюєте по одній групі (тут є три групи), а потім обчислюєте суму квадратних відстаней цих трьох засобів до загальної середньої величини, ви отримуєте between_SS. (Обчислюючи це, ви помножуєте відстань у квадраті кожного середнього на глобальне середнє на кількість точок даних, які він представляє.)

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


14

K-засоби - це не алгоритм кластеризації, заснований на відстані .

K-означає пошук мінімальної суми присвоєння квадратів , тобто мінімізує ненормалізовану дисперсію (= total_SS) шляхом присвоєння точок центрам кластерів.

Для того, щоб k-засоби збіглися, вам потрібно дві умови:

  • переназначення точок зменшує суму квадратів
  • перерахунок середнього значення зменшує суму квадратів

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

Щоразу, коли ви маєте намір змінити функції призначення, ви ризикуєте зробити алгоритм більше не припиненим, як собака переслідує власний хвіст. По суті, обидва кроки повинні погоджуватися щодо цільової функції. Ми знаємо, що середнє арифметичне є оптимальним вибором відносно суми квадратів . І для першого кроку ми можемо просто обчислити для кожного середнього та вибрати те, що є мінімальним. Технічно тут немає розрахунку на відстані . Математично присвоєння найменшої суми квадратів дорівнює присвоєнню замиканням у квадраті евклідової відстані, яка (якщо ви витрачаєте цикли процесора на обчислення ) дорівнює мінімальній евклідовій відстані. Отже, інтуїціяi(хi-мкji)2jsqrt присвоєння кожної точки найближчому середньому є правильним, але не те, що робить проблема оптимізації.

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

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

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

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

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


цікавий момент +1
Cam.Davidson.Pilon

1
Чому тут немає обчислення відстані (у кменах)? Для того, щоб обчислити дисперсію, необхідно обчислити відстань кожного елемента до середнього, так що чітко береться обчислення відстані, чи не так?
Funkwecker

Варіантність зазвичай не визначається через відстань, а як "очікуване значення відхилення у квадраті від середнього".
Є QUIT - Anonymous-Mousse
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.