本次回歸章節的思維導圖版總結已經總結完畢,但自我感覺不甚理想。不知道是模型太簡單還是由於自己本身的原因,總結出來的東西感覺很少,好像知識點都覆蓋上了,但乍一看,好像又什么都沒有。不管怎樣,算是一次嘗試吧,慢慢地再來改進。在這里再梳理一下吧!
線性回歸(Linear Regression)
- 什么是回歸?
給定一些數據,{(x1,y1),(x2,y2)…(xn,yn) },x的值來預測y的值,通常地,y的值是連續的就是回歸問題,y的值是離散的就叫分類問題。
高爾頓的發現,身高的例子就是回歸的典型模型。
- 回歸分為線性回歸(Linear Regression)和Logistic 回歸。
線性回歸可以對樣本是線性的,也可以對樣本是非線性的,只要對參數是線性的就可以,所以線性回歸能得到曲線。
- 線性回歸的目標函數?
(1)
為了防止過擬合,將目標函數增加平方和損失:
(2)
增加了平方和損失,是2次的正則,叫L2-norm,有個專有名字:Ridge。【嶺回歸】
也可以增加絕對值損失,叫L1-norm,也有個專有名字:Lasso。
都假定參數θ服從高斯分布。
- 目標函數的推導?
以極大似然估計解釋最小二乘。過程如下:
(3)
- θ的解析式?
一句話:目標函數對θ求偏導,再求駐點。
防止過擬合,加入λ擾動:本質是L2-norm
- 梯度下降算法?
梯度下降得到得是局部最小值,而不是全局最小值。
SGD隨機梯度下降的優點?
- 速度快
- 往往能跳出局部最小值
- 適合於在線學習
由於線性回歸的目標函數是凸函數,所以在這個地方用梯度下降得到的就是全局最小值。
沿着負梯度方向迭代,更新后的θ會使得J(θ)更小。
注意:這里是對某一個樣本,對θj求偏導。
每一個樣本都對此時的θj求偏導。
注意:梯度是矢量,既有方向,又有值。例如,在二維空間中的表現為斜率,當斜率為1時,能想象方向,1不就是它的值嗎?厲害了,竟然現在才明白過來。
梯度下降:(又稱批量梯度下降batch gradient descent)
得到所有樣本后,再做梯度下降。
隨機梯度下降:(stochastic gradient descent)
來一個樣本就進行梯度下降,來一個樣本就進行梯度下降,適合於在線學習。
還有一個二者的折衷:
mini-batch:
攢夠若干個做一次批梯度下降,若干個樣本的平均梯度作為下降方向。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------
LR(Logistic Regression)Logistic回歸
廣義線性模型(General Linear Regression GLR)
1.Logistic回歸的損失函數?
負對數似然NLL。
Softmax回歸是Logistic回歸的多分類情況。
沿着似然函數正梯度上升
這個圖很能理解線性回歸和LR回歸之間的關系。
LogisticRegression 就是一個被logistic方程歸一化后的線性回歸,僅此而已。
- 提到Logistic回歸,首先要說他跟線性回歸的聯系:其實就是被Logistic方程歸一化的線性回歸。將預測的輸出映射到0,1之間。以概率判斷類別,大於0.5,判為一類,小於0.5判為一類。
- Logistic 方程/Sigmoid 函數,大概長這樣。
概率分布函數:
似然函數:
對數似然:
對θj求偏導:
沿着梯度上升。梯度上升也行,梯度下降也對。
注意:線性回歸里面求損失函數的最小值得時候用到了梯度下降算法。
一定注意,那個是求損失函數的最小值,越小越好,當然用下降;而在這里,要求對數似然函數的最大值,則需要沿着梯度上升,越大越好。到最后得到極大似然估計值θ,那么學到的Logistic回歸模型就是:
一定注意,這兩次用梯度的目的不同,一次是為了損失值最小,一次是為了似然值最大,一個下降,一個上升!
Logistic的損失函數:
負對數似然損失函數NLL。
可以很好的解釋。
常見的損失函數
機器學習或者統計機器學習常見的損失函數如下:
1.0-1損失函數 (0-1 loss function)
2.平方損失函數(quadratic loss function)
3.絕對值損失函數(absolute loss function)
L(Y,f(x))=|Y−f(X)|
4.對數損失函數(logarithmic loss function) 或對數似然損失函數(log-likehood loss function)
邏輯回歸中,采用的則是對數損失函數。如果損失函數越小,表示模型越好。
說說對數損失函數與平方損失函數
在邏輯回歸的推導中國,我們假設樣本是服從伯努利分布(0-1分布)的,然后求得滿足該分布的似然函數,最終求該似然函數的極大值。整體的思想就是求極大似然函數的思想。而取對數,只是為了方便我們的在求MLE(Maximum Likelihood Estimation)過程中采取的一種數學手段而已。
全體樣本的損失函數可以表示為:
這就是邏輯回歸最終的損失函數表達式。
Logistic 回歸的總結:
優點:方法簡單、容易實現、效果良好、易於解釋
特征選擇很重要:人工選擇,隨機森林、PCA、LDA
梯度下降算法是參數優化的重要手段,尤其是SGD。(適用於在線學習,能挑出局部極小值。)
Softmax回歸
Logistic回歸的推廣,概率計算公式:
本章總結:
對於線性回歸,求解參數θ即可,可以用解析解的方法求解,也可以用梯度下降的方式求解。
對於Logistic回歸和Softmax回歸,推導及求解方式相同。基本遵循以下步驟:
- 給出分類概率函數
- 求累加的似然函數
- 轉換為對數似然函數求駐點
- 利用梯度下降法求解。