Работа с небольшим количеством примеров в иерархической классификации текста - PullRequest
0 голосов
/ 25 октября 2018

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

  • подгоняем одну модель к данным для прогнозирования суперкласса;
  • , затем в цикле подбираем отдельную модель для каждая суперклассов для прогнозирования подкласса.

К сожалению, некоторые суперклассы имеют чрезвычайно небольшое количество примеров - до 1 примера в классе!Конечно, я не могу построить модель, предсказывающую подкласс на одном примере.Единственное, что можно сделать - это удалить такой суперкласс из набора данных.Можно попытаться построить модель на 2 примерах (1 - для поезда, 1 - для тестовых наборов и всегда прогнозировать один и тот же уникальный подкласс для этого суперкласса).Ограничение количества примеров до 3, 5, 10, ... модель для таких малонаселенных суперклассов начнет иметь хоть какой-то смысл.

Работа с этой проблемой небольшого числа примеров - это профессия- между полезностью модели и характеристиками модели .С одной стороны, мне нужны эти малонаселенные суперклассы, потому что, когда я получу следующий реальный набор данных - наверняка будут примеры из таких «дрянных» суперклассов, и я хочу иметь возможность прогнозировать подкласс для таких примеров.,С другой стороны, я просто не могу применить классификатор к набору данных, потому что я либо не могу правильно разделить его на обучающие и тестовые наборы (например, суперкласс имеет 100 примеров, из которых 1 пример относится к подклассу А и 99 примеровотносятся к подклассу B) или производительность модели низкая из-за неспособности учиться хорошо в небольшом числе случаев.

Вопрос в том, каковы типичные подходы для решения такой проблемы?

  • Существуют ли какие-либо практические правила для определения минимального (порогового) значения количества примеров в суперклассе для построения более или менее надежной модели, прогнозирующей его подклассы?
  • следует ли применять передискретизацию для малонаселенных супер / подклассов?И поможет ли это хотя бы решить проблему разделения поезда / теста?
  • extra: Предположим, я отбросил примеры с малонаселенными суперклассами.Затем я предсказываю вероятность на новом тестовом наборе -> модель даст некоторую (может быть, высокую) вероятность того, что пример принадлежит густонаселенному суперклассу X, но в действительности он принадлежит некоторому малонаселенному суперклассу, на который я сбросилэтап обучения.Должен ли я просто жить с этим?Или есть способ определить из распределения вероятностей по суперклассам, что модель делает неправильно?
...