六:邏輯回歸:損失函數(shù)、梯度、決策邊界(20191209-20191215)

0x00 內(nèi)容

邏輯回歸:損失函數(shù)、梯度、決策邊界

實踐:代碼實現(xiàn)及sklearn邏輯回歸

0x01 邏輯回歸

邏輯回歸(Logistic Regression,LR),LR的建模過程體現(xiàn)了數(shù)據(jù)建模中很重要的思想:對問題劃分層次,并利用非線性變換和線性模型的組合,將未知的復(fù)雜問題分解為已知的簡單問題。因此說:理解好邏輯回歸的細(xì)節(jié),就掌握了數(shù)據(jù)建模的精髓。

1.1 線性回歸是不能解決分類問題

在使用線性回歸模型時,實際上做了3個或更多的假設(shè):

1.因變量yi和自變量xi之間呈線性相關(guān)

2.自變量xi與干擾項εi相互獨立;

3.沒被線性模型捕捉到的隨機(jī)因素εi服從正態(tài)分布。

理論上來說,任何數(shù)據(jù)放在任何模型里都會得到相應(yīng)的參數(shù)估計,進(jìn)而通過模型對數(shù)據(jù)進(jìn)行預(yù)測。但是這并不一定能保證模型效果,因此建模的過程中需要不斷提出假設(shè)和檢驗假設(shè)。

1.2 用邏輯回歸解決分類問題

邏輯回歸原理是將樣本的特征樣本發(fā)生的概率聯(lián)系起來,即,預(yù)測的是樣本發(fā)生的概率是多少。由于概率是一個數(shù),因此被叫做“邏輯回歸”。

在邏輯回歸算法中,得到的預(yù)測值是一個概率,在概率的基礎(chǔ)上設(shè)置一個閾值,即完成分類。(邏輯回歸只能解決二分類問題,如果是多分類問題,LR本身是不支持的。)

0x02 LR算法數(shù)學(xué)推導(dǎo)

參考閱讀1.《出場率No.1的邏輯回歸算法,是怎樣“煉成”的?》(0x02 LR算法數(shù)學(xué)推導(dǎo))

邏輯回歸是解決分類問題的,本質(zhì)是求概率再分類。在分類結(jié)果的背后是隱藏變量的博弈,我們認(rèn)為隱藏變量與特征是線性相關(guān)的,因此就可以對隱藏變量之差求概率(得到隨機(jī)變量的累積分布函數(shù)),得到probit回歸模型。為了使數(shù)學(xué)公式更為簡單,使用sigmoid函數(shù)去近似,最終得到邏輯回歸模型:

數(shù)學(xué)家們發(fā)現(xiàn):正態(tài)分布在線性變換下保持穩(wěn)定,而邏輯分布可以很好地近似正態(tài)分布。因此可以使用標(biāo)準(zhǔn)邏輯分布的累積分布函數(shù)σ(t)來替換正態(tài)分布的累積分布函數(shù)Fε(t)。

0x03 邏輯回歸的損失函數(shù)

3.1 推導(dǎo)

邏輯回歸和線性回歸最大的區(qū)別就是:邏輯回歸解決的是分類問題,得到的y要么是1,要么是0。而我們估計出來的p是概率,通過概率決定估計出來的p到底是1還是0。因此,也可以將損失函數(shù)分成兩類:

????如果給定樣本的真實類別y=1,則估計出來的概率p越小,損失函數(shù)越大(估計錯誤)

????如果給定樣本的真實類別y=0,則估計出來的概率p越大,損失函數(shù)越大(估計錯誤)

可以使用如下函數(shù):

求整個集合內(nèi)的損失可以取平均值:

替換成sigmoid函數(shù),得到邏輯回歸的損失函數(shù)如下

3.2?另一種推導(dǎo)

邏輯回歸的損失函數(shù)是根據(jù)邏輯回歸本身式子中系數(shù)的最大似然估計推導(dǎo)而來的。 (最大似然估計就是通過已知結(jié)果去反推最大概率導(dǎo)致該結(jié)果的參數(shù)。極大似然估計是概率論在統(tǒng)計學(xué)中的應(yīng)用,它提供了一種給定觀察數(shù)據(jù)來評估模型參數(shù)的方法,即 “模型已定,參數(shù)未知”,通過若干次試驗,觀察其結(jié)果,利用實驗結(jié)果得到某個參數(shù)值能夠使樣本出現(xiàn)的概率為最大,則稱為極大似然估計。)

