scipy.optimize.

SR1#

класс scipy.optimize.SR1(min_denominator=1e-08, init_scale='auto')[источник]#

Стратегия обновления гессиана симметричного ранга 1.

Параметры:
min_denominatorfloat

Это число, масштабированное нормировочным коэффициентом, определяет минимально допустимую величину знаменателя при обновлении. При нарушении условия мы пропускаем обновление. По умолчанию используется 1e-8.

init_scale{float, np.array, ‘auto’}, опционально

Этот параметр может использоваться для инициализации матрицы Гессе или её обратной. Когда задано число с плавающей точкой, соответствующий массив инициализируется как np.eye(n) * init_scale, где n — это размерность задачи. В качестве альтернативы, если точно (n, n) симметричный массив задан, этот массив будет использован. В противном случае генерируется ошибка. Установите его в 'auto', чтобы использовать автоматическую эвристику для выбора начального масштаба. Эвристика описана в [1], стр.143. По умолчанию 'auto'.

Методы

dot(p)

Вычислить произведение внутренней матрицы на заданный вектор.

get_matrix()

Возвращает текущую внутреннюю матрицу.

initialize(n, approx_type)

Инициализация внутренней матрицы.

update(delta_x, delta_grad)

Обновить внутреннюю матрицу.

Примечания

Обновление основано на описании в [1], стр.144-146.

Ссылки

[1] (1,2)

Носедаль, Хорхе, и Стивен Дж. Райт. “Численная оптимизация” Второе издание (2006).