本學習筆記參考自Andrew的機器學習課程(點此打開),
內容來自視頻以及其講義, 部分內容引用網友的學習筆記,會特別註明
課程內容
1.牛頓方法
2.指數族
3.廣義線性模型
4.softmax迴歸
牛頓方法
一個問題的引入
對於一個函數f(θ)如何找到θ使得f(θ)
= 0? 牛頓方法可以用來解決這個問題,圖解描述如下:
先找一個初始的θ,過點(θ, f(θ))做曲線的切線,並且與x軸交的一點便是新的θ,這個新的θ記爲θ^(1),初始的θ記爲θ^(0),斜率記爲f'(θ),由圖中的三角形可以得到如下關係式:
這是牛頓方法的第一次迭代情況,下面就是繼續上面的迭代,直到找到θ使得f(θ)
= 0,可以如下描述牛頓方法的過程:
1.初始化θ
2.repeat:
牛頓方法求解邏輯迴歸
上一節推導過關於θ對數似然函數如下:
這裏不用梯度上升,而是用牛頓方法求解,基本思路是令(即令其=0),按照上面的方法更新θ,即
但是這裏的θ是一個參數,還需要將其擴展到多維的情況,如下:
牛頓方法與梯度上升法比較
牛頓方法迭代速度比梯度上升法快很多,但是每一次迭代牛頓方法需要計算的量更大,事實上牛頓方法對函數的要求條件也是比較複雜的,但是對於邏輯迴歸還是很合適的
廣義線性模型
指數族
指數族是這樣一類分佈,其分佈(這裏所說的分佈如果是離散型隨機變量則指其分佈律,如果連續性隨機變量則是指密度函數)可以寫成下面的形式:
確定了T, a, b便確定了以η爲參數的分佈的族,改變η就能得到這個族內不同的分佈
證明伯努利分佈是指數分佈族的一個例子
證明高斯分佈是指數分佈族的一個例子
在前面的課程中,在前面概率解釋線性迴歸模型的最小平方時,裏面推導假設誤差項服從高斯分佈,並且最後通過最大化對數似然性得到最小平方的結果,這個結果與誤差所服從高斯分佈的標準差無關,由此在這裏證明高斯分佈是指數分佈族,我們假設σ 2 =1,簡化證明
構造廣義線性模型(GLM)
廣義線性模型對y|x建模(也叫判別式學習算法,見後面),它有如下三個假設:
1.y | x; θ~ExponentialFamily(η)
2.輸出是E[T(y)|x], 這裏常常T(y) = y
3. η = θ T x
GML生成線性迴歸模型
線性迴歸模型是假設y | x; θ~N(μ,σ
2 ),在前面已經證明了高斯分佈是指數分佈族的一個例子,所以
GML生成邏輯迴歸
邏輯迴歸的假設是 y|x;θ ∼ Bernoulli(φ),前面已經證明過了該分佈是指數分佈族的一個例子
可以從上面兩個例子看到,邏輯迴歸、線性迴歸有着共性,如果發現一個機器學習問題它的y|x服從某項分佈,我們便可以通過廣義線性模型生成得到一個機器學習模型,該模型的參數可以通過最大化似然函數來解決
Softmax迴歸
這個例子用GML來生成Softmax迴歸,這也是該小節最複雜的一個例子。假設y的分類可以取k個值,這裏y|x就不能再是伯努利分佈了,而是多項分佈(二項分佈的推廣,但看下面的推導發現算是隻試驗一次的多項分佈)
證明多項分佈是指數族的一個例子
φ 1 ,...,φ k-1表示前k-1個結果的概率,最後一個結果的概率φ
k可以用1來減去前面的概率和,這樣減少一個參數是爲了讓這些參數相互獨立,T(y)如下定義,其中每個列向量維度都是k-1
證明:
推導出該問題的模型(Softmax迴歸)
最終我們得到Softmax迴歸的模型如下:
把上面這個模型全部寫成向量的形式如下:
同樣對於該模型的參數的獲得,我們仍然可以用最大化數據概率來獲得,其中可以用梯度上升,或者牛頓方法