Это очень широкий вопрос.В общем случае нейронные сети с одним скрытым слоем, нелинейной функцией активации и достаточным количеством скрытых нейронов способны аппроксимировать любую функцию с произвольной точностью.Однако функция ошибок не является выпуклой, и поэтому результат обучения зависит от инициализации.
SVM также могут аппроксимировать любую функцию.Они очень популярны, потому что проблема оптимизации имеет уникальное решение, и могут быть и другие причины.Но недавние исследования показали, что нейронные сети, такие как многослойные персептроны, сверточные нейронные сети, нейронные сети глубокого убеждения, многоколонные глубокие нейронные сети и т. Д., Более эффективны и достигают лучших результатов для сложных приложений с огромным объемом данных.Так что это всегда компромисс, как заявил ЛиКао (без теоремы о бесплатном обеде), и ни один классификатор не является «идеальным».
Вот статья, которая описывает преимущества глубоких сетей по сравнению с «мелкими сетями», которыевключает машины опорных векторов: http://yann.lecun.com/exdb/publis/pdf/bengio-lecun-07.pdf
Вот стандартный эталонный тест и сравнение различных алгоритмов обучения: http://yann.lecun.com/exdb/mnist/
Вот документ, который описывает новый вид нейронных сетей, которыйособенно хорош при решении некоторых проблем со зрением (распознавание дорожных знаков, ocr): http://arxiv.org/abs/1202.2745