機器學習-牛頓方法&指數分佈族&GLM

本節內容算法

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

以前學習了梯度降低方法,關於梯度降低(gradient descent),這裏簡單的回顧下【參考感知機學習部分提到的梯度降低(gradient descent)】。在最小化損失函數時,採用的就是梯度降低的方法逐步逼近最優解,規則爲其實梯度降低屬於一種優化方法,但梯度降低找到的是局部最優解。以下圖:app


這裏寫圖片描述

本節首先講解的是牛頓方法(NewTon’s Method)。牛頓方法也是一種優化方法,它考慮的是全局最優。接着還會講到指數分佈族和廣義線性模型。下面來詳細介紹。機器學習

1.牛頓方法

如今介紹另外一種最小化損失函數(θ)的方法——牛頓方法,參考Approximations Of Roots Of Functions – Newton’s Method
。它與梯度降低不一樣,其基本思想以下:
函數

假設一個函數咱們須要求解此時的x值。以下圖所示:
這裏寫圖片描述
學習

圖1 f(x0)=0,a1,a2,a3...逐步接近x0優化

在a1點的時候,f(x)切線的目標函數因爲(a2,0)在這條線上,因此咱們有網站

同理,在a2點的時候,切線的目標函數因爲(a3,0)在這條線上,因此咱們有atom

假設在第n次迭代,有那麼此時有下面這個遞推公式:es5

其中n>=2。spa

最後獲得的公式也就是牛頓方法的學習規則,爲了和梯度降低對比,咱們來替換一下變量,公式以下:

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

對於機器學習問題,如今咱們優化的目標函數爲極大似然估計l,當極大似然估計函數取值最大時,其導數爲 0,這樣就和上面函數f取 0 的問題一致了,令極大似然函數的求解更新規則是:

對於l,當一階導數爲零時,有極值;此時,若是二階導數大於零,則l有極小值,若是二階導數小於零,則有極大值。

上面的式子是當參數θ爲實數時的狀況,下面咱們要求出通常式。當參數爲向量時,更新規則變爲以下公式:

其中和以前梯度降低中提到的同樣,是梯度,H是一個n*n矩陣,H是函數的二次導數矩陣,被成爲Hessian矩陣。其某個元素Hij計算公式以下:

和梯度降低相比,牛頓方法的收斂速度更快,一般只要十幾回或者更少就能夠收斂,牛頓方法也被稱爲二次收斂(quadratic convergence),由於當迭代到距離收斂值比較近的時候,每次迭代都能使偏差變爲原來的平方。缺點是當參數向量較大的時候,每次迭代都須要計算一次 Hessian 矩陣的逆,比較耗時。

 

2.指數分佈族(The exponential family)

指數分佈族是指能夠表示爲指數形式的機率分佈。指數分佈的形式以下:

其中,η成爲分佈的天然參數(nature parameter);T(y)是充分統計量(sufficient statistic),一般 T(y)=y。當參數 a、b、T 都固定的時候,就定義了一個以η爲參數的函數族。

下面介紹兩種分佈,伯努利分佈和高斯分佈,分別把它們表示成指數分佈族的形式。

伯努利分佈

伯努利分佈是對0,1問題進行建模的,對於下面將其推導成指數分佈族形式:
這裏寫圖片描述

將其與指數族分佈形式對比,能夠看出:
這裏寫圖片描述

代表伯努利分佈也是指數分佈族的一種。從上述式子能夠看到,η的形式與logistic函數(sigmoid)一致,這是由於 logistic模型對問題的前置機率估計其實就是伯努利分佈。

高斯分佈

下面對高斯分佈進行推導,推導公式以下(爲了方便計算,咱們將方差σ設置爲1):

這裏寫圖片描述

將上式與指數族分佈形式比對,可知:

兩個典型的指數分佈族,伯努利和高斯分佈。其實大多數機率分佈均可以表示成指數分佈族形式,以下所示:

  • 伯努利分佈(Bernoulli):對 0、1 問題進行建模;
  • 多項式分佈(Multinomial):多有 K 個離散結果的事件建模;
  • 泊松分佈(Poisson):對計數過程進行建模,好比網站訪問量的計數問題,放射性衰變的數目,商店顧客數量等問題;
  • 伽馬分佈(gamma)與指數分佈(exponential):對有間隔的正數進行建模,好比公交車的到站時間問題;
  • β 分佈:對小數建模;
  • Dirichlet 分佈:對機率分佈進建模;
  • Wishart 分佈:協方差矩陣的分佈;
  • 高斯分佈(Gaussian);

下面來介紹下廣義線性模型(Generalized Linear Model, GLM)。

3.廣義線性模型(Generalized Linear Model, GLM)

