Как косинусное сходство используется с алгоритмом K-средних?

Для трех векторов текстовых документов, имеющих разную длину в своих векторах в VSM, где записи представляют собой tf-idf терминов:

Q1: как косинусное сходство, используемое k-средними, влияет на то, как строятся кластеры.

Вопрос 2: когда я использую алгоритм TF-IDF. Его производят отрицательные значения, есть ли проблема в моем расчете?

Пожалуйста, используйте следующие векторы документов VSM (tf.idf), где все они имеют разную длину вектора для пояснений.

Doc1 (0.134636045, -0.000281926, -0.000281926, -0.000281926, -0.000281926, 0)
Doc2 (-0.002354898, 0.012411358, 0.012411358, 0.09621575, 0.3815553)
Doc3(-0.001838258, 0.009688438, 0.019376876, 0.05633028, 0.59569238, 0.103366223, 0) 

Я буду благодарен любому, кто может дать объяснение по моему вопросу.


person wilyam walass    schedule 07.02.2017    source источник
comment
Я голосую за то, чтобы закрыть этот вопрос как не по теме, потому что этот вопрос, похоже, уходит корнями в математику, а не в программирование. Этот вопрос может быть актуален на некоторых других математических сайтах SE, таких как MathOverflow или Mathematics, хотя проведите собственное исследование на предмет актуальности, прежде чем публиковать там.   -  person HPierce    schedule 07.02.2017


Ответы (1)


Косинусное подобие означает, что вы берете скалярное произведение вектора / среднего центра k, а не евклидово расстояние.

Скалярный продукт равен a.xb.x + a.yb.y ... + a.zz*b.zz для всех измерений. Обычно вы сначала нормализуете векторы. Затем вызовите acos() для результата.

По сути, вы делите результаты на сектора, а не на случайно сгруппированные кластеры.

person Malcolm McLean    schedule 07.02.2017