Генетический алгоритм. Урок 5. Вводим передаточную функцию. |
![]() |
![]() |
Автор megabax | |||||||||||||||||||||
25.01.2014 г. | |||||||||||||||||||||
Генетический алгоритм. Урок 5. Вводим передаточную функцию. Что бы смотреть урок полностью, подпишитесь на платный раздел. В платном разделе статья находиться здесь. Сегодня мы будем усовершенствовать нейронную сеть, которую начали на прошлом уроке. Для начала предусмотрим возможность задать передаточную функцию (если не знаете что это такое см. сюда). Для этого нам понадобиться интерфейс передаточной функции, а так же класс констант, идентифицирующих передаточные функции ... ... Гауссовская функция. Она вычисляется по формуле: И вот так мы ее реализуем... ... ...Далее реализуем функцию "Линейная с насыщением", она описывается вот такой формулой: А реализуем мы ее вот так... ... ...Займемся нейроном. Пропишем туда передаточную функцию:
В конструктор добавим код создания этой самой функции... ... ...Наконец, переходим к нашим клонам метода Cross, которые предназначены для скрещивания разных объектов нейросети. Для нейрона:
В этом методе мы используем скрещивание передаточных функций, реализуем его тоже... ... ...Все, со скрещиванием закончили. Перейдем к мутациям. Мутация отдельного слоя:
Как видим, из него вызывается метод мутации отдельного нейрона... ...
....и так, все сделано. Приступим к тестированию. В форме ничего переделывать не надо, просто зададим нужные обучающие матрицы, и все. Что же мы в итоге видим? Обучение стало происходить гораздо лучше. Вот например, такая картинка:
На уроке 3 на такой обучающей матрице сеть вырождалась. Сейчас нормально обучается:
Но для чистоты эксперимента мы все таки сделаем небольшую проверку. Делаем два поля и кнопочку. Обработчик кнопочки:
И что же мы видим? С указанными значениями считает не так, как на образце. Так что придется отглючивать. Но этим мы займемся на следующем уроке.
Скриншоты, помеченные знаком *, являются цитатами и иллюстрациями программного продукта "Microsoft Visual Studio 2010 Professional", авторское право на который принадлежит корпорации Microsoft.. |
|||||||||||||||||||||
Последнее обновление ( 25.01.2014 г. ) |
« След. | Пред. » |
---|