2013-05-03 2 views
1

Я попытался использовать подход K-means clustering к проблеме, которая сформулирована аналогично Wikipedia.Как настроить кластеризацию K-средних?

минимизировать сумму в пределах кластера-квадратов (WCSS):

но в моей формулировке внутри-кластера сумма модулей должна быть сведена к минимуму.

Даны целые числа X и количество кластеров k. Нужно выбрать значения k целых чисел k mu, так что внутри кластера сумма модулей разностей минимизируется.

Я делал это interatively, подбирая начальные mu значений случайным образом, а затем корректируя его к среднему значению элементов, отнесенных к кластеру.

Однако этот подход дает правильный ответ только для простых тестовых случаев.

+2

Что вы подразумеваете под термином «этот подход дает правильный ответ только для простых тестовых случаев»? Подход К-мер работает так, как вы описали: вы зацикливаетесь между двумя следующими этапами, пока центры больше не меняются: 1. Вы вычисляете новый mu. 2. Вы назначаете каждый элемент ближайшему центру. – JonesV

+0

Что этот вопрос имеет отношение к Java? – durron597

+0

@ user1368342, я ожидаю, что он минимизирует не правильную функцию полезности. В статье wiki указано, что квадраты сведены к минимуму. Моя функция полезности отличается. –

ответ

1

Что вы подразумеваете под «правильным ответом»? K-средство строго зависит от начального условия (случайные выбранные начальные средние центры) и распределения данных. Не гарантируется, что вы всегда получаете одинаковые средние центры для распространения.

+0

Да, я знаю, что я не всегда сходится к оптимальному решению. Поэтому я запускаю его 500/1000 раз и выбираю оптимальное значение. –

Смежные вопросы