Это не вопрос о Doc2Vec, а о принципах машинного обучения с многомерными данными.
Ваш подход сводит 100 измерений к одному измерению - расстоянию до вашей случайной точки. Затем вы надеетесь, что это единственное измерение все еще может быть предсказательным.
И примерно все, что LogisticRegression может сделать с этим однозначным вводом, - это попытаться выбрать пороговое число, которое, когда ваше расстояние находится на одной стороне этого порога, предсказывает класс, а с другой стороны - не этот класс.
Возвращая это однопороговое расстояние обратно к исходному 100-мерному пространству, он, по сути, пытается найти вокруг вашей случайной точки гиперсферу, которая хорошо справляется со сбором всего одного класса внутри или вне своего объема.
Каковы шансы, что ваша случайно расположенная центральная точка плюс один регулируемый радиус сможет сделать это хорошо в сложном многомерном пространстве? Я догадываюсь: не много. И ваши результаты, не лучше, чем случайное предположение, похоже, говорят о том же.
LogisticRegression с доступом ко всем 100 измерениям находит границу различения для присвоения класса, который описывается 100 коэффициентами и одним значением перехвата, и все эти 101 значение (свободные параметры) могут быть скорректированы для повышения производительности классификации.
Для сравнения, ваша альтернативная LogisticRegression с доступом только к одному измерению «расстояние от случайной точки» может выбрать только один коэффициент (для расстояния) и перехват / смещение. В нем есть 1/100 объема информации, с которой можно работать, и всего 2 свободных параметра для настройки.
В качестве аналогии рассмотрим гораздо более простое пространство: поверхность Земли. Выберите «случайную» точку, например, Южный полюс. Если я затем скажу вам, что вы находитесь в неизвестном месте в 8900 милях от Южного полюса, можете ли вы ответить, где вы, скорее, находитесь в США или Китае? Вряд ли - оба этих «класса» местоположения имеют множество экземпляров в 8900 милях от Южного полюса.
Только в крайних случаях расстояние скажет вам наверняка, к какому классу (стране) вы принадлежите - потому что есть части Аляски и Гавайев в США, расположенные дальше к северу и югу, чем части Китая. Но даже там вы не сможете хорошо справиться с одним порогом: вам понадобится правило, которое гласит: «меньше X или больше Y в США; иначе неизвестно».
100-мерное пространство векторов Doc2Vec (или других богатых источников данных) часто будет разумно разделено только гораздо более сложными правилами. И наша интуиция относительно расстояний и объемов, основанная на 2- или 3-мерных пространствах, часто сбивает нас с пути в больших измерениях.
Тем не менее, аналогия с Землей предлагает путь вперед: на земном шаре есть некоторые ориентиры, которые будут работать лучше, когда вы знаете расстояние до них, при принятии решения, находитесь ли вы в США или Китай. В частности, очень хорошо подойдет точка в центре США или в центре Китая.
Точно так же вы можете получить несколько лучшую точность классификации, если вместо случайного fix_vec
вы выберете либо (а) любую точку, для которой класс уже известен; или (б) некоторое среднее значение всех известных точек одного класса. В любом случае ваш fix_vec
, вероятно, будет «по соседству» с подобными примерами, а не в каком-то случайном месте (которое не имеет более существенного отношения к вашим классам, чем Южный полюс к странам умеренного пояса северного полушария).
(Также: альтернативный выбор N нескольких случайных точек, а затем передача N расстояний в вашу регрессию, сохранит больше информации / формы исходных данных Doc2Vec и, таким образом, даст классификатору больше шансов найти полезный порог разделения. Два, вероятно, будут лучше, чем ваше одно расстояние, а 100 могут приблизиться к 100 исходным размерам или превзойти их.)
Наконец, несколько комментариев об аспекте Doc2Vec:
Doc2Vec оптимизирует несколько хороших векторов в рамках своей модели с ограничениями при предсказании слов текста. Слова с позитивным настроением, как правило, встречаются вместе, как и слова с негативным настроением, и поэтому обученные док-векторы имеют тенденцию располагаться в аналогичных позициях, когда им нужно предсказать слова с одинаковым значением. Таким образом, вероятно, будут «окрестности» пространства док-векторов, которые хорошо коррелируют со словами, преимущественно положительными или отрицательными, и, следовательно, положительными или отрицательными настроениями.
Это не обязательно будут две гигантские окрестности, «положительная» и «отрицательная», разделенные простой границей, или даже небольшое количество окрестностей, соответствующих нашим представлениям о трехмерных твердых объемах. И многие тонкости общения - такие как сарказм, отсылка к несогласованному мнению для его критики, уделение большего количества времени отрицательным аспектам, но в конечном итоге положительный вывод и т. Д. - означают вторжение в тексты альтернативных слов. Человек-агент, полностью понимающий язык, мог бы понять их, чтобы сделать вывод об «истинном» мнении, в то время как эти методы, основанные на словосочетании, по-прежнему будут путать.
Но при наличии адекватной модели и правильного числа свободных параметров классификатор может уловить некоторую обобщаемую информацию о многомерном пространстве. В этом случае вы можете добиться достаточно хороших прогнозов, используя размеры Doc2Vec - как вы видели с ~ 80% + результатов для полных 100-мерных векторов.
person
gojomo
schedule
01.06.2017