Я понял это и написал учебную статью об отрицательной выборке.
- Синяя рамка означает, что
u_j
исходит из распределения шума P_n(w)
. - Синяя рамка содержит аспект «случайного рисования» отрицательной выборки.
u_j
- это i
-ая отрицательная выборка из распределения шума, а также одновременно j
-й вектор слова в выходной весовой матрице. - Вы используете что-то вроде
np.random.choice()
Оригинальная функция стоимости, приведенная в оригинальной статье Word2Vec, на самом деле довольно запутанная с точки зрения обозначений.Более понятной формой функции стоимости будет:
, где c_pos
- слово-вектор для положительного слова, а h
- скрытый слойи эквивалентен вектору слова входного слова w
.c_neg
- вектор слов случайным образом нарисованных отрицательных слов, а W_neg
- вектор слов всех K
отрицательных слов.
Распределение шума - нормализованное распределение частот поднятых словк власти α
.Математически это может быть выражено как:
Распределение слов, основанное на том, сколько раз каждое слово появилось в корпусе, называется распределением униграмм, иобозначается как U(w)
.Z
- это коэффициент нормализации, а α
- это гиперпараметр, который обычно равен α=3/4
.
Повышение распределения до степени α
имеет эффект сглаживания распределения:
Попытки сражатьсядисбаланс между обычными и редкими словами за счет уменьшения вероятности рисования общих слов и увеличения вероятности рисования редких слов.
Отрицательные выборки случайным образом извлекаются из распределения шума:
import numpy as np
unig_dist = {'apple': 0.023, 'bee': 0.12, 'desk': 0.34, 'chair': 0.517}
sum(unig_dist.values())
>>> 1.0
alpha = 3 / 4
noise_dist = {key: val ** alpha for key, val in unig_dist.items()}
Z = sum(noise_dist.values())
noise_dist_normalized = {key: val / Z for key, val in noise_dist.items()}
noise_dist_normalized
>>> {'apple': 0.044813853132981724,
'bee': 0.15470428538870049,
'desk': 0.33785130228003507,
'chair': 0.4626305591982827}
Первоначально, chair
было самым распространенным словом и имело вероятность быть нарисованным 0.517
.После того как распределение униграмм U(w)
было возведено в степень 3/4
, оно имеет вероятность 0.463
.
С другой стороны, apple
было наименее распространенным словом вероятности 0.023
, но после преобразования имеет вероятность 0.045
.Дисбаланс между самым распространенным словом (chair
) и наименее распространенным словом (apple
) был смягчен.