Автор: Matrix Matrx, 10 Декабря 2010 в 16:29, лабораторная работа
Цель работы: получение начальных навыков обучения простейшей нейронной сети
Нейронная сеть (НС) представляет собой совокупность нейронов – вычислительных элементов (называемых персептронами), каждый из которых имеет несколько входов–синапсов и один выход–аксон.
Обучение нейронной
сети заключается в нахождении значений
синаптических весов и
1. В начале всем синаптическим весам w присваивается значение единица, и вычисляется значение суммы квадратов ошибки Et на всем множестве обучающей выборки.
2. Для каждого
синапса на каждом наборе
d E(t) /d wjk = (d E(t) / d yj ) * (d yj / d sj ) * (d sj / d wjk );
d yj / d sj = exp(-sj ) / (1+exp(-sj))2 .
Для сети, состоящей из одного нейрона:
d E(t) / d y = Y – y ;
при этом значение dsj/dwjk равно выходу нейрона предыдущего слоя или соответствующему входному сигналу для нейрона первого слоя в силу линейного характера функции s.
Таким образом, нами найдены градиенты функции ошибки по wjk.
3. После этого вычисляются поправки к wjk по формуле:
D wjk = – v * d E(t) /d wjk ,
где v – коэффициент скорости обучения. Поправки находятся для каждого i-го набора исходных данных, и вычисляется среднее значение по всему набору.
4. Теперь следует скорректировать wjk на величину вычисленных поправок, пересчитать всю таблицу и снова оценить величину ошибки E(t). Эту процедуру необходимо повторять до тех пор, пока ошибка не перестанет уменьшаться. Режим автоматического пересчета таблицы должен быть отключен, иначе после коррекции первого же wjk все остальные значения таблицы изменятся.
В связи с тем, что количество итераций в процессе обучения сети может достигать сотен и даже тысяч, процедура коррекции синаптических весов и пересчет таблицы выполняются с помощью простейшего макроса в среде Microsoft Excel.
Варианты временных рядов
Таблица 3.3
|
Продолжение табл. 3.3
|
Окончание табл. 3.3
|