邏輯回歸是一種監(jiān)督式學(xué)習(xí),是有訓(xùn)練標(biāo)簽的,就是有已知結(jié)果的,從這個已知結(jié)果入手,去推導(dǎo)能獲得最大概率的結(jié)果參數(shù),只要我們得出了這個參數(shù),那我們的模型就自然可以很準(zhǔn)確的預(yù)測未知的數(shù)據(jù)了。

邏輯回歸的損失函數(shù)如下: (推到過程參考《邏輯回歸的本質(zhì)及其損失函數(shù)的推導(dǎo)、求解》0x02.2)

0x04 損失函數(shù)的梯度

0x05 決策邊界?

5.1決策邊界

5.2 線性&非線性決策邊界

所謂決策邊界就是能夠把樣本正確分類的一條邊界,主要有線性決策邊界(linear decision boundaries)和非線性決策邊界(non-linear decision boundaries)。(注意:決策邊界是假設(shè)函數(shù)的屬性,由參數(shù)決定,而不是由數(shù)據(jù)集的特征決定。)

0x06 邏輯回歸的非線性決策邊界

線性回歸轉(zhuǎn)換成多項式回歸

讓邏輯回歸學(xué)習(xí)非直線的決策邊界,引入多項式項,轉(zhuǎn)換成線性回歸問題:從(x^2)特征來說來說還是線性邊界,針對于x來說變成了非線性的圓形決策邊界。這就從線性回歸轉(zhuǎn)換成多項式回歸,同理為邏輯回歸添加多項式項,就可以對非線性的方式進(jìn)行比較好的分類,決策邊界就是曲線的形狀。

0x07 邏輯回歸中使用正則化

在邏輯回歸中添加多項式項,從而得到不規(guī)則的決策邊界,對非線性的數(shù)據(jù)進(jìn)行很好的分類。添加多項式項之后,模型會變變得很復(fù)雜,非常容易出現(xiàn)過擬合,因此就需要使用正則化。

對損失函數(shù)增加L1正則或L2正則。可以引入一個新的參數(shù)?α來調(diào)節(jié)損失函數(shù)和正則項的權(quán)重,如:J(θ)+α(L1)。

如果在損失函數(shù)前引入一個超參數(shù)C,即C.J(θ)+L1,如果C越大,優(yōu)化損失函數(shù)時越應(yīng)該集中火力,將損失函數(shù)減小到最?。?b>C非常小時,此時L1和L2的正則項就顯得更加重要。其實損失函數(shù)前的參數(shù)C,作用相當(dāng)于參數(shù)α前的一個倒數(shù)。在邏輯回歸中,對模型正則化更喜歡使用C.J(θ)+L1這種方式。

7.2 模型的正則化

7.2.1 L2正則

使用參數(shù)C進(jìn)行模型正則化,在構(gòu)建管道時,用參數(shù)C去覆蓋。同時在生成多項式邏輯回歸實例參數(shù)時,同樣設(shè)置階數(shù)為20,然后設(shè)置一個比較小的損失函數(shù)的權(quán)重參數(shù)C=0.1,相當(dāng)于讓模型正則化的項起到更大的作用,讓分類準(zhǔn)確度損失函數(shù)起到小一點的作用。

0x08 回顧(面試問題)

面試問題:為什么要使用sigmoid函數(shù)作為假設(shè)?

可以回答:因為線性回歸模型的預(yù)測值為實數(shù),而樣本的類標(biāo)記為(0,1),我們需要將分類任務(wù)的真實標(biāo)記y與線性回歸模型的預(yù)測值聯(lián)系起來,也就是找到廣義線性模型中的聯(lián)系函數(shù)。如果選擇單位階躍函數(shù)的話,它是不連續(xù)的不可微。而如果選擇sigmoid函數(shù),它是連續(xù)的,而且能夠?qū)轉(zhuǎn)化為一個接近0或1的值。

參考閱讀:

1.《出場率No.1的邏輯回歸算法,是怎樣“煉成”的?》

2.《邏輯回歸的本質(zhì)及其損失函數(shù)的推導(dǎo)、求解》

3.《邏輯回歸代碼實現(xiàn)與調(diào)用》

4.《邏輯回歸的決策邊界及多項式》

5.《sklearn中的邏輯回歸中及正則化》

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容