ВУЗ:
Составители:
Рубрика:
27
используется следующим образом: если на очередной итерации невязка
сокращается, это значит, что предположение о квадратичности
()fx
работает, и мы уменьшаем (обычно в 10 раз), чтобы понизить
влияние градиентного спуска. С другой стороны, если невязка
увеличивается, необходимо следовать направлению градиента, и мы
увеличиваем (во столько же раз).
Таким образом, алгоритм Левенберга представляется в виде
последовательности действий:
1. Вычислить параметр на очередной итерации по правилу(1.20).
2. Оценить невязку в новом векторе параметров.
3. Если в результате вычисления параметра невязка увеличилась,
вернуться на шаг назад (т.е. восстановить прежние значения весов) и
увеличить в 10 раз. Затем повторить выполнение, начиная с шага 1.
4. Если в результате вычисления параметра невязка уменьшилась,
принять текущий шаг (т.е. оставить новые значения весов) и уменьшить
в 10 раз.
Недостатком данного алгоритма является то, что если значение
велико, вычисленная матрица Гессе никак не используется. Однако можно
извлечь некоторую выгоду из второй производной даже в этом случае,
масштабируя каждый компонент градиента согласно кривизне. Это должно
привести к увеличению шага вдоль направлений, где градиент мал, так что
классическая проблема впадины больше не возникнет. Этот ключевой
момент был замечен Марквардтом. Он заменил единичную матрицу в
формуле (1.20) на диагональ гессиана, получив таким образом следующее
правило:
1
1
( diag[ ]) ( )
i i i
x x H H f x
. (1.21)
Поскольку гессиан пропорционален кривизне
f
, правило (1.21)
Страницы
- « первая
- ‹ предыдущая
- …
- 25
- 26
- 27
- 28
- 29
- …
- следующая ›
- последняя »