邏輯回歸

一阱当、介紹

回歸模型中,處理的因變量都是數(shù)值型區(qū)間變量花颗,建立的模型描述是因變量的期望與自變量之間的線性關(guān)系,比如常見(jiàn)的線性回歸模型惠拭。而在采用回歸模型分析實(shí)際問(wèn)題中扩劝,所研究的變量往往不全是區(qū)間變量而是順序變量或?qū)傩宰兞浚热缍?xiàng)分布問(wèn)題职辅。通過(guò)分析年齡棒呛、性別、體質(zhì)指數(shù)域携、平均血壓簇秒、疾病指數(shù)等指標(biāo),判斷一個(gè)人是否換糖尿病涵亏,Y=0表示未患病宰睡,Y=1表示患病,這里的響應(yīng)變量是一個(gè)兩點(diǎn)(0-1)分布變量气筋,它就不能用h函數(shù)連續(xù)的值來(lái)預(yù)測(cè)因變量Y(只能取0或1)拆内。

總之,線性回歸模型通常是處理因變量是連續(xù)變量的問(wèn)題宠默,如果因變量是定性變量麸恍,線性回歸模型就不再適用了,需采用邏輯回歸模型解決。

邏輯回歸(Logistic Regression是用于處理因變量為分類變量的回歸問(wèn)題抹沪,常見(jiàn)的是二分類或二項(xiàng)分布問(wèn)題刻肄,也可以處理多分類問(wèn)題,它實(shí)際上是屬于一種分類方法融欧。

邏輯回歸與線性回歸的關(guān)系和區(qū)別:

邏輯回歸(Logistic Regression)與線性回歸(Linear Regression)都是一種廣義線性模型(generalized linear model)敏弃。邏輯回歸假設(shè)因變量 y 服從伯努利分布,而線性回歸假設(shè)因變量 y 服從高斯分布噪馏。 因此與線性回歸有很多相同之處麦到,去除Sigmoid映射函數(shù)的話,邏輯回歸算法就是一個(gè)線性回歸欠肾∑康撸可以說(shuō),邏輯回歸是以線性回歸為理論支持的刺桃,但是邏輯回歸通過(guò)Sigmoid函數(shù)引入了非線性因素粹淋,因此可以輕松處理0/1分類問(wèn)題。

二瑟慈、邏輯回歸的生成思路

1. 初步出現(xiàn)的問(wèn)題

回歸任務(wù)是結(jié)果為連續(xù)型變量的任務(wù),logistics regression是用來(lái)做分類任務(wù)的,為什么叫回歸呢?那我們是不是可以假設(shè),邏輯回歸就是用回歸的辦法來(lái)做分類的呢桃移?是的,邏輯回歸就是在用回歸的辦法做分類任務(wù)封豪。

舉一個(gè)例子:預(yù)測(cè)腫瘤大小還是一個(gè)回歸問(wèn)題,得到的線性回歸模型的結(jié)果(腫瘤的大小)也是一個(gè)連續(xù)型變量.通過(guò)設(shè)定閾值,就成功將回歸問(wèn)題轉(zhuǎn)化為了分類問(wèn)題.但是,這樣做還存在一個(gè)問(wèn)題:如果有一個(gè)超大的腫瘤谴轮,閾值就很難設(shè)定,加入還是取平均大小為閾值吹埠。

使用線性的函數(shù)來(lái)擬合規(guī)律后取閾值的辦法是行不通的,行不通的原因在于擬合的函數(shù)太直,離群值(也叫異常值)對(duì)結(jié)果的影響過(guò)大,但是我們的整體思路是沒(méi)有錯(cuò)的,錯(cuò)的是用了太"直"的擬合函數(shù),如果我們用來(lái)擬合的函數(shù)是非線性的,不這么直,是不是就好一些呢?

所以我們下面來(lái)做兩件事:

? ? ?1-找到一個(gè)辦法解決掉回歸的函數(shù)嚴(yán)重受離群值影響的辦法.

? ? ? 2-選定一個(gè)閾值.

2. 問(wèn)題解決

2.1 把回歸函數(shù)掰彎

雖然不能把原來(lái)很直的線性回歸函數(shù)掰彎第步,但是我們可以換一個(gè)判別函數(shù)。就是現(xiàn)在使用的Sigmoid函數(shù)缘琅,也稱為邏輯函數(shù)(Logistic function):

其中:

函數(shù)的定義域?yàn)槿w實(shí)數(shù)粘都,值域在[0,1]之間,x軸在0點(diǎn)對(duì)應(yīng)的結(jié)果為0.5刷袍。當(dāng)x取值足夠大的時(shí)候翩隧,可以看成0或1兩類問(wèn)題,大于0.5可以認(rèn)為是1類問(wèn)題呻纹,反之是0類問(wèn)題堆生,而剛好是0.5,則可以劃分至0類或1類雷酪。

