Этот вопрос состоит из двух частей.Первая часть - «Какова форма функции, изученной этими методами?»Для NN и SVM это обычно одно и то же.Например, нейронная сеть с одним скрытым слоем использует ту же форму модели, что и SVM.То есть:
При заданном входном векторе x выходные данные будут такими: output (x) = sum_over_all_i weight_i * nonlinear_function_i (x)
Обычно нелинейные функции также будут иметь некоторые параметры.Таким образом, эти методы должны узнать, сколько нелинейных функций следует использовать, каковы их параметры и каково значение всех весов weight_i.
Следовательно, разница между SVM и NN заключается в том, какони решают, что эти параметры должны быть установлены.Обычно, когда кто-то говорит, что использует нейронную сеть, он подразумевает, что пытается найти параметры, которые минимизируют среднеквадратичную ошибку прогноза по сравнению с набором обучающих примеров.Они также почти всегда будут использовать алгоритм оптимизации стохастический градиентный спуск , чтобы сделать это.SVM, с другой стороны, пытаются минимизировать как ошибку обучения, так и некоторую меру «сложности гипотез».Таким образом, они найдут набор параметров, который соответствует данным, но также является в некотором смысле «простым».Вы можете думать об этом как бритва Оккама для машинного обучения.Наиболее распространенным алгоритмом оптимизации, используемым с SVM, является последовательная минимальная оптимизация .
Другое большое различие между этими двумя методами заключается в том, что при использовании стохастического градиентного спуска не гарантируется нахождение оптимального набора параметров при использовании.как NN реализации используют его.Тем не менее, любая приличная реализация SVM собирается найти оптимальный набор параметров.Люди любят говорить, что нейронные сети застряли в локальных минимумах, а SVM - нет.