Гессиан Выход

fminunc и fmincon решатели возвращают аппроксимированный Гессиан как дополнительный выход.

[x,fval,exitflag,output,grad,hessian] = fminunc(fun,x0)
% or
[x,fval,exitflag,output,lambda,grad,hessian] = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)

Эта тема описывает значение возвращенного Гессиана и точность, которую можно ожидать.

Можно также задать тип Гессиана, который решатели используют в качестве аргументов входа Hessian. Для fminunc, смотрите Включая Градиенты и Гессианы. Для fmincon, смотрите Гессиан как Вход.

fminunc Гессиан

Гессиан для неограниченной проблемы является матрицей вторых производных целевой функции f:

Hessian Hij=2fxixj.

  • Алгоритм квазиньютонаfminunc возвращает предполагаемую матрицу Гессиана в решении. fminunc вычисляет оценку конечных разностей, таким образом, оценка обычно точна.

  • Алгоритм доверительной областиfminunc возвращается матрица Гессиана в предпоследнем выполняют итерации.

    • Если вы предоставляете Гессиан в целевой функции и устанавливаете HessianFcn опция к 'objective', fminunc возвращает этот Гессиан.

    • Если вы предоставляете HessianMultiplyFcn функция, fminunc возвращает Hinfo матрица от HessianMultiplyFcn функция. Для получения дополнительной информации смотрите HessianMultiplyFcn в trust-region раздел fminunc options таблица.

    • В противном случае, fminunc возвращает приближение в разреженный алгоритм конечной разности на градиентах.

    Этот Гессиан точен для предпоследнего, выполняют итерации. Однако предпоследние выполняют итерации, не может быть близко к конечной точке.

    trust-region алгоритм возвращается, Гессиан в предпоследнем выполняют итерации для КПД. fminunc использует Гессиан внутренне, чтобы вычислить его следующий шаг. Когда fminunc достигает останавливающегося условия, оно не должно вычислять следующий шаг и, поэтому, не вычисляет Гессиан.

fmincon Гессиан

Гессианом для ограниченной проблемы является Гессиан функции Лагранжа. Для целевой функции f, нелинейный вектор ограничения неравенства c и нелинейный вектор ограничения равенства ceq, функция Лагранжа

L=f+iλici+jλjceqj.

λi является множителями Лагранжа; смотрите Меру оптимальности Первого порядка и Структуры множителя Лагранжа. Гессиан функции Лагранжа

H=2L=2f+iλi2ci+jλj2ceqj.

fmincon имеет несколько алгоритмов, с несколькими опциями для Гессианов, как описано в области Доверия fmincon Отражающий Алгоритм, fmincon Активный Алгоритм Набора и fmincon Алгоритм Внутренней точки.

  • active-set, sqp, или sqp-legacy Алгоритмfmincon возвращает приближение Гессиана, которое это вычисляет в предпоследнем, выполняют итерации. fmincon вычисляет приближение квазиньютона матрицы Гессиана в решении в ходе его итераций. В общем случае это приближение не совпадает с истинным Гессианом в каждом компоненте, но только в определенных подпространствах. Поэтому Гессиан, возвращенный fmincon может быть неточным. Для получения дополнительной информации о active-set вычисление, см. Реализацию SQP.

  • trust-region-reflective Алгоритмfmincon возвращает Гессиан, который это вычисляет в предпоследнем, выполняют итерации.

    • Если вы предоставляете Гессиан в целевой функции и устанавливаете HessianFcn опция к 'objective', fmincon возвращает этот Гессиан.

    • Если вы предоставляете HessianMultiplyFcn функция, fmincon возвращает Hinfo матрица от HessianMultiplyFcn функция. Для получения дополнительной информации смотрите Доверительную область Отражающий Алгоритм в fmincon options.

    • В противном случае, fmincon возвращает приближение в разреженный алгоритм конечной разности на градиентах.

    Этот Гессиан точен для предпоследнего, выполняют итерации. Однако предпоследние выполняют итерации, не может быть близко к конечной точке.

    trust-region-reflective алгоритм возвращается, Гессиан в предпоследнем выполняют итерации для КПД. fmincon использует Гессиан внутренне, чтобы вычислить его следующий шаг. Когда fmincon достигает останавливающегося условия, оно не должно вычислять следующий шаг и, поэтому, не вычисляет Гессиан.

  • interior-point Алгоритм

    • Если HessianApproximation опцией является 'lbfgs' или 'finite-difference', или если вы предоставляете HessianMultiplyFcn функция, fmincon возвращается для Гессиана.

    • Если HessianApproximation опцией является 'bfgs' (значение по умолчанию), fmincon возвращает приближение квазиньютона в Гессиан в конечной точке. Этот Гессиан может быть неточен, похож на active-set или sqp Гессиан алгоритма.

    • Если HessianFcn опция является указателем на функцию, fmincon возвращает эту функцию как Гессиан в конечной точке.

Похожие темы