Условия Армихо
Материал из MachineLearning.
(Новая: = Условие Армихо = Во многих методах оптимизации новое приближение строится по правилу...) |
|||
| Строка 1: | Строка 1: | ||
| + | {{well|Статья написана с использованием LLM '''GPT-5.6 Thinking''' и проверена участником [[Участник:Kamilia|К.Н.Гибадуллина]] 21:50, 18 июля 2026 (MSD)}} | ||
| + | |||
= Условие Армихо = | = Условие Армихо = | ||
Текущая версия
| | Статья написана с использованием LLM GPT-5.6 Thinking и проверена участником К.Н.Гибадуллина 21:50, 18 июля 2026 (MSD) |
Содержание |
Условие Армихо
Во многих методах оптимизации новое приближение строится по правилу
где — текущая точка,
— выбранное направление движения, а
— длина шага.
От длины шага сильно зависит работа алгоритма. Если шаг слишком маленький, значение функции будет уменьшаться медленно и потребуется много итераций. Если шаг слишком большой, алгоритм может перескочить через минимум или попасть в точку, где значение функции стало больше. Поэтому во многих методах используется специальный поиск шага.
Условие Армихо — это простой способ проверить, обеспечивает ли выбранный шаг достаточное уменьшение целевой функции. Оно лежит в основе многих вариантов поиска шага с возвратом и было предложено Ларри Армихо в работе 1966 года.
Основная идея
Пусть требуется минимизировать функцию . В текущей точке
выбирается направление спуска
. Для него выполняется условие
Здесь — градиент функции, а выражение
показывает, как функция изменяется при движении в направлении
. Отрицательное значение означает, что при достаточно маленьком шаге функция будет уменьшаться.
Условие Армихо имеет вид
Левая часть — значение функции после пробного шага. Правая часть задаёт уровень уменьшения, который считается достаточным. Поскольку направление является направлением спуска, выражение отрицательно. Поэтому правая часть меньше текущего значения
.
Параметр выбирается между нулём и единицей:
Таким образом, условие Армихо требует не просто уменьшения функции, а уменьшения, согласованного с длиной шага и направлением движения. Это условие также называют условием достаточного уменьшения.
Поиск шага с возвратом
На практике условие Армихо часто применяется в алгоритме поиска шага с возвратом. Сначала проверяется достаточно большой шаг. Если он не подходит, его постепенно уменьшают.
Алгоритм можно описать следующим образом:
- Выбирается начальная длина шага
.
- Выполняется пробный переход из точки
в точку
.
- Для пробной точки проверяется условие Армихо.
- Если условие не выполнено, шаг уменьшается по правилу
.
- Проверка повторяется до тех пор, пока не будет найден подходящий шаг.
Параметр также находится между нулём и единицей. Например, при
длина шага после каждой неудачной проверки уменьшается в два раза.
Такой поиск называется возвратом, потому что алгоритм сначала пытается сделать большой шаг, а затем как бы возвращается назад, уменьшая его. Точное значение наилучшего шага при этом искать не требуется.
Пример
Рассмотрим функцию одной переменной
Пусть текущая точка равна . Производная функции имеет вид
, поэтому в этой точке
. Выберем направление антиградиента:
Пусть начальный шаг равен , а параметр условия Армихо равен
. После пробного шага получаем
В новой точке значение функции равно . Правая часть условия Армихо равна
Неравенство неверно, поэтому шаг слишком большой.
Уменьшим его в два раза и возьмём . Тогда новая точка равна нулю, а значение функции также равно нулю. Правая часть условия теперь равна
. Неравенство
выполняется, поэтому шаг принимается.
Выбор параметров
В поиске с возвратом обычно настраиваются три величины: начальный шаг , параметр достаточного уменьшения
и коэффициент сокращения
.
Чем ближе к нулю, тем легче выполнить условие Армихо. При большем
от шага требуется более заметное уменьшение функции.
Малое значение позволяет быстро сокращать неудачный шаг, но иногда приводит к слишком резкому уменьшению. Если
близко к единице, шаг подбирается точнее, однако может потребоваться больше проверок функции.
Начальный шаг желательно выбирать достаточно большим, чтобы алгоритм не начинал поиск с заведомо медленного движения.
Применение
Условие Армихо используется в градиентном спуске, методе Ньютона, квазиньютоновских методах, методе сопряжённых градиентов и других алгоритмах, где необходимо выбрать длину шага.
В градиентном спуске направлением обычно является отрицательный градиент. В методе Ньютона и квазиньютоновских методах направление вычисляется с использованием информации о кривизне функции, но слишком большой полный шаг также может оказаться неудачным. Проверка Армихо позволяет уменьшить его до приемлемого значения.
Преимущества и ограничения
К преимуществам условия Армихо относятся:
- не требуется точно находить наилучшую длину шага;
- уменьшается риск сделать слишком большой шаг;
- обеспечивается достаточное уменьшение целевой функции;
- алгоритм сравнительно просто реализуется.
У метода есть и ограничения:
- иногда требуется несколько дополнительных вычислений функции;
- найденный шаг не обязательно является наилучшим;
- результат зависит от начального шага и параметров
и
;
- условие контролирует уменьшение функции, но не полностью оценивает качество шага;
- может быть принят слишком маленький шаг, хотя более длинный шаг тоже был бы подходящим.
Связь с другими условиями выбора шага
При точном поиске шага пытаются найти значение , при котором функция вдоль выбранного направления принимает минимальное значение. Такой поиск может быть вычислительно дорогим, поэтому на практике часто применяют приближённые условия.
Условия Вольфе включают условие достаточного уменьшения Армихо и дополнительное условие кривизны. Оно проверяет, как изменилась производная функции вдоль направления движения. Благодаря этому условия Вольфе не только требуют уменьшения функции, но и помогают избежать принятия чрезмерно короткого шага.
См. также
- Оптимизация
- Градиентный спуск
- Направление спуска
- Поиск шага
- Поиск шага с возвратом
- Метод Ньютона
- Квазиньютоновские методы
- Условия Вольфе
Литература
- Armijo L. Minimization of Functions Having Lipschitz Continuous First Partial Derivatives // Pacific Journal of Mathematics. — 1966. — Vol. 16, No. 1. — P. 1–3
- Nocedal J., Wright S. J. Numerical Optimization. — 2nd ed. — New York: Springer, 2006
- Boyd S., Vandenberghe L. Convex Optimization. — Cambridge: Cambridge University Press, 2004.
- Bertsekas D. P. Nonlinear Programming. — 3rd ed. — Belmont: Athena Scientific, 2016.

