scipy.optimize.

SR1#

class scipy.optimize.SR1(min_denominator=1e-08, init_scale='auto')[source]#

對稱秩 1 Hessian 更新策略。

參數:
min_denominatorfloat

此數值經由正規化因子縮放後,定義更新中允許的最小分母量級。當條件違反時,我們會跳過更新。預設值為 1e-8

init_scale{float, np.array, ‘auto’}, optional

此參數可用於初始化 Hessian 矩陣或其逆矩陣。當給定一個浮點數時,相關陣列會初始化為 np.eye(n) * init_scale,其中 n 是問題的維度。或者,如果給定一個精確的 (n, n) 形狀的對稱陣列,則將使用此陣列。否則會產生錯誤。設定為 ‘auto’ 以使用自動啟發式方法來選擇初始縮放比例。啟發式方法在 [1] 的第 143 頁中描述。預設值為 ‘auto’。

註解

此更新基於 [1] 第 144-146 頁的描述。

參考文獻

[1] (1,2)

Nocedal, Jorge, 和 Stephen J. Wright. “Numerical optimization” 第二版 (2006)。

方法

dot(p)

計算內部矩陣與給定向量的乘積。

get_matrix()

返回當前的內部矩陣。

initialize(n, approx_type)

初始化內部矩陣。

update(delta_x, delta_grad)

更新內部矩陣。