HessianUpdateStrategy#
- класс scipy.optimize.HessianUpdateStrategy[источник]#
Интерфейс для реализации стратегий обновления матрицы Гессе.
Многие методы оптимизации используют аппроксимации гессиана (или обратного гессиана), такие как квазиньютоновские методы BFGS, SR1, L-BFGS. Однако некоторые из этих аппроксимаций фактически не требуют хранения всей матрицы или могут вычислять внутреннее матричное произведение с заданным вектором очень эффективно. Этот класс служит абстрактным интерфейсом между алгоритмом оптимизации и стратегиями квазиньютоновского обновления, предоставляя свободу реализации для максимально эффективного хранения и обновления внутренней матрицы. Различные варианты инициализации и процедуры обновления приведут к разным квазиньютоновским стратегиям.
Четыре метода должны быть реализованы в производных классах:
initialize,update,dotиget_matrix. Оператор матричного умножения@также определен для вызоваdotметод.Методы
dot(p)Вычислить произведение внутренней матрицы на заданный вектор.
Возвращает текущую внутреннюю матрицу.
initialize(n, approx_type)Инициализация внутренней матрицы.
update(delta_x, delta_grad)Обновить внутреннюю матрицу.
Примечания
Любой экземпляр класса, реализующего этот интерфейс, может быть принят методом
minimizeи используется совместимыми решателями для аппроксимации гессиана (или обратного гессиана), используемого алгоритмами оптимизации.