Нематематическое описание нейронных сетей
-
10-07-2019 - |
Вопрос
Я не математик. Мне нравится хорошая математическая головоломка, но я от всего сердца признаю свои слабости. Тем не менее, я всегда интересовался нейронными сетями, и хотя я понимаю их достаточно, чтобы реализовать их с нуля, я наталкиваюсь на стену, когда мне нужно понять любую концепцию, для которой я могу найти только математические доказательства. Где руководство программиста по нейронным сетям, использующее код вместо формулы для объяснения практических соображений?
Решение
Другой альтернативой является не математическое, не программирующее объяснение. Книга Blondie24: игра на грани ИИ содержит действительно замечательное объяснение нейронного сетей. Речь идет об ИИ, играющем в шашки, разработанном автором. Это не полностью без программных ссылок, но он отлично объясняет, как работают алгоритмы, не вдаваясь в код решения.
Другие советы
К сожалению, я не знаю, есть ли хороший единственный " источник для программистов " это даст вам все концепции. Мне понравились Нейронные и адаптивные системы: основы через симуляции . Р>
Лучший способ получить «понимание программиста» нейронных сетей не столько путем изучения кода, сколько в проблеме и правильных результатах. Итак, если вы не хотите смотреть на математику, я рекомендую вам взглянуть на данную проблему. Например, рассмотрите проблему XOR как пример того, почему вам нужны нелинейные функции активации, посмотрите на количество переменных и их возможных значений, чтобы понять, почему нейронная сеть должна быть определенного размера и топологии, чтобы быть эффективной, и разделите ваши данные на режимы поезда / теста и проведите исследования, чтобы понять, почему переоснащение опасно. Изучите код с данными.
Я также рекомендую не слишком зацикливаться, а читать дальше. Определенные практики в сетях прямой связи становятся более понятными, когда вы увидите их обобщение в повторяющихся и конструктивных нейронных сетях. Я также рекомендую расширяться: байесовские сети, нечеткие когнитивные карты, SOM, машины Больцмана, моделируемый отжиг и обучение с подкреплением имеют интуицию.
Это касается ответа на ваш вопрос?
Вам нужно немного разбираться в Pascal или Delphi, но в этом обзоре от ThinkQuest очень полезен с точки зрения программирования. Это также объясняет некоторые трудности и почему математика выглядит немного пугающей. (Я тоже не математик.)
Некоторое время назад я был довольно заинтересован в подобных вещах (до сих пор по большей части) и в поисках некоторых проходов, за которыми я могу довольно быстро следовать. Р>
Надеюсь, это поможет хоть немного.
Я лично использовал:
Практические рецепты нейронной сети на C ++
Автор, на мой взгляд, не в полной мере использует более мощную функциональность C ++, во многих случаях он больше напоминает традиционный C с классами. Книга также немного устарела.
ОДНАКО - если вам нужны объяснения алгоритмов и методов, используемых в нейронных сетях, объясненных таким образом, чтобы умный непрофессионал мог понять, чтобы вы могли уйти и попробовать эти вещи для себя, тогда я, безусловно, дал бы эту книгу попытка Здесь не много пупка, что мне и понравилось.
Он проведет вас через все основные вещи, необходимые для программирования нейронной сети - как сравнить фактический выходной сигнал с желаемым для получения сигнала ошибки, а затем использовать этот сигнал ошибки в сочетании с алгоритмами обратного распространения, чтобы изменить сильные стороны соединения с сетью, делая это итеративно, так что постепенно нейронная сеть «запоминает» задачу.
Я написал статью почти с таким названием. В статье описывается представление данных в нейронной сети, а также другие методы машинного обучения, такие как машины опорных векторов.
http://www.heatonresearch.com/content/ нематематическое введение, с использованием-нейронные-сетей