2015-08-05 3 views
2

У меня есть матрица A = (a1,a2,a3,...,an)', где a1, a2,..., an - векторы строк. Я хочу применить алгоритм k-means к матрице A, чтобы скопировать вектор строки ai(i=1,2,3...,n) в k кластеров или более. Предположим, что b1, b2, b3,...,bk являются центрами кластеров k, k выборок случайным образом выбираются как начальные центры кластеров k. Все образцы (a1,a2,a3,...,an) классифицируются по их косинусовому расстоянию до центров bi (i=1,2,3,...,k) до k классов, то есть k кластеров. Центры кластеров k пересчитываются, все образцы реклассифицируются до тех пор, пока центры не изменятся, а затем получаются конечные центры b1,b2,b3,...,bk. Для каждого кластера сохраняется только вектор, ближайший к центру кластера. Как это реализовать?Как применить алгоритм K-среднего к многомерному массиву?

+0

Вам необходимо написать все это самостоятельно или вам разрешено использовать библиотеки? –

+0

@ Это волшебство, мне разрешено использовать библиотеки. – Shawn

ответ

2

Функция kmeans (в справочной системе ) выполняет именно это. Просто используйте:

C = kmeans(A, k, 'Distance', 'cosine') 

для получения желаемого результата.

Лучшее,

+0

Я хочу применить его к вектору строки ai (i = 1,2,3 ..., n) к k кластерам или более. Не просто примените его к матрице А. Как это представить? И я также хочу это понять: для каждого кластера сохраняется только вектор, ближайший к центру кластера. Вы имеете в виду, что здесь «C» дает нам «вектор», ближайший к центру кластера? – Shawn

+0

@Shawn Вы прочитали документацию по kmeans (ссылки в ответе)? В нем объясняется, что вывод 'C' является ячейкой массивов, каждая из которых содержит индексы кластеризованных строк. Он также объясняет, что он рассматривает входную матрицу 'A' как совокупность векторов строк, которая, насколько я понимаю, является тем, что вы просили. – Ratbert

+0

@Shawn Не уверен, что вы не понимаете, что означает ваш «ближайший вектор». Я предполагаю, что вы можете сделать небольшой почтовый процесс, чтобы получить барицентры и вычислить ближайшие векторы. – Ratbert

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