Обучающий набор - доля положительных / отрицательных / нейтральных предложений

StackOverflow https://stackoverflow.com/questions/2058790

Вопрос

Я вручную помечаю сообщения в Twitter как Положительные, Отрицательные, Нейтральные.Я пытаюсь понять, есть ли какая-то логика, которую можно использовать для определения из обучающего набора, какая доля сообщений должна быть положительной / отрицательной и нейтральной?

Так, например, дляесли я обучаю наивный байесовский классификатор с 1000 сообщениями в Twitter, должна ли доля pos :отрицательный :нейтральный быть 33 % :33% :33% или должно быть 25 % :25 % :50 %

Логически в моей голове складывается впечатление, что я тренируюсь (т.е.приведите больше примеров для нейтральных предложений), что система будет лучше идентифицировать нейтральные предложения , чем независимо от того, являются ли они положительными или отрицательными - это правда?или я упускаю здесь какую - то теорию ?

Спасибо Рахул

Это было полезно?

Решение

Проблема, на которую вы ссылаетесь, известна как проблема дисбаланса.Многие алгоритмы машинного обучения плохо работают, когда сталкиваются с несбалансированными обучающими данными, т.е.когда экземпляры одного класса сильно превосходят по численности экземпляры другого класса.Читать эта статья чтобы получить хорошее представление о проблеме и о том, как к ней подойти.Для таких методов, как наивный Байес или деревья принятия решений, всегда полезно как-то сбалансировать ваши данные, напримерметодом случайной передискретизации (описано в справочном документе).Я не согласен с предложением mjv сделать тренировочный набор соответствующим пропорциям в реальном мире.Это может быть уместно в некоторых случаях, но я совершенно уверен, что это не в ваших условиях.Для задачи классификации, подобной той, которую вы описываете, чем больше различаются размеры наборов классов, тем больше у большинства алгоритмов ML будет проблем с правильным различением классов.Однако вы всегда можете использовать информацию о том, какой класс в действительности является самым большим, взяв ее в качестве запасного варианта, так что, когда достоверность классификатора для конкретного экземпляра низкая или этот экземпляр вообще нельзя классифицировать, вы бы присвоили ему самый большой класс.

Еще одно замечание:поиск позитива / негатива / нейтральности в сообщениях Twitter, как мне кажется, зависит от степени.Таким образом, это может рассматриваться скорее как регрессия, чем как проблема классификации, т.е.вместо трехклассовой схемы вы, возможно, захотите рассчитать оценку, которая скажет вам как положительное / отрицательное сообщение таково.

Другие советы

Есть много других факторов...но важным фактором (при определении подходящего соотношения и объема обучающих данных) является ожидаемое распределение каждой категории сообщений (положительных, Нейтральных, Негативных) в реальном мире.Эффективно, хорошая основа для тренировочного набора (и набор элементов управления) равен

  • [качественно] максимально репрезентативный для всего "населения"
  • [количественно] достаточно большой, чтобы измерения, сделанные на основе таких наборов, были статистически значимыми.

Влияние [относительного] изобилия определенной категории сообщений в обучающем наборе трудно определить;в любом случае это меньший фактор - или, скорее, тот, который очень чувствителен к другим факторам.Повышение точности классификатора в целом или в отношении конкретной категории, как правило, в большей степени связано с конкретной реализацией классификатора (например.является ли это байесовским, что это за токены, устранены ли шумовые токены, является ли близость фактором, используем ли мы биграммы и т.д. ), Чем чисто количественный характеристики обучающего набора.

Хотя вышесказанное в целом является фактическим, но умеренно полезным для выбора размера и состава тренировочного набора, существуют способы определения, постфактум, когда будет предоставлен достаточный объем и состав обучающих данных.
Одним из способов достичь этого является введение набора элементов управления, т.е.один помеченный вручную, но не являющийся частью обучающего набора, и для измерения для различных тестовых запусков с различными подмножествами обучающего набора отзыва и точности, полученных для каждой категории (или некоторых аналогичных измерений точности), для этого используется классификация контрольного набора.Когда эти измерения не улучшаются и не ухудшаются, помимо того, что является статистически репрезентативным, размер и состав обучающего [подмножества], вероятно, являются правильными (если только это не слишком подходящий набор :-(, но это совсем другая проблема...)

Этот подход подразумевает, что используется обучающий набор, размер которого может быть в 3-5 раз больше эффективно необходимого обучающего подмножества, так что можно случайным образом (в пределах каждой категории) создавать множество различных подмножеств для различных тестов.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top