Как я определяю k при использовании кластеризации k-средств?

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

книги knuth могли дать Вам весь вариант определенных алгоритмов, необходимо сохранить память, или CPU, или идущий с уменьшенной точностью, минимизирующей погрешности округления

также, провел некоторое время, проверяя на весь встроенный API устройства - например, большинство телефонов symbian могло сделать аудиокодирование через специализированные аппаратные средства

136
задан Anony-Mousse 27 August 2015 в 14:09
поделиться

3 ответа

Вы можете максимизировать байесовский информационный критерий (BIC):

BIC(C | X) = L(X | C) - (p / 2) * log n

где L (X | C) - логарифмическая вероятность набора данных X в соответствии с моделью ] C , p - количество параметров в модели C , а n - количество точек в наборе данных. {{1} } См. «X-средства: расширение K -means с эффективной оценкой количества кластеров» Дэна Пеллега и Эндрю Мура в ICML 2000.

Другой подход - начать с большим значением для k и продолжайте удалять центроиды (уменьшая k) до тех пор, пока длина описания не перестанет уменьшаться. См. «Принцип MDL для устойчивого векторного квантования» Хорста Бишофа, Алеса Леонардиса и Александра Селба в Анализ паттернов и приложения т. 2, стр. 59-72, 1999.

Наконец, вы можете начать с одного кластера, а затем продолжать разбивать кластеры до тех пор, пока точки, назначенные каждому кластеру, не получат гауссовское распределение. В «Изучение k в k -средствах» (NIPS 2003) Грег Хамерли и Чарльз Элкан приводят некоторые доказательства того, что это работает лучше, чем BIC, и что BIC недостаточно сильно снижает сложность модели.

140
ответ дан 23 November 2019 в 23:40
поделиться

Basically, you want to find a balance between two variables: the number of clusters (k) and the average variance of the clusters. You want to minimize the former while also minimizing the latter. Of course, as the number of clusters increases, the average variance decreases (up to the trivial case of k=n and variance=0).

As always in data analysis, there is no one true approach that works better than all others in all cases. In the end, you have to use your own best judgement. For that, it helps to plot the number of clusters against the average variance (which assumes that you have already run the algorithm for several values of k). Then you can use the number of clusters at the knee of the curve.

36
ответ дан 23 November 2019 в 23:40
поделиться

Сначала постройте минимальное охватывающее дерево ваших данных. Удаление K-1 самых дорогих ребер разбивает дерево на K кластеров,
Таким образом, вы можете построить MST один раз, посмотреть на расстояние между кластерами / метрики для различных K, и взять колено кривой.

Это работает только для Single-linkage_clustering, но это быстро и просто. К тому же, MST делают хорошие визуальные эффекты.
Посмотрите, например, график MST под stats.stackexchange программы визуализации для кластеризации.

3
ответ дан 23 November 2019 в 23:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: