Comments 6
Спасибо за мешок полезностей
Стоит еще отметить, что линейная регрессия с регуляризацией L1 хорошо работает при отборе признаков, когда их можно отсортировать по коэффициентам, которые будут отражать значимость фич для обученной модели.
Недавно мне задали вопрос на собеседовании: «в каких задачах следует применять SVM, а в каких нейронные сети».
Я так подумал и решил что в наши дни смысла в SVM особо нет. Ведь обычная полносвязная сеть с одним скрытым слоем (и margin/hinge loss) это тот же SVM, но с нелинейностью. С учетом relu, который особо не добавляет вычислительной сложности, полносвязная сеть всегда будет лучше. Т.е. за избыточнось в виде нелинейности для тех задач, в которых данные могут быть поделены линейно, мы особо лишнего не платим.
Если я ошибаюсь и есть такие задачи, где SVM будет эффективней, то буду рад услышать об этом подробней
Я так подумал и решил что в наши дни смысла в SVM особо нет. Ведь обычная полносвязная сеть с одним скрытым слоем (и margin/hinge loss) это тот же SVM, но с нелинейностью. С учетом relu, который особо не добавляет вычислительной сложности, полносвязная сеть всегда будет лучше. Т.е. за избыточнось в виде нелинейности для тех задач, в которых данные могут быть поделены линейно, мы особо лишнего не платим.
Если я ошибаюсь и есть такие задачи, где SVM будет эффективней, то буду рад услышать об этом подробней
Как насчёт one-class SVM для обнаружения аномалий? У нейронных сетей с обнаружением аномалий раньше (до этой статьи: Lukas Ruff, Nico Görnitz, Lucas Deecke, Shoaib Ahmed Siddiqui, Robert A. Vandermeulen, Alexander Binder, Emmanuel Müller, Marius Kloft:
Deep One-Class Classification. ICML 2018: 4390-4399) были проблемы с определением аномалий. В то же время, ocSVM выдаёт чёткий и понятный outlier score — расстояние до hyperplane.
Deep One-Class Classification. ICML 2018: 4390-4399) были проблемы с определением аномалий. В то же время, ocSVM выдаёт чёткий и понятный outlier score — расстояние до hyperplane.
SVM – линейная модель, такая как линейная/логистическая регрессия
По крайней мере, это не «вся правда», а в паре с приведённой в том же параграфе ссылкой может ввести в заблуждение:
Полезная ссылка:
sklearn.svm.SVC
Да, изначально SVM была линейной, но уже довольно давно стало ясно, что в ней можно использовать «kernel trick» с разными нелинейными ядрами, которые на некоторых задачах показывают лучший результат. Об этом можно хоть на Википедии прочитать.
В приведённом классификаторе sklearn.svm.SVC по умолчанию как раз используется нелинейное ядро из радиальных базисных функций (
kernel : string, optional (default=’rbf’)
). То есть, это нелинейный классификатор, в котором, кстати, нет ничего экзотического. Для линейной классификации можно использовать sklearn.svm.LinearSVC.Sign up to leave a comment.
Must-have алгоритмы машинного обучения