Я использовал один класс SVM , реализованный в scikit-learn, для своей исследовательской работы. Но у меня нет хорошего понимания этого.
Может ли кто-нибудь дать простое, хорошее объяснение одного класса SVM ?
источник
Я использовал один класс SVM , реализованный в scikit-learn, для своей исследовательской работы. Но у меня нет хорошего понимания этого.
Может ли кто-нибудь дать простое, хорошее объяснение одного класса SVM ?
Как говорится в документации, проблема, решаемая One Class SVM, заключается в обнаружении новизны . Оригинальный документ, описывающий, как использовать SVM для этой задачи, - « Метод опорных векторов для обнаружения новизны ».
Идея обнаружения новизны заключается в обнаружении редких событий, то есть событий, которые происходят редко и, следовательно, у вас очень мало образцов. Проблема в том, что обычный способ обучения классификатора не сработает.
Итак, как вы решаете, что такое новый шаблон? Многие подходы основаны на оценке плотности вероятности для данных. Новинка соответствует тем образцам, где плотность вероятности «очень низкая». Как низко зависит от приложения.
Теперь SVM - это методы с максимальным запасом, то есть они не моделируют распределение вероятностей. Здесь идея состоит в том, чтобы найти функцию, которая является положительной для областей с высокой плотностью точек и отрицательной для малых плотностей.
Мелкие детали приведены в статье. ;) Если вы действительно намерены просмотреть документ, сначала убедитесь, что вы понимаете настройки базового алгоритма SVM для классификации. Это значительно облегчит понимание границ и мотивации алгоритма.
Вы можете использовать One Class SVM для какого-либо конвейера для активного обучения каким-то полууправляемым способом.
Пример: Поскольку SVM имеет дело с методом максимального запаса, как описано выше, вы можете рассматривать эти поля полей как границы для некоторого определенного класса и выполнять перемаркировку.
источник