Прогнозирование нейронными сетями

4 сообщения / 0 новых
Последнее сообщение
Прогнозирование нейронными сетями

Добрый день!

Изучил предлагаему статью и пример по нейронным сетям. После изучения возник ряд вопросов, подскажите пожайлуста если сможете:

1. Я так и не понял в листинге где создается сеть с заданными параметрами по количеству нейронов.

2. Зачем требуется ручная инициализация сети. Сеть создается и так со случайными коэффициентами.

3. Почему для обучения не используются стандартные функции обучения.

Добрый день!

Добрый день!

gex1001 wrote:
Я так и не понял в листинге где создается сеть с заданными параметрами по количествунейронов.

В листинге нейронная сеть описывается рядом параметров в шаге 3, включающем 3 подшага. Сначала мы указываем параметры архитектуры сети, после этого параметризуем ее настройки, а потом делаем инициализацию (присваиваем первоначальные значения) ее весам. МАТЛАБ не явлется компилируемым и/или ООП языком программирования, поэтому вы не увидите строк, вроде кода
ANN newANN = new ANN(parametersList);, в котором создается экземпляр нейронной сети, как это обычно делается в ООП.
В МАТЛАБе, задав параметры сети, мы ее и по сути создали.

gex1001 wrote:
Зачем требуется ручная инициализация сети. Сеть создается и так со случайными коэффициентами.

Не очень понятно, что понимается под ручной инициализацией? В примере приведены все шаги по ручной настройки сети (часть параметров строго фиксирована, а не получена функцией randn()). Это сделано с простой целью: дать понимание человеку, как это работает, чтобы он сам посмотрел, как каждый параметр в последствии используется. Если пользоваться готовыми приложениями или функциями, то очень долго нужно вникать, как именно использование тех или иных параметров реализовано в используемой функции/приложении — тут же все наглядно.

Для лучшего понимания алгоритма расчета стоит скачать эту программу и запустить ее самому пошагово, в режиме debugger'а.

gex1001 wrote:
Почему для обучения не используются стандартные функции обучения.

По причине понимания: пример сделан для обучения. Если вы отлично понимаете, чем back propagation error отличается от forward propagation, то вам, конечно, такие нюансы не нужны. Однако если вы хотите разобраться, как именно работает алгоритм back propagation error, то его самая простая модификация как раз и представлена в примере. Здесь самым громоздким шагом является преобразование прироста весов dW1 и dW2, но это часть уходит глубоко к истокам нейронных сетей, ее пояснить просто не у меня пока не получится. Может, со временем...

----------------------
Ирина Чучуева,
команда Математического бюро

Добрый день!

Добрый день!

Все равно не понятно и все как то размыто.

"МАТЛАБ не явлется компилируемым и/или ООП языком программирования, поэтому вы не увидите строк, вроде кода ANN newANN = new ANN(parametersList);, в котором создается экземпляр нейронной сети, как это обычно делается в ООП."

А как же объект в newff и ему подобные, которые создают сеть с задаными функциями активации и функцией обучения сети??

 

gex1001 wrote:А как же объект
gex1001 wrote:
А как же объект в newff и ему подобные, которые создают сеть с задаными функциями активации и функцией обучения сети?

Вы имеете в виду встроенные toolbox, а также "объекты", реализованные в последних модификации MATLABа, которые... нельзя, конечно, назвать полноценным программными объектами как в C или JAVA. Сложность использования любых toolbox (объектов или встроенных функций) состоит в том, что до конца не понятно, как именно реализован функционал. Вы можете попробовать использовать, если результат будет эффективным (т.е. достаточно точным), то отлично! Но как только пройдет время, а результат вас не будет устраивать (это весьма вероятный сценарий), то вам захочется понимать, как именно работает используемая считалка.

Если вы разобрались, как пользоваться встроенной реализацией — это отлично! Это очень хорошее начало! Пробуйте теперь добиться высокой точности, а дальше, возможно, у вас возникнут вопросы, которые возникают у многих. Я лично не пользуюсь математическими функциями, которые не мною реализованы, потому что тогда я плохо понимаю, как их использовать быстро и эффективно — мой подход не самый удобный :-))).

----------------------
Ирина Чучуева,
команда Математического бюро

2010 - 2018 © Математическое бюро

Все права защищены в соответствии с законодательством РФ

При полном или частичном использовании материалов ссылка на сайт обязательна