Я использую Word2Vec с набором данных примерно из 11 000 000 токенов, стремясь сделать сходство обоих слов (как часть извлечения синонимов для последующей задачи), но у меня нет четкого представления о том, сколько измерений я должен использовать с Word2Vec. Есть ли у кого-нибудь хорошая эвристика для диапазона измерений, которые следует учитывать в зависимости от количества токенов/предложений?
Word2Vec: количество измерений
Ответы (3)
Типичный интервал составляет от 100 до 300. Я бы сказал, что вам нужно как минимум 50D для достижения самой низкой точности. Если вы выберете меньшее количество измерений, вы начнете терять свойства многомерных пространств. Если время обучения не имеет большого значения для вашего приложения, я бы придерживался размеров 200D, поскольку это дает хорошие возможности. Чрезвычайную точность можно получить с 300D. После 300D слов характеристики не улучшатся кардинально, а обучение будет крайне медленным.
Я не знаю теоретического объяснения и строгих границ выбора измерений в многомерных пространствах (и для этого может не быть независимого от приложения объяснения), но я бы отослал вас к Pennington et. al, рисунок 2a, где ось x показывает размерность вектора, а ось y показывает полученную точность. Это должно обеспечить эмпирическое обоснование вышеуказанного аргумента.
Я думаю, что количество измерений из word2vec зависит от вашего приложения. Наиболее эмпирическое значение составляет около 100. Тогда он может работать хорошо.
Количество размеров отражает чрезмерную/недостаточную посадку. 100-300 измерений - это общеизвестно. Начните с одного числа и проверьте точность вашего тестового набора по сравнению с тренировочным. Чем больше размер измерения, тем легче он будет переобуваться на тренировочном наборе и иметь плохие результаты в тесте. Настройка этого параметра требуется, если у вас высокая точность на тренировочном наборе и низкая точность на тестовом наборе, это означает, что размер измерения слишком велик, и его уменьшение может решить проблему переоснащения вашей модели.