sigmod函數(shù)圖像

該函數(shù)具有很強(qiáng)的魯棒性(魯棒是Robust的音譯淑仆,也就是健壯和強(qiáng)壯的意思),并且將函數(shù)的輸入范圍(∞,-∞)映射到了輸出的(0,1)之間且具有概率意義.具有概率意義是怎么理解呢:將一個(gè)樣本輸入到我們學(xué)習(xí)到的函數(shù)中,輸出0.7,意思就是這個(gè)樣本有70%的概率是正例,1-70%就是30%的概率為負(fù)例.

總結(jié):

2.2 選定閾值

選定閾值的意思就是,當(dāng)我選閾值為0.5,那么小于0.5的一定是負(fù)例,哪怕他是0.49.此時(shí)我們判斷一個(gè)樣本為負(fù)例一定是準(zhǔn)確的嗎?其實(shí)不一定,因?yàn)樗€是有49%的概率為正利的.但是即便他是正例的概率為0.1,我們隨機(jī)選擇1w個(gè)樣本來(lái)做預(yù)測(cè),還是會(huì)有接近100個(gè)預(yù)測(cè)它是負(fù)例結(jié)果它實(shí)際是正例的誤差.無(wú)論怎么選,誤差都是存在的.所以我們選定閾值的時(shí)候就是在選擇可以接受誤差的程度.

? ? ? ? 我們現(xiàn)在知道了sigmod函數(shù)預(yù)測(cè)結(jié)果為一個(gè)0到1之間的小數(shù),選定閾值的第一反應(yīng),大多都是選0.5,其實(shí)實(shí)際工作中并不一定是0.5,閾值的設(shè)定往往是根據(jù)實(shí)際情況來(lái)判斷的.本小節(jié)我們只舉例讓大家理解為什么不完全是0.5,并不會(huì)有一個(gè)萬(wàn)能的答案,都是根據(jù)實(shí)際工作情況來(lái)定的.

0到1之間的數(shù)閾值選作0.5當(dāng)然是看著最舒服的,可是假設(shè)此時(shí)我們的業(yè)務(wù)是像前邊的例子一樣,做一個(gè)腫瘤的良性惡性判斷.選定閾值為0.5就意味著,如果一個(gè)患者得惡性腫瘤的概率為0.49,模型依舊認(rèn)為他沒(méi)有患惡性腫瘤,結(jié)果就是造成了嚴(yán)重的醫(yī)療事故.此類情況我們應(yīng)該將閾值設(shè)置的小一些.閾值設(shè)置的小,加入0.3,一個(gè)人患惡性腫瘤的概率超過(guò)0.3我們的算法就會(huì)報(bào)警,造成的結(jié)果就是這個(gè)人做一個(gè)全面檢查,比起醫(yī)療事故來(lái)講,顯然這個(gè)更容易接受.

? ? ? ? 第二種情況,加入我們用來(lái)識(shí)別驗(yàn)證碼,輸出的概率為這個(gè)驗(yàn)證碼識(shí)別正確的概率.此時(shí)我們大可以將概率設(shè)置的高一些.因?yàn)榧幢阕R(shí)別錯(cuò)了又能如何,造成的結(jié)果就是在一個(gè)session時(shí)間段內(nèi)重試一次.機(jī)器識(shí)別驗(yàn)證碼就是一個(gè)不斷嘗試的過(guò)程,錯(cuò)誤率本身就很高.

三、邏輯回歸的算法

結(jié)合第二部分中判別函數(shù)和閾值選擇哥力,現(xiàn)在我們需要找到一組可以讓sigmod函數(shù)全都預(yù)測(cè)正確的概率最大的W蔗怠。

1. 損失函數(shù)

若想讓預(yù)測(cè)出的結(jié)果全部正確的概率最大,根據(jù)最大似然估計(jì)墩弯,就是所有樣本預(yù)測(cè)正確的概率相乘得到的P(總體正確)最大。

似然函數(shù)

一個(gè)連乘的函數(shù)是不好計(jì)算的,我們可以通過(guò)兩邊同時(shí)取log的形式讓其變成連加寞射。

