SVM обрабатывает несбалансированный набор данных? Это какие-либо параметры (например, C или стоимость неправильной классификации), обрабатывающие несбалансированный набор данных?
SVM обрабатывает несбалансированный набор данных? Это какие-либо параметры (например, C или стоимость неправильной классификации), обрабатывающие несбалансированный набор данных?
Ответы:
Для несбалансированных наборов данных мы обычно меняем штраф за неправильную классификацию для каждого класса. Это называется взвешенным по классу SVM, что сводит к минимуму следующее:
Этот подход был введен довольно рано, он упоминается, например, в статье 1997 года:
Эдгар Осуна, Роберт Фрейнд и Федерико Джироси. Машины опорных векторов: обучение и применение. Технический отчет AIM-1602, 1997. ( pdf )
SVM могут работать с наборами данных с несбалансированными частотами классов. Многие реализации позволяют иметь различное значение штрафа за слабину (C) для положительных и отрицательных классов (что асимптотически эквивалентно изменению частот классов). Я бы порекомендовал установить значения этих параметров, чтобы максимизировать производительность обобщения на тестовом наборе, где частоты классов соответствуют ожидаемым при работе.
Я был одним из многих людей, которые писали статьи на эту тему, вот мои , я посмотрю, смогу ли я найти что-то более новое / лучшее. Попробуйте Веропулос, Кэмпбелл и Кристианини (1999).