你可能會問,指數分佈族究竟有何用?其實咱們的目的是要引出GLM,經過指數分佈族引出廣義線性模型。

仔細觀察伯努利分佈和高斯分佈的指數分佈族形式中的η變量。能夠發現,在伯努利的指數分佈族形式中,η與伯努利分佈的參數φ是一個logistic函數(下面會介紹logistic迴歸的推導)。此外,在高斯分佈的指數分佈族表示形式中,η與正態分佈的參數μ相等,下面會根據它推導出普通最小二乘法(Ordinary Least Squares)。經過這兩個例子,咱們大體能夠獲得一個結論,η以不一樣的映射函數與其它機率分佈函數中的參數發生聯繫,從而獲得不一樣的模型,廣義線性模型正是將指數分佈族中的全部成員(每一個成員正好有一個這樣的聯繫)都做爲線性模型的擴展,經過各類非線性的鏈接函數將線性函數映射到其餘空間,從而大大擴大了線性模型可解決的問題。

下面咱們看 GLM 的形式化定義,GLM 有三個假設:

  • (1);給定樣本Χ與參數θ,樣本分類γ服從指數分佈族中的某個分佈;
  • (2)給定一個Χ,咱們須要的目標函數爲
  • (3)。 

 依據這三個假設,咱們能夠推導出logistic模型與普通最小二乘模型。首先根據伯努利分佈推導Logistic模型,推導過程以下:

公式第一行來自假設(2),公式第二行經過伯努利分佈計算得出,第三行經過伯努利的指數分佈族表示形式得出,而後在公式第四行,根據假設三替換變量獲得。

一樣,能夠根據高斯分佈推導出普通最小二乘,以下:

公式第一行來自假設(2),第二行是經過高斯分佈計算得出,第三行是經過高斯分佈的指數分佈族形式表示得出,第四行即爲假設(3)。

其中,將η與原始機率分佈中的參數聯繫起來的函數成爲正則相應函數(canonical response function),如便是正則響應函數。正則響應函數的逆成爲正則關聯函數(canonical link function)。

因此,對於廣義線性模型,須要決策的是選用什麼樣的分佈,當選取高斯分佈時,咱們就獲得最小二乘模型,當選取伯努利分佈時,咱們獲得 logistic 模型,這裏所說的模型是假設函數 h 的形式。

最後總結一下:廣義線性模型經過假設一個機率分佈,獲得不一樣的模型,而梯度降低和牛頓方法都是爲了求取模型中的線性部分的參數θ的。

 

多分類模型-Softmax Regression

 

下面再給出GLM的一個例子——Softmax Regression.

假設一個分類問題,y可取k個值,即y∈{1,2,...k}。如今考慮的再也不是一個二分類問題,如今的類別能夠是多個。如郵件分類:垃圾郵件、我的郵件、工做相關郵件。下面要介紹的是多項式分佈(multinomial distribution)。

多項式分佈推導出的GLM能夠解決多類分類問題,是 logistic 模型的擴展。對於多項式分佈中的各個y的取值,咱們可使用k個參數φ1,φ2,...,φk來表示這k個取值的機率。即

可是,這些參數可能會冗餘,更正式的說可能不獨立,由於,知道了前k-1個,就能夠經過計算出第k個機率。因此,咱們只假定前k-1個結果的機率參數φ1,φ2,...,φk-1,第k個輸出的機率經過下面的式子計算得出:

 

爲了使多項式分佈可以寫成指數分佈族的形式,咱們首先定義 T(y),以下所示:

和以前的不同,這裏咱們的T(y)不等γ,T(y)如今是一個k-1維的向量,而不是一個真實值。接下來,咱們將使用表示T(y)的第i個元素。

下面咱們引入指數函數I,使得:

這樣,T(y)向量中的某個元素還能夠表示成:

舉例來講,當y=2時,。根據公式 15,咱們還能夠獲得:

下面,二項分佈轉變爲指數分佈族的推導以下:

其中,最後一步的各個變量以下:

η的表達式可知:

爲了方便,再定義:

因而,能夠獲得:

將上式代入到,獲得:

從而,咱們就獲得了鏈接函數,有了鏈接函數後,就能夠把多項式分佈的機率表達出來:

注意到,上式中的每一個參數ηi都是一個可用線性向量表示出來的,於是這裏的θ實際上是一個二維矩陣。

因而,咱們能夠獲得假設函數 h 以下:

那麼就創建了假設函數,最後就得到了最大似然估計

對該式子可使用梯度降低算法或者牛頓方法求得參數θ後,使用假設函數h對新的樣例進行預測,便可完成多類分類任務。這種多種分類問題的解法被稱爲 softmax regression。

ηk=log

hθ(x

hθ(x)=

相關文章
相關標籤/搜索