1. 程式人生 > >牛頓方法,指數分佈族,廣義線性模型

牛頓方法,指數分佈族,廣義線性模型

原文連結

http://blog.csdn.net/dream_angel_z/article/details/46288167

本節內容

  • 牛頓方法
  • 指數分佈族
  • 廣義線性模型

之前學習了梯度下降方法,關於梯度下降(gradient descent),這裡簡單的回顧下【參考感知機學習部分提到的梯度下降(gradient descent)】。在最小化損失函式時,採用的就是梯度下降的方法逐步逼近最優解,規則為θ:=θηθ(θ)。其實梯度下降屬於一種優化方法,但梯度下降找到的是區域性最優解。如下圖:


這裡寫圖片描述

本節首先講解的是牛頓方法(NewTon’s Method)。牛頓方法也是一種優化方法,它考慮的是全域性最優

。接著還會講到指數分佈族和廣義線性模型。下面來詳細介紹。

1.牛頓方法

假設一個函式f(x)=0,我們需要求解此時的x值。如下圖所示:


這裡寫圖片描述
圖1 f(x0)=0,a1,a2,a3,...x0.


a1點的時候,f(x)切線的目標函式y=f(a1)+f(a1)(xa1). 由於(a2,0)在這條線上,所以我們有0=f(a1)+f(a1)(a2a1),so:

a2=a1f(a1)f(a1)

同理,在a2點的時候,切線的目標函式y=f(a2)+f(a2)(xa2). 由於(a3,0)在這條線上,所以我們有0=f(a2)+f(a2)(a3a2

),so:

a3=a2f(a2)f(a2)

假設在第n次迭代,有f(an)=0,那麼此時有下面這個遞推公式:

an=an1f(an1)f(an1)

其中n>=2.

最後得到的公式也就是牛頓方法的學習規則,為了和梯度下降對比,我們來替換一下變數,公式如下:

θ:=θf(θ)f(θ)

那麼問題來了,怎麼將牛頓方法應用到我們的問題上,最小化損失函式(θ)(或者是求極大似然估計的極大值)呢?

對於機器學習問題,現在我們優化的目標函式為極大似然估計,當極大似然估計函式取值最大時,其導數為 0,這樣就和上面函式f取 0 的問題一致了,令f(θ)

=(θ)。極大似然函式的求解更新規則是:

θ:=θ(θ)′′(θ)

對於,當一階導數為零時,有極值;此時,如果二階導數大於零,則有極小值,如果二階導數小於零,則有極大值。

上面的式子是當引數θ為實數時的情況,下面我們要求出一般式。當引數為向量時,更新規則變為如下公式:

θ:=θH1θ(θ)

其中θ(θ)和之前梯度下降中提到的一樣,是梯度,H是一個nn的矩陣,H是函式的二次導數矩陣,被成為Hessian矩陣。其某個元素Hij 計算公式如下:

Hij=2(θ)θiθj

和梯度下降相比,牛頓方法的收斂速度更快,通常只要十幾次或者更少就可以收斂,牛頓方法也被稱為二次收斂(quadratic convergence),因為當