В Word2Vec я узнал, что и CBOW, и Skip-gram создают значение однократного кодирования для создания вектора (cmiiw), мне интересно, как вычислить или представить значение однократного кодирования в вектор с действительным значением, например (источник: блог DistrictDataLab о распределенных представлениях ) из этого: в:
помогите, пожалуйста, я изо всех сил пытался найти эту информацию.
Как рассчитать значение One-Hot Encoding в вектор с действительным знаком?
Ответы (1)
Сам алгоритм word2vec — это то, что постепенно изучает вектор с действительным знаком с различными значениями размерности.
В отличие от горячего кодирования эти векторы часто называют «плотными вложениями». Они «плотные», потому что в отличие от горячего кодирования, которое является «разреженным» со многими измерениями и в основном нулевыми значениями, они имеют меньше измерений и (обычно) не содержат нулевых значений. Они являются «встраиванием», потому что они «встраивают» дискретный набор слов в другую непрерывную систему координат.
Вам следует прочитать оригинальную статью word2vec, чтобы получить полное формальное описание того, как создаются плотные вложения. .
Но суть в том, что плотные векторы начинаются совершенно случайно, поэтому внутренняя нейронная сеть алгоритма поначалу бесполезна для предсказания соседних слов. Но каждый (контекст) -> (целевой) пример обучения слов из текстового корпуса проверяется на сети, и каждый раз, когда отличие от желаемого прогноза используется для применения крошечного подталкивания к лучшему прогнозу как к слову-вектору и значения веса внутренней сети.
Повторяясь много раз, сначала с большими сдвигами (более высокая скорость обучения), а затем со все меньшими сдвигами, плотные векторы перестраивают свои координаты от их первоначальной случайности к полезному относительному расположению — такому, которое является настолько хорошим, насколько это возможно для предсказания обучающий текст с учетом ограничений самой модели. (То есть любой дальнейший толчок, который улучшает предсказания на одних примерах, ухудшает их на других, так что вы можете считать, что обучение завершено.)
Затем вы считываете результирующие векторы плотного вложения из модели и используете их для целей, отличных от предсказания близлежащих слов.