免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
邏輯回歸(logistics regression)

邏輯回歸(logistics regression)

        前幾章分別講了多元線性回歸的推理思路和求解過程(解析解求解梯度下降求解),文章并不以代碼和公式推導(dǎo)過程為重點(diǎn),目的是跟大家一起理解算法.前兩章的內(nèi)容是學(xué)習(xí)算法的基礎(chǔ),所以本章會(huì)在前兩章的基礎(chǔ)上討論邏輯回歸(logistics regression).邏輯回歸也屬于有監(jiān)督機(jī)器學(xué)習(xí).

        之前我們了解到了多元線性回歸是用線性的關(guān)系來擬合一個(gè)事情的發(fā)生規(guī)律,找到這個(gè)規(guī)律的表達(dá)公式,將得到的數(shù)據(jù)帶入公式以用來實(shí)現(xiàn)預(yù)測的目的,我們習(xí)慣將這類預(yù)測未來的問題稱作回歸問題.機(jī)器學(xué)習(xí)中按照目的不同可以分為兩大類:回歸和分類.今天我們一起討論的邏輯回歸就可以用來完成分類任務(wù).

        本文將通過以下幾部分來講解邏輯回歸:

                一.分類和回歸任務(wù)的區(qū)別

                二.邏輯回歸不是回歸

                三.如果是你,你要怎么做

                四.把回歸函數(shù)掰彎

               五.選定閾值

               六.最大似然估計(jì)

              七.求解交叉熵?fù)p失函數(shù)

一.分類和回歸任務(wù)的區(qū)別

        我們可以按照任務(wù)的種類,將任務(wù)分為回歸任務(wù)和分類任務(wù).那這兩者的區(qū)別是什么呢?按照較官方些的說法,輸入變量與輸出變量均為連續(xù)變量的預(yù)測問題是回歸問題,輸出變量為有限個(gè)離散變量的預(yù)測問題成為分類問題.

        通俗一點(diǎn)講,我們要預(yù)測的結(jié)果是一個(gè)數(shù),比如要通過一個(gè)人的飲食預(yù)測一個(gè)人的體重,體重的值可以有無限多個(gè),有的人50kg,有的人51kg,在50和51之間也有無限多個(gè)數(shù).這種預(yù)測結(jié)果是某一個(gè)確定數(shù),而具體是哪個(gè)數(shù)有無限多種可能的問題,我們會(huì)訓(xùn)練出一個(gè)模型,傳入?yún)?shù)后得到這個(gè)確定的數(shù),這類問題我們稱為回歸問題.預(yù)測的這個(gè)變量(體重)因?yàn)橛袩o限多種可能,在數(shù)軸上是連續(xù)的,所以我們稱這種變量為連續(xù)變量.

        我們要預(yù)測一個(gè)人身體健康或者不健康,預(yù)測會(huì)得癌癥或者不會(huì)得癌癥,預(yù)測他是水瓶座,天蝎座還是射手座,這種結(jié)果只有幾個(gè)值或者多個(gè)值的問題,我們可以把每個(gè)值都當(dāng)做一類,預(yù)測對(duì)象到底屬于哪一類.這樣的問題稱為分類問題.如果一個(gè)分類問題的結(jié)果只有兩個(gè),比如'是'和'不是'兩個(gè)結(jié)果,我們把結(jié)果為'是'的樣例數(shù)據(jù)稱為'正例',講結(jié)果為'不是'的樣例數(shù)據(jù)稱為'負(fù)例',對(duì)應(yīng)的,這種結(jié)果的變量稱為離散型變量.

