Зачем использовать косинусное сходство в Word2Vec, когда его обучают с использованием подобия точечного продукта - PullRequest
0 голосов
/ 29 января 2019

Согласно нескольким постам, которые я нашел в stackoverflow (например, это Почему word2Vec использует косинусное сходство? ), обычной практикой является вычисление косинусного сходства между двумя векторами слов после того, как мы обучили word2vec (либоCBOW или Skip-грамм) модель.Тем не менее, это кажется мне немного странным, так как модель на самом деле обучается с точечным произведением в качестве показателя сходства.Одним из доказательств этого является то, что норма векторов слова, которые мы получаем после обучения, на самом деле имеет смысл.Так почему же люди все еще используют косинусное сходство вместо точечного произведения при расчете сходства между двумя словами?

1 Ответ

0 голосов
/ 29 января 2019

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

...