得到的這個(gè)函數(shù)越大,證明我們得到的W就越好.因?yàn)樵诤瘮?shù)最優(yōu)化的時(shí)候習(xí)慣讓一個(gè)函數(shù)越小越好,所以我們?cè)谇斑吋右粋€(gè)負(fù)號(hào)渔工。公式如下:

這個(gè)函數(shù)就是我們邏輯回歸(logistics regression)的損失函數(shù),我們叫它交叉熵?fù)p失函數(shù)。

2. 梯度下降法求解交叉熵?fù)p失函數(shù)

求解步驟如下:

? ? ? ? 1-隨機(jī)一組W.

? ? ? ? ?2-將W帶入交叉熵?fù)p失函數(shù),讓得到的點(diǎn)沿著負(fù)梯度的方向移動(dòng).

? ? ? ? ? 3-循環(huán)第二步.

求解梯度部分同樣是對(duì)損失函數(shù)求偏導(dǎo),過(guò)程如下:

四桥温、邏輯回歸為什么對(duì)切斜的數(shù)據(jù)特別敏感(正負(fù)例數(shù)據(jù)比例相差懸殊時(shí)預(yù)測(cè)效果不好)

? ? ? ? 首先從文章開(kāi)頭部分的舉例可以看到,使用線性模型進(jìn)行分類第一個(gè)要面對(duì)的問(wèn)題就是如何降低離群值的影響,而第二大問(wèn)題就是,在正負(fù)例數(shù)據(jù)比例相差懸殊時(shí)預(yù)測(cè)效果不好.為什么會(huì)出現(xiàn)這種情況呢?原因來(lái)自于邏輯回歸交叉熵?fù)p失函數(shù)是通過(guò)最大似然估計(jì)來(lái)推導(dǎo)出的.

? ? ? ? 使用最大似然估計(jì)來(lái)推導(dǎo)損失函數(shù),那無(wú)疑,我們得到的結(jié)果就是所有樣本被預(yù)測(cè)正確的最大概率.注意重點(diǎn)是我們得到的結(jié)果是預(yù)測(cè)正確率最大的結(jié)果,100個(gè)樣本預(yù)測(cè)正確90個(gè)和預(yù)測(cè)正確91個(gè)的兩組w,我們會(huì)選正確91個(gè)的這一組.那么,當(dāng)我們的業(yè)務(wù)場(chǎng)景是來(lái)預(yù)測(cè)垃圾郵件,預(yù)測(cè)黃色圖片時(shí),我們數(shù)據(jù)中99%的都是負(fù)例(不是垃圾郵件不是黃色圖片),如果有兩組w,第一組為所有的負(fù)例都預(yù)測(cè)正確,而正利預(yù)測(cè)錯(cuò)誤,正確率為99%,第二組是正利預(yù)測(cè)正確了,但是負(fù)例只預(yù)測(cè)出了97個(gè),正確率為98%.此時(shí)我們算法會(huì)認(rèn)為第一組w是比較好的.但實(shí)際我們業(yè)務(wù)需要的是第二組,因?yàn)檎龣z測(cè)結(jié)果才是業(yè)務(wù)的根本.

? ? ? ? 此時(shí)我們需要對(duì)數(shù)據(jù)進(jìn)行欠采樣/重采樣來(lái)讓正負(fù)例保持一個(gè)差不多的平衡,或者使用樹(shù)型算法來(lái)做分類.一般樹(shù)型分類的算法對(duì)數(shù)據(jù)傾斜并不是很敏感,但我們?cè)谑褂玫臅r(shí)候還是要對(duì)數(shù)據(jù)進(jìn)行欠采樣/重采樣來(lái)觀察結(jié)果是不是有變好.

五引矩、邏輯回歸的適用場(chǎng)景及優(yōu)缺點(diǎn)

應(yīng)用:

用于分類:適合做很多分類算法的基礎(chǔ)組件。

用于預(yù)測(cè):預(yù)測(cè)事件發(fā)生的概率(輸出)策治。

用于分析:?jiǎn)我灰蛩貙?duì)某一個(gè)事件發(fā)生的影響因素分析(特征參數(shù)值)脓魏。

適用:

基本假設(shè):輸出類別服從伯努利二項(xiàng)分布。

樣本線性可分通惫。

特征空間不是很大的情況。

不必在意特征間相關(guān)性的情景混蔼。

后續(xù)會(huì)有大量新數(shù)據(jù)的情況履腋。

解決過(guò)擬合的方法:

增加數(shù)據(jù)量(萬(wàn)能辦法)

減少特征:手動(dòng)剔除;特征選擇算法

正則化:結(jié)構(gòu)風(fēng)險(xiǎn)最小化策略

