Преимущества и недостатки нейронных сетей - PullRequest
4 голосов
/ 21 марта 2012

Буду ли я прав, говоря, что нейронная сеть хороша в поиске "достаточно хороших" решений для проблемы?

Я думаю об этом, потому что они не обеспечивают двоичный вывод для данного входа, новероятность, например, 0,67, может быть выходом.

Я также предполагаю, потому что они часто используются для обобщения, они хороши в поиске решений, которые часто решают проблему, но в некоторых редких случаях не.

Спасибо!

Ответы [ 2 ]

11 голосов
/ 21 марта 2012

Это очень широкий вопрос.В общем случае нейронные сети с одним скрытым слоем, нелинейной функцией активации и достаточным количеством скрытых нейронов способны аппроксимировать любую функцию с произвольной точностью.Однако функция ошибок не является выпуклой, и поэтому результат обучения зависит от инициализации.

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

10 голосов
/ 21 марта 2012

Нет простого ответа на этот вопрос.Преимущества / недостатки нейронных сетей - очень сложная тема.Вот несколько указателей:

  • Нет теоремы о бесплатном обеде. Грубо говоря, эта теорема доказывает, что не существует "идеального" метода машинного обучения.Для каждой проблемы, для которой подходит определенный метод, существует другая проблема, для которой тот же метод ужасно потерпит неудачу.Однако методы, в которых он терпит неудачу, могут быть легко решены другими методами.Это всегда следует учитывать при любом машинном обучении.

  • Нейронные сети довольно просты в реализации (вам не нужен хороший решатель линейной алгебры, как в примерах для SVN).

  • Измерение VC нейронных сетей неясно.Это очень важно, если вы хотите рассмотреть, насколько хорошим может быть решение.

  • Нейронные сети не могут быть переобучены.Если вы добавите данные позже, это почти невозможно добавить в существующую сеть.

  • Нейронные сети часто демонстрируют паттерны, подобные тем, которые демонстрируют люди.Однако это больше интересует когнитивные науки, чем практические примеры.

  • Обработка данных временных рядов в нейронных сетях - очень сложная тема.

Это все, о чем я могу думать сейчас.Может быть, другие могут добавить больше.

...