1. 程式人生 > >透徹理解邏輯迴歸(數學推導+python實現+sklearn相關包使用)

透徹理解邏輯迴歸(數學推導+python實現+sklearn相關包使用)

邏輯迴歸(數學推導+python實現+sklearn相關包使用)

1. 原理講解及數學公式推導

邏輯迴歸(logistic regression)也叫做對數機率迴歸, 其實它是一種分類方法
在上一章,我們介紹了最基本的線性迴歸,那麼如何進行分類任務呢?
注意上一章講過的廣義線性模型(generalized linear regression), 只要找到一個單調可微函式, 接近單位階躍函式,但是要連續,可以把預測的迴歸值和輸出標記yϵ{0,1} 聯絡起來(二分類任務中)
我們只能尋找單位階躍函式的替代函式(surrogate function), \ 接下來讓我們請出Sigmoid函式

中的代表: logistic function(邏輯迴歸函式或對數機率函式) :

g(z)=11+ez
函式影象如下:

sigmoid

圖1   Logistic function

注: Sigmoid函式即形似S型的一類函式,logistic function是其最典型的代表
將此函式代入廣義線性模型,得到的線性模型如下:
ϕ(z)=11+e(θTxx+b)
y可以被看成類後驗概率p(y=1|xx) 即被當作正例的概率, 很自然地讓y>=0.5的歸為正例,y<0.5
則歸為反例

代價函式

我們同樣使用均方誤差即誤差的平方和來替代:

J(θθ)=i=1m(ϕ(z(i))y(i))2,z(i)=θθTx(i)x(i)+b
但是如果我們將ϕ(z)=11+e(θTxx+b) 代入上式,會發現代價函式並不是個凸函式,這樣不利於進行最優化求解。
因為ϕ(z) 可以看做正例的後驗估計,那麼可以得到:
p(y=1|x;θx;θ)=ϕ(z)=ϕ(θTxθTx+b
)

p(y=0|x;θx;θ)=1ϕ(z)=1ϕ(θTxθTx+b)
這兩個式子可以結合起來變為一般形式:
p(y|x;θx;θ)=ϕ(z)y(1ϕ(z))1y
我們通過給定的資料集進行極大似然法(maximum likelihood method)估計引數θθ :
Logistic Regression(邏輯迴歸) +python3.6(pycharm)實現

數學基礎知識略過,可自行查詢探究。遇到的bugs:1.AttributeError: module 'scipy' has no attribute '__version__'解決辦法:installed packages: 'scipy' :左上角File-- settin

機器學習(三):理解邏輯迴歸及二分類、多分類程式碼實踐

本文是[機器學習系列](https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzUxMjU4NjI4MQ==&action=getalbum&album_id=1696710764742393857&scene=173&from_msgi