Программирование - это просто
Advertisement
Главная arrow Искусственный интеллект arrow Практика нейронных сетей (платный раздел) arrow Практика нейронных сетей. Урок 22. Лабораторная работа №2 по персептронам.
18.07.2018 г.
Главное меню
Главная
Системный подход
Интернет магазин
Биржевые роботы
Программные продукты
Математика и информатика
1С:Предприятие
C#, Delphi, VB, F#, Web и пр.
Искусственный интеллект
Услуги
Ча. Во. (FAQ)
Платный раздел
Наука для чайников
Разное
Размышления
Карта сайта
Друзья сайта
Excel-это не сложно
Все о финансах
Практика нейронных сетей. Урок 22. Лабораторная работа №2 по персептронам. Печать E-mail
Автор megabax   
26.02.2017 г.
unit AIObj

Практика нейронных сетей. Урок 22. Лабораторная работа №2 по персептронам.

Чтобы смотреть урок полностью, подпишитесь на платный раздел.

В платном разделе статья и исходники находятся здесь.


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

  • Написать и обучить нейросеть для прогнозировании функции f(x)=sin(x) по 10 предыдущим знаниям. Сеть взять двухслойную, на первом слое 10 нейронов, на втором 1. Передаточная функция сигмовидная. Метод обучения: обратное распространение ошибки.

  • Написать и обучить нейросеть для аппроксимации функции f(x)=sin(x). Метод обучения: генетический алгоритм.

...

...

...

Практика нейронных сетей. Урок 22. Лабораторная работа №2 по персептронам.

Гораздо лучше стал и сам результат аппроксимации:

Практика нейронных сетей. Урок 22. Лабораторная работа №2 по персептронам.

Правда, и обучаться нейросеть стала значительно дольше.

Теперь сравним аппроксимацию с прогнозом. ...

...

...

Теперь произведем обучение (ниже вы видите график изменения ошибки сети при обучении):

Практика нейронных сетей. Урок 22. Лабораторная работа №2 по персептронам.

И вот результат прогноза:

Практика нейронных сетей. Урок 22. Лабораторная работа №2 по персептронам.

Красный график - это функция, синий - прогнозируемое значение на основании 10 предыдущих значений, при этом прогноз был только на 1 шаг вперед: мы каждый раз брали 10 значений именно с красного графика.

А теперь посмотрим прогноз на несколько шагов вперед. Его мы рассчитываем таким образом: первый раз взяли 10 значений с красного графика, посчитали прогноз, затем взяли 9 значений с красного и одно с синего (посчитанное значение), затем 8 с красного и 2 с синего и так далее. У нас получился прогноз на будущее:

Практика нейронных сетей. Урок 22. Лабораторная работа №2 по персептронам.

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

Итак, какие выводы можно сделать из проделанных экспериментов?

1. Увеличение количества нейронов на скрытом слое увеличивает качество аппроксимации.

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

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

А теперь о дальнейших планах по доработке приведенной в лабораторной работе программе:

  • Использовать генетический алгоритм для обучения нейросети прогнозированию (сначала просто разные функции, а потом что-нибудь по интересней, например, биржевые котировки).

  • Доработать генетический алгоритм и нейросеть, чтобы нейросеть могла быть с разным количеством слоев.

О всех этих доработках и экспериментах буду писать в цикле уроков Генетический алгоритм).


Скриншоты, помеченные знаком *, являются цитатами и иллюстрациями  программного продукта "Microsoft Visual Studio 2010 Professional", авторское право на который принадлежит корпорации Microsoft.. 


Последнее обновление ( 26.02.2017 г. )
 
« След.   Пред. »
 
© 2018 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги
Мы принимаем
Банковские карты
Оплатите покупку в интернет-магазине банковскими картами VISA и Mastercard любого банка.
узнать больше
Электронный кошелек
Моментальная оплата покупок с помощью вашего электронного кошелька RBK Money.
узнать больше
Банковский платеж
Оплатите покупку в любом российском банке. Срок зачисления средств на счет - 3-5 рабочих дней.
узнать больше
Денежные переводы
Оплата покупок через крупнейшие системы денежных переводов CONTACT и Unistream.
узнать больше
Почтовые переводы
Оплатите покупку в любом отделении Почты России. Срок зачисления платежа - 3-4 рабочих дня.
узнать больше
Платежные терминалы
Оплата покупок в терминалах крупнейших платежных систем в любом городе России - быстро и без комиссии.
узнать больше