Я прочитал о SVM и узнал, что они решают проблему оптимизации, и идея максимальной маржи была очень разумной.
Теперь, используя ядра, они могут найти даже нелинейные границы разделения, что было здорово.
До сих пор я действительно не представляю, как SVM (специальная машина ядра) и машины ядра связаны с нейронными сетями?
Посмотрите комментарии Yann Lecun => здесь :
kernel methods were a form of glorified template matching
и здесь тоже :
Например, некоторые люди были ослеплены методами ядра из-за милой математики, которая сопровождает это. Но, как я уже говорил, в конце концов, машины с ядром - это мелкие сети, которые выполняют «согласованное сопоставление с шаблоном». В этом нет ничего плохого (SVM - отличный метод), но у него есть серьезные ограничения, о которых мы все должны знать.
Итак, мои вопросы:
- Как SVM связан с нейронной сетью? Как это мелкая сеть?
- SVM решает проблему оптимизации с четко определенной целевой функцией, как это делает сопоставление шаблона? Какой шаблон здесь соответствует входу?
Я предполагаю, что эти комментарии нуждаются в глубоком понимании пространств большого размера, нейронных сетей и машин ядра, но до сих пор я пытался и не мог понять логику этого. Но, безусловно, интересно отметить связь между двумя очень разными техниками мл.
РЕДАКТИРОВАТЬ: Я думаю, что понимание SVM с нейронной точки зрения было бы здорово. Я ищу подробный математический ответ на два вышеупомянутых вопроса, чтобы по-настоящему понять связь между SVM и нейронными сетями, как в случае линейных SVM, так и SVM с уловкой ядра.
Ответы:
SVM - это однослойная нейронная сеть с потерей шарнира как функцией потерь и исключительно линейной активацией. Концепция упоминалась в предыдущих потоках, таких как этот: Одноуровневая NeuralNetwork с активацией RelU, равной SVM?
Матрица Грамма (матрица ядра, если вы предпочитаете) является мерой сходства. Поскольку SVM допускает разреженные решения, прогнозирование становится вопросом сравнения вашей выборки с шаблонами, то есть векторами поддержки.
источник