二.邏輯回歸不是回歸

         從名字來理解邏輯回歸.在邏輯回歸中,邏輯一詞是logistics [l?'d??st?ks]的音譯字,并不是因?yàn)檫@個(gè)算法是突出邏輯的特性.

         至于回歸,我們前一段講到回歸任務(wù)是結(jié)果為連續(xù)型變量的任務(wù),logistics regression是用來做分類任務(wù)的,為什么叫回歸呢?那我們是不是可以假設(shè),邏輯回歸就是用回歸的辦法來做分類的呢.跟上思路.

三.如果是你,你要怎么做

        假設(shè)剛剛的思路是正確的,邏輯回歸就是在用回歸的辦法做分類任務(wù),那有什么辦法可以做到呢,此時(shí)我們就先考慮最簡單的二分類,結(jié)果是正例或者負(fù)例的任務(wù).

        按照多元線性回歸的思路,我們可以先對(duì)這個(gè)任務(wù)進(jìn)行線性回歸,學(xué)習(xí)出這個(gè)事情結(jié)果的規(guī)律,比如根據(jù)人的飲食,作息,工作和生存環(huán)境等條件預(yù)測一個(gè)人'有'或者'沒有'得惡性腫瘤,可以先通過回歸任務(wù)來預(yù)測人體內(nèi)腫瘤的大小,取一個(gè)平均值作為閾值,假如平均值為y,腫瘤大小超過y為惡心腫瘤,無腫瘤或大小小于y的,為非惡性.這樣通過線性回歸加設(shè)定閾值的辦法,就可以完成一個(gè)簡單的二分類任務(wù).如下圖:

      

        上圖中,紅色的x軸為腫瘤大小,粉色的線為回歸出的函數(shù)

的圖像,綠色的線為閾值.

        預(yù)測腫瘤大小還是一個(gè)回歸問題,得到的結(jié)果(腫瘤的大小)也是一個(gè)連續(xù)型變量.通過設(shè)定閾值,就成功將回歸問題轉(zhuǎn)化為了分類問題.但是,這樣做還存在一個(gè)問題.

        我們上面的假設(shè),依賴于所有的腫瘤大小都不會(huì)特別離譜,如果有一個(gè)超大的腫瘤在我們的例子中,閾值就很難設(shè)定.加入還是取平均大小為閾值,則會(huì)出現(xiàn)下圖的情況:

         

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

        所以我們下面來做兩件事:

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

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

四:把回歸函數(shù)掰彎

        沒錯(cuò),本小節(jié)用來解決上邊說的第一個(gè)問題.開玩笑了,無論如何我也不可能掰彎這個(gè)函數(shù).我們能做的呢,就是換一個(gè).原來的判別函數(shù)我們用線性的y = 

,邏輯回歸的函數(shù)呢,我們目前就用sigmod函數(shù),函數(shù)如下:

  

        公式中,e為歐拉常數(shù)(是常數(shù),如果不知道,自行百度),Z就是我們熟悉的多元線性回歸中的

,建議現(xiàn)階段大家先記住邏輯回歸的判別函數(shù)用它就好了.如果你不服,請(qǐng)參考:朱先生1994的博客(博客講的很好).

        就像我們說多元線性回歸的判別函數(shù)為

一樣.追究為什么是他花費(fèi)的經(jīng)歷會(huì)比算法本身更多.

sigmod函數(shù)的圖像如下:

        

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

        再次強(qiáng)調(diào)一下,如果你的數(shù)學(xué)功底很好,可以看一下我上邊分享的為什么是sigmod函數(shù)的連接,如果數(shù)學(xué)一般,我們這個(gè)時(shí)候沒有必要糾結(jié)為什么是sigmod,函數(shù)那么多為什么選他.學(xué)習(xí)到后邊你自然就理解了.

        總結(jié)一下上邊所講:我們利用線性回歸的辦法來擬合然后設(shè)置閾值的辦法容易受到離群值的影響,sigmod函數(shù)可以有效的幫助我們解決這一個(gè)問題,所以我們只要在擬合的時(shí)候把

即y = 
換成
即可,其中

z=

,也就是說g(z) =
. 同時(shí),因?yàn)間(z)函數(shù)的特性,它輸出的結(jié)果也不再是預(yù)測結(jié)果,而是一個(gè)值預(yù)測為正例的概率,預(yù)測為負(fù)例的概率就是1-g(z).

        函數(shù)形式表達(dá):

                 P(y=0|w,x) = 1 – g(z)

                 P(y=1|w,x) =  g(z)

                 P(正確) =

 * 
        
為某一條樣本的預(yù)測值,取值范圍為0或者1.

        到這里,我們得到一個(gè)回歸函數(shù),它不再像y=wT * x一樣受離群值影響,他的輸出結(jié)果是樣本預(yù)測為正例的概率(0到1之間的小數(shù)).我們接下來解決第二個(gè)問題:選定一個(gè)閾值.

五:選定閾值

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

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

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

        第二種情況,加入我們用來識(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è)不斷嘗試的過程,錯(cuò)誤率本身就很高.

        以上兩個(gè)例子可能不大準(zhǔn)確,只做意會(huì),你懂了就好. [此時(shí)我的表情無法描述]

        到這里,邏輯回歸的由來我們就基本理清楚了,現(xiàn)在我們知道了邏輯回歸的判別函數(shù)就是

,z=
.休息兩分鐘,我們下面看如何求解邏輯回歸,也就是如何找到一組可以讓
全都預(yù)測正確的概率最大的W.

六.最大似然估計(jì)

        此時(shí)我們想要找到一組w,使函數(shù)

正確的概率最大.而我們?cè)谏厦娴耐评磉^程中已經(jīng)得到每個(gè)單條樣本預(yù)測正確概率的公式:

                P(正確) =

 * 

        若想讓預(yù)測出的結(jié)果全部正確的概率最大,根據(jù)最大似然估計(jì)(多元線性回歸推理中有講過,此處不再贅述),就是所有樣本預(yù)測正確的概率相乘得到的P(總體正確)最大,此時(shí)我們讓

 ,數(shù)學(xué)表達(dá)形式如下:

       

        上述公式最大時(shí)公式中W的值就是我們要的最好的W.下面對(duì)公式進(jìn)行求解.

         我們知道,一個(gè)連乘的函數(shù)是不好計(jì)算的,我們可以通過兩邊同事取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ù).

七.求解交叉熵?fù)p失函數(shù)

        求解損失函數(shù)的辦法我們還是使用梯度下降,同樣在批量梯度下降與隨機(jī)梯度下降一節(jié)有詳細(xì)寫到,此處我們只做簡要概括.

        求解步驟如下:

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

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

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

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

       

               

         交叉熵?fù)p失函數(shù)的梯度和最小二乘的梯度形式上完全相同,區(qū)別在于,此時(shí)的

,而最小二乘的
.

PS:加一個(gè)總結(jié):邏輯回歸為什么對(duì)切斜的數(shù)據(jù)特別敏感(正負(fù)例數(shù)據(jù)比例相差懸殊時(shí)預(yù)測效果不好)

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

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

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

到這里,邏輯回歸就講解完畢了.請(qǐng)大家?guī)兔闭`,共同學(xué)習(xí).感謝您的耐心閱讀.

下一篇:一文讀懂L-BFGS算法

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
邏輯回歸:建立在回歸基礎(chǔ)上的一種分類模型
邏輯回歸簡介
你以為線性回歸和邏輯回歸是一回事嗎?
用人話講明白邏輯回歸Logistic regression
「原理」機(jī)器學(xué)習(xí)算法入門—廣義線性模型(線性回歸,邏輯回歸)
4.機(jī)器學(xué)習(xí)之邏輯回歸算法
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服