Азербайджан |
Нелинейный классификатор. Многослойный персептрон
5.4.2.1 Алгоритм обратной волны. Суть – аппроксимация непрерывной дифференцируемой функцией за счет замены функции активации "сигмовидной" функцией:
Вычислим производную функции: При данном чисто формальном приеме вектора признаков уже могут отображаться не только в вершины, но и внутрь гиперкуба. Необходимо решить задачу минимизации:5.4.2.2. Метод градиентного спуска решения задачи минимизации. Пусть . Тогда метод градиентного спуска выглядит так:
где а – шаг градиентного спуска. Очевидно, для его реализации необходимо уметь вычислять градиент .5.4.2.3. Вычисление градиента. Аргумент функции активации -ого нейрона -ого слоя
принимает различные значения в зависимости от индекса прецедента. В данном случае .Во входном слое, при . В выходном слое, при .
– не зависит от -ого номера нейрона в слое, т.е. имеем одинаковый вектор производных для всех нейронов -ого слоя. Следовательно, для последнего слояРассмотрим скрытый слой . Имеется зависимость:
но , следовательно: Сумма, заключенная в квадратных скобках, известна из предыдущего шага.5.4.2.4. Описание алгоритма.
0. Начальное приближение. Случайно выбираются веса небольших значений: .
1. Прямой проход. Для каждого вектора прецедента , вычисляются все . Вычисляется текущее значение ценовой функции :
2. Обратный проход. Для каждого значения и вычисляется . Затем последовательно необходимо вычислить для всех и :
3. Пересчет весов. Для всех и , где .
- Останов алгоритма может происходить по двум критериям: либо стала меньше порога, либо градиент стал очень мал.
- От выбора зависит скорость сходимости. Если мало, то скорость сходимости также мала. Если велико, то и скорость сходимости высока, но при такой скорости можно пропустить .
- В силу многоэкстремальности существует возможность спустить в локальный минимум. Если данный минимум по каким-то причинам не подходит, надо начинать алгоритм с другой случайной точки.
- Данный алгоритм быстрее, чем алгоритм с обучением.