網易公開課,監督學習應用.梯度下降
notes,http://cs229.stanford.edu/notes/cs229-notes1.pdf
線性回歸(Linear Regression)
先看個例子,比如,想用面積和卧室個數來預測房屋的價格
訓練集如下
首先,我們假設為線性模型,那么hypotheses定義為
,
其中x1,x2表示面積和#bedrooms兩個feature
那么對於線性模型,更為通用的寫法為
其中把θ和X看成向量,並且x0=1,就可以表示成最后那種,兩個向量相乘的形式
那么線性回歸的目的,就是通過訓練集找出使得誤差最小的一組參數θ(稱為學習)
為了可以量化誤差,定義損失函數(cost function)
比較好理解,就是訓練集中所有樣本點,真實值和預測值之間的誤差的平方和
其中1/2是為了后面計算方便,求導時會消掉
所以我們目的就是找到θ使得J(θ)最小,這就是最小二乘法(最小平方)
看似很容易理解,可是為什么要使用最小二乘來作為損失函數,為何不是差值的絕對值,或4次方?
后面會給出基於概率最大似然的解釋
梯度下降(gradient descent)
為了求解這個最優化問題,即找到θ使得J(θ)最小,可以有很多方法
先介紹梯度下降法
這是一種迭代方法,先隨意選取初始θ,比如θ=0,然后不斷的以梯度的方向修正θ,最終使J(θ)收斂到最小
當然梯度下降找到的最優是局部最優,也就是說選取不同的初值,可能會找到不同的局部最優點
但是對於最小二乘的損失函數模型,比較簡單只有一個最優點,所以局部最優即全局最優
對於某個參數的梯度,其實就是J(θ)對該參數求導的結果
所以對於某個參數每次調整的公式如下,
α is called the learning rate,代表下降幅度,步長,小會導致收斂慢,大會導致錯過最優點
所以公式含義就是,每次在梯度方向下降一步
下面繼續推導,假設訓練集里面只有一個樣本點,那么梯度推導為,
就是求導過程,但是實際訓練集中會有m個樣本點,所以最終公式為,
因為θ中有多個參數,所以每次迭代對於每個參數都需要進行梯度下降,直到J(θ)收斂到最小值
這個方法稱為batch gradient descent,因為每次計算梯度都需要遍歷所有的樣本點
這是因為梯度是J(θ)的導數,而J(θ)是需要考慮所有樣本的誤差和
這個方法問題就是,擴展性問題,當樣本點很大的時候,基本就沒法算了
所以提出一種stochastic gradient descent(隨機梯度下降)
想法很簡單,即每次只考慮一個樣本點,而不是所有樣本點
那么公式就變為,
其實意思就是,每次迭代只是考慮讓該樣本點的J(θ)趨向最小,而不管其他的樣本點
這樣算法會很快,但是收斂的過程會比較曲折
整體效果,還是可以will be reasonably good approximations to the true minimum
所以適合用於較大訓練集的case
Normal Equations
前面說了如何用梯度下降來解線性回歸問題
其實對於線性回歸,也可以不用這種迭代最優的方式來求解
因為其實可以通過normal equations直接算出θ,即具有解析解
首先對於訓練集,可以寫成下面的向量形式
可以看到經過一系列的推導,J(θ)有了新的表達形式
那么J(θ)的梯度,即求導,可以得到
而J(θ)最小時,一定是梯度為0時,即可以推出normal equations
所以使J(θ)最小的θ的值可以直接求出,
可以參考,Normal Equations
Probabilistic interpretation,概率解釋
解釋為何線性回歸的損失函數會選擇最小二乘
,
表示誤差,表示unmodeled因素或隨機噪聲
真實的y和預測出來的值之間是會有誤差的,因為我們不可能考慮到所有的影響結果的因素
比如前面的例子,我們根據面積和卧室的個數來預測房屋的價格
但是影響房屋價格的因素其實很多,而且有很多隨機因素,比如買賣雙方的心情
而根據中心極限定理,大量獨立的隨機變量的平均值是符合正態分布或高斯分布的
所以這里對於由大量unmodeled因素導致的誤差的分布,我們假設也符合高斯分布
因為你想想,大量獨立隨機變量大部分誤差會互相抵消掉,而出現大量變量行為相似造成較大誤差的概率是很小的
可以寫成,因為誤差的概率和預測出是真實值的概率是一樣的
注意,這里
不同於
;,表示這里θ不是一個隨機變量,而是翻譯成
因為對於訓練集,θ是客觀存在的,只是當前還不確定
所以有,
這個很容易理解,真實值應該是以預測值為中心的一個正態分布
給出θ似然性的定義
給定訓練集X和參數θ,預測結果等於真正結果的概率,等同於該θ為真實θ的可能性(似然性)
這里probability和likelihood有什么不同,答案沒有什么不同
但是對於數據使用probability,但對於參數使用likelihood
故最大似然法(maximum likelihood),就是找出L(θ)最大的那個θ,即概率分布最fit訓練集的那個θ
可以看到,最終我們從L(θ)的最大似然估計,推導出損失函數J(θ),最小二乘
所以結論為,最小二乘回歸被認為是進行最大似然估計的一個很自然的方法
To summarize: Under the previous probabilistic assumptions on the data, least-squares regression corresponds to finding the maximum likelihood estimate of θ. This is thus one set of assumptions under which least-squares regression can be justified as a very natural method that’s just doing maximum likelihood estimation.
Locally weighted linear regression,局部加權線性回歸
對於線性回歸,問題是選取的特征的個數和什么特征會極大影響fit的效果
比如下圖,是分布使用下面幾個模型進行擬合的
通常會認為第一個模型underfitting,而第三個模型overfitting,第二個模型相對比較好的fit到訓練集
所以可以看出,找出一個全局的線性模型去fit整個訓練集,是個比較困難的工作,因為選擇特征成為一個關鍵的因素
局部加權線性回歸的思路,就是我不需要去fit整個訓練集而產生全局的模型
而是在每次predict x的時候,只去擬合x附近的一小段訓練集
無論全局訓練集是多么復雜的一個分布曲線,但在局部小段數據上,都可以用線性去逼近
所以算法如下,
其中
可以看到我們通過weight來選取局部樣本點
這里weight定義有點類似高斯分布,雖然這里和高斯分布沒有關系,只是恰好相似
但是他的分布曲線確實和高斯分布一樣,鍾型,所以通過weight,只有距離x很近的樣本點才會對於損失函數有作用
局部加權線性回歸算法是一種non-parametric algorithm
而普通的線性回歸是parametric learning algorithm
parametric learning algorithm有一組有限的,固定的參數,一旦完成fit,只需要保存下參數值來做預測,而不需要保存完整的訓練集
non-parametric algorithm,相反,我們需要保存完整的訓練集來進行預測,而不是僅僅保存參數
正式定義為,the amount of stuff we need to keep in order to represent the hypothesis h grows linearly with the size of the training set.
為了表達假設h而保存的數據隨着訓練集的size而線性增長







