牛頓法(Newton’s method)
阿新 • • 發佈:2019-02-07
牛頓法通常都是用來尋找一個根,同時也可以理解為最大化目標函式的區域性二次近似。設我們的目標函式為f(x),那麼一個關於x0的二次近似就有:
我們用f進行匹配:
可以得到:
如果b<0,g的最大值為a,得到更新規則:
這是牛頓法在最優化方面的表述,但是一旦,牛頓法就不適用了,我們必須要使用其他的優化演算法。
下面給出一種非二次的變形:
在Dirichlet分佈的最大似然估計中,我們接觸到目標函式:
這個目標函式是凸函式,但是牛頓法在計算負的x時仍然不適用。我們可以使用一種更快更穩定的區域性近似演算法:
我們用f進行匹配:
Figure 1給出這種近似相比於二次近似的高效能:
既然對所有x來說都有 ,我們知道,如果還有b < 0,那麼g的最大值就是−a/b,得到更新規則:
如果,就要用到其他的方法。
這種更新規則並不是簡單地改變f的引數化。比如,如果我們令f(x) = f(1/y),並在y上使用二次近似,更新規則為:
既然x必須是正的,可以令,更新規則為:
Figure 2比較了這三種更新規則的收斂率:
當然牛頓法的迭代方式可以推向更高的維:
H被稱為Hessian矩陣,有這樣的定義:
另外,為了控制收斂的速度,我們引入步長r,r>0:
牛頓法通常比梯度下降收斂得更快,在靠近最優解的時候,需要更少的迭代次數。當然,牛頓法的每一次迭代都比梯度下降代價更高。為了避免計算高維的H的逆,我們轉而計算向量
當牛頓法被用來處理logistic regression的最大似然函式ℓ(θ)的時候,這種方法被稱為:Fisher scoring(漁民得分?)