線性迴歸和邏輯迴歸損失函數推導

線性迴歸和邏輯迴歸損失函數推導

@(數據挖掘)


一、線性迴歸最小二乘loss推導

我們都知道線性迴歸是機器學習中最簡單,使用範圍也很廣的一個算法,經典且使用。而它的損失函數最小二乘損失,大家也很熟悉,但是爲什麼要用最小二乘loss呢?正文開始:
可以通過一系列假設,從概率的角度去說明爲什麼選最小二乘(按理說,我們有許多函數可以定義損失)。
我們這裏的假設證明不是唯一的,還有許多方法可以證明,有興趣的可以自行google。

  1. 假設:
    y(i)=θTx(i)+ε(i)
    ε(i)=error
    這裏的error也就是模型和實際數值之間的誤差值
    根據中心極限定理(許多獨立隨機變量組合會符合高斯分佈),我們可以接着假設誤差項符合高斯分佈:
    ε(i)N(0,σ2)
    即概率密度函數爲
    P(ε(i))=12πσexp((ε(i))22σ2)
  2. 上述誤差函數的概率密度函數服從高斯分佈,則我們易知:
    P(y(i)|x(i);θ)=12πσexp((y(i)θTx(i))22σ2)
    即:y(i)|x(i);θN(θTx(i),σ2)
    這裏需要特別注意,我們不把θ 認爲是隨機變量,而是有着我們未知的確定值,也就是把它看成我們需要去估計得到的值,也就是說上面的概率P(y(i)|x(i);θ) 意思是以θ 爲參數時,給定x(i) 條件下y(i) 的條件概率分佈
  3. 假設不同輸入x(i) 對應誤差項ε(i) 是獨立同分布(IID:Independently and Identically Distributed;意思是條件獨立的,但是都服從同一均值方差的高斯分佈):
    則我們的模型可以用概率模型定義爲一個極大似然估計問題:

L(θ)=P(y|x;θ)=i=1mP(y(i)|x(i);θ)=i=1m12πσexp((y(i)θTx(i))22σ2)

4. 所以最後我們的尋找最優模型的參數θ 問題變成了一個求上式關於θ 的極大似然估計問題,爲了方便計算,我們常常求對數似然,得到:
logL(θ)=logi=1m12πσexp((y(i)θTx(i))22σ2)=mlog12πσ+i=1m(y(i)θTx(i))22σ2

所以從上式易知,最大化logL(θ) 問題就相當於最小化i=1m(y(i)θTx(i))22σ2 問題,也就是我們定義的loss

二、logistics迴歸加sigmoid原因以及交叉熵損失函數推導

我們知道,其實邏輯迴歸模型變成了分類問題,但只是在線性迴歸的基礎上加上了一個sigmoid函數,那麼問題來了:
1. 爲什麼我們要選擇使用一個sigmoid函數?
大家可以移步參考知乎上的回答:https://www.zhihu.com/question/35322351
2. 交叉熵損失函數的推導
- 同線性迴歸,我們可以把我們的模型用概率表示:
P(y(i)=1|x(i);θ)=hθ(x(i))
P(y(i)=0|x(i);θ)=1hθ(x(i))
- 我們可以進一步把兩式整合:
P(y(i)|x(i);θ)=hθ(x(i))y(i)(1hθ(x(i)))(1y(i))
- 同樣我們可以把模型最優問題看做是極大似然估計問題:
L(θ)=P(y|x;θ)=i=1mP(y(i)|x(i);θ)=i=1mhθ(x(i))y(i)(1hθ(x(i)))(1y(i))
- 還是去對數似然:
logL(θ)=i=1my(i)loghθ(x(i))+(1y(i))log(1hθ(x(i)))
則,得證交叉熵函數

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