? ? 數(shù)據(jù)稀疏:L1正則化

? ? 其他情況:L2正則化

優(yōu)點(diǎn):

(模型)模型清晰惭嚣,背后的概率推導(dǎo)經(jīng)得住推敲遵湖。

(輸出)輸出值自然地落在0到1之間,并且有概率意義(邏輯回歸的輸出是概率么晚吞?http://www.reibang.com/p/a8d6b40da0cf)延旧。

(參數(shù))參數(shù)代表每個(gè)特征對(duì)輸出的影響,可解釋性強(qiáng)槽地。

(簡(jiǎn)單高效)實(shí)施簡(jiǎn)單迁沫,非常高效(計(jì)算量小、存儲(chǔ)占用低)捌蚊,可以在大數(shù)據(jù)場(chǎng)景中使用集畅。

(可擴(kuò)展)可以使用online learning的方式更新輕松更新參數(shù),不需要重新訓(xùn)練整個(gè)模型缅糟。

(過(guò)擬合)解決過(guò)擬合的方法很多挺智,如L1、L2正則化窗宦。

(多重共線性)L2正則化就可以解決多重共線性問(wèn)題赦颇。

缺點(diǎn):

(特征相關(guān)情況)因?yàn)樗举|(zhì)上是一個(gè)線性的分類器,所以處理不好特征之間相關(guān)的情況赴涵。

(特征空間)特征空間很大時(shí)媒怯,性能不好。

(精度)容易欠擬合句占,精度不高沪摄。

和其他分類方法的比較:https://zhuanlan.zhihu.com/p/54197906

六、邏輯回歸方法

from sklearn.linear_model import LogisticRegression

LR = LogisticRegression()

參數(shù)說(shuō)明:

參數(shù)選擇問(wèn)題:https://blog.csdn.net/liulina603/article/details/78676723?utm_medium=distribute.pc_relevant_right.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_right.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase

https://blog.csdn.net/jagbiam1000/article/details/79764012

參考:

https://zhuanlan.zhihu.com/p/28408516

https://blog.csdn.net/weixin_39445556/article/details/83930186

https://blog.csdn.net/liulina603/article/details/78676723?utm_medium=distribute.pc_relevant_right.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_right.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市杨拐,隨后出現(xiàn)的幾起案子祈餐,更是在濱河造成了極大的恐慌,老刑警劉巖哄陶,帶你破解...
    沈念sama閱讀 219,270評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件帆阳,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡屋吨,警方通過(guò)查閱死者的電腦和手機(jī)蜒谤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)至扰,“玉大人鳍徽,你說(shuō)我怎么就攤上這事「铱危” “怎么了阶祭?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,630評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)直秆。 經(jīng)常有香客問(wèn)我濒募,道長(zhǎng),這世上最難降的妖魔是什么圾结? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,906評(píng)論 1 295
  • 正文 為了忘掉前任瑰剃,我火速辦了婚禮,結(jié)果婚禮上筝野,老公的妹妹穿的比我還像新娘晌姚。我一直安慰自己,他們只是感情好遗座,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布舀凛。 她就那樣靜靜地躺著,像睡著了一般途蒋。 火紅的嫁衣襯著肌膚如雪猛遍。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,718評(píng)論 1 305
  • 那天号坡,我揣著相機(jī)與錄音懊烤,去河邊找鬼。 笑死宽堆,一個(gè)胖子當(dāng)著我的面吹牛腌紧,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播畜隶,決...
    沈念sama閱讀 40,442評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼壁肋,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼号胚!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起浸遗,我...
    開(kāi)封第一講書(shū)人閱讀 39,345評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤猫胁,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后跛锌,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體弃秆,經(jīng)...
    沈念sama閱讀 45,802評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評(píng)論 3 337
  • 正文 我和宋清朗相戀三年髓帽,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了菠赚。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,117評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡郑藏,死狀恐怖衡查,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情译秦,我是刑警寧澤峡捡,帶...
    沈念sama閱讀 35,810評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站筑悴,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏稍途。R本人自食惡果不足惜阁吝,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望械拍。 院中可真熱鬧突勇,春花似錦、人聲如沸坷虑。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,011評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)迄损。三九已至定躏,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間芹敌,已是汗流浹背痊远。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,139評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留氏捞,地道東北人碧聪。 一個(gè)月前我還...
    沈念sama閱讀 48,377評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像液茎,于是被迫代替她去往敵國(guó)和親逞姿。 傳聞我的和親對(duì)象是個(gè)殘疾皇子辞嗡,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評(píng)論 2 355