Logistic Regression算法筆記

機器學習中的邏輯迴歸Logistic Regression

假設數據服從 u=0, s=1 的邏輯斯蒂分佈
logistic迴歸爲什麼要使用sigmoid函數

Logistic Function

邏輯迴歸(Logistic Regression)的名稱是由其使用的核心函數–Logistic function得來的。

Logistic函數也叫作Sigmoid函數,最初由統計學家發明用來描述生態學中人口增長的特點。起初階段大致是指數增長然後隨着接近環境容量開始變得飽和,增加變慢;最後,達到成熟時增加停止。

Logistic 函數曲線是S型,能將任何實數映射到0~1之間,但又無法達到其極限。

σ(z)=11+ez

Representation Used for Logistic Regression

Logistic regression的公式表達出來很像線性迴歸。
邏輯迴歸與線性迴歸的關鍵不同在於:線性迴歸的輸出值爲二元值(0、1)而不是概率數值。
將輸入變量(x)與權重(weights)或偏差係數(β )線性結合來預測輸出值(y)

y^=σ(wTx+b)==ewTx+b1+ewTx+b

其中wT 是單一輸入變量x的權重係數,b是噪音係數。你輸入數據的每一列都有一個相關聯的實數常量係數b,其由訓練學習而來。

Logistic Regression損失函數

假設有m組訓練樣本(x(1),y(1)),...,(x(m),y(m)) ,你需要訓練你模型的參數使y^(i)y(i)
Loss(error) function:

L(y^,y)=(ylogy^+(1y)log(1y^))

Why not 爲什麼不使用誤差平方和來作爲代價函數:
L(y^,y)=12(y^y)2

這時候的代價函數是非凸的,也就是函數圖像中會出現許多的局部最小值,導致梯度下降法極其容易得到局部最小值。如下:
enter image description here

Cost function:

J(w,b)=1mi=1mL(y^i,yi)=1mi=1m[yilogy^i+(1yi)log(1y^i)]

Sigmod函數求導

(1)σ(z)=11+ez=ddz11+ez=ez(1+ez)2=1+ez11+ez11+ez=11+ez(111+ez)=σ(z)[1σ(z)]

邏輯迴歸中我們的目標就是最小化損失函數J(θ)
y^=hθ(x)
J(θ)=i(y(i)log(hθ(x(i)))+(1y(i))log(1hθ(x(i)))).

這裏寫圖片描述

Logistic迴歸優缺點:

優點:實現簡單,易於理解和實現;計算代價不高,速度很快,存儲資源低;
缺點:容易欠擬合,分類精度可能不高

正則化的Logistic Regression

logistic迴歸通過正則化(regularization)懲罰參數,防止其取得過大,可以避免過擬合問題(overfitting),其代價函數如下:
這裏寫圖片描述
這裏寫圖片描述


References:
[1] https://www.coursera.org/learn/neural-networks-deep-learning/lecture/5sdh6/logistic-regression-gradient-descent
[2] [Machine Learning & Algorithm]CAML機器學習系列1:深入淺出ML之Regression家族

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章