零基礎(chǔ)"機(jī)器學(xué)習(xí)"自學(xué)筆記|Note7:邏輯回歸

logic.jpeg

寫在前面

這個(gè)系列為我在自學(xué)【機(jī)器學(xué)習(xí)】時(shí)的個(gè)人筆記。學(xué)習(xí)過程中可能會(huì)有較多的紕漏,希望各位讀者不吝賜教腻异。本系列以吳恩達(dá)老師的【“機(jī)器學(xué)習(xí)”課程】為綱,輔以黃海廣老師的【斯坦福大學(xué) 2014 機(jī)器學(xué)習(xí)教程個(gè)人筆記(V5.51)】泡垃,中間會(huì)穿插相關(guān)數(shù)理知識(shí)。

邏輯回歸

7.1 分類問題

邏輯回歸(Logistic Regression)是一種用于解決二分類(0 or 1)問題的機(jī)器學(xué)習(xí)方法羡鸥,用于估計(jì)某種事物的可能性蔑穴。

將因變量(dependent variable)可能屬于的兩個(gè)類分別稱為負(fù)向類(negative class)和正向類(positive class),則因變量y\in { 0,1 \\} 惧浴,其中 0 表示負(fù)向類存和,1 表示正向類。

7.1

如果我們要用線性回歸算法來解決一個(gè)分類問題衷旅,那么假設(shè)函數(shù)的輸出值可能遠(yuǎn)大于 1捐腿,或者遠(yuǎn)小于0。然而邏輯回歸算法柿顶,這個(gè)算法的性質(zhì)是:它的輸出值永遠(yuǎn)在0到 1 之間茄袖。

邏輯回歸算法是分類算法,我們將它作為分類算法使用嘁锯。有時(shí)候可能因?yàn)檫@個(gè)算法的名字中出現(xiàn)了“回歸”使你感到困惑宪祥,但邏輯回歸算法實(shí)際上是一種分類算法聂薪,它適用于標(biāo)簽 y 取值離散的情況,如:1 0 0 1蝗羊。

7.2 假說表示

回顧在一開始提到的乳腺癌分類問題藏澳,我們可以用線性回歸的方法求出適合數(shù)據(jù)的一條直線:

7.1

根據(jù)線性回歸模型我們只能預(yù)測(cè)連續(xù)的值,然而對(duì)于分類問題耀找,我們需要輸出0或1翔悠,我們可以預(yù)測(cè):

當(dāng){h_\theta}\left( x \right)>=0.5時(shí),預(yù)測(cè) y=1野芒。

當(dāng){h_\theta}\left( x \right)<0.5時(shí)蓄愁,預(yù)測(cè) y=0

對(duì)于上圖所示的數(shù)據(jù),這樣的一個(gè)線性模型似乎能很好地完成分類任務(wù)狞悲。假使我們又觀測(cè)到一個(gè)非常大尺寸的惡性腫瘤撮抓,將其作為實(shí)例加入到我們的訓(xùn)練集中來,這將使得我們獲得一條新的直線效诅。

7.2

這時(shí)胀滚,再使用0.5作為閥值來預(yù)測(cè)腫瘤是良性還是惡性便不合適了趟济÷彝叮可以看出,線性回歸模型顷编,因?yàn)槠漕A(yù)測(cè)的值可以超越[0,1]的范圍戚炫,并不適合解決這樣的問題。

我們引入一個(gè)新的模型媳纬,邏輯回歸双肤,該模型的輸出變量范圍始終在0和1之間。
邏輯回歸模型的假設(shè)是: h_\theta \left( x \right)=g\left(\theta^{T}X \right)

其中:

X 代表特征向量

g 代表邏輯函數(shù)(logistic function)是一個(gè)常用的邏輯函數(shù)為S形函數(shù)(Sigmoid function)钮惠,公式為: g\left( z \right)=\frac{1}{1+{{e}^{-z}}}茅糜。

該函數(shù)的圖像為:

[圖片上傳失敗...(image-2e9344-1615636504740)].png)

合起來,我們得到邏輯回歸模型的假設(shè):

g\left( z \right)=\frac{1}{1+{{e}^{-z}}}素挽。

h\theta \left( x \right)的作用是蔑赘,對(duì)于給定的輸入變量,根據(jù)選擇的參數(shù)計(jì)算輸出變量=1的可能性(estimated probablity)即h\theta \left( x \right)=P\left( y=1|x;\theta \right)

例如预明,如果對(duì)于給定的x缩赛,通過已經(jīng)確定的參數(shù)計(jì)算得出h_\theta \left( x \right)=0.7,則表示有70%的幾率y為正向類撰糠,相應(yīng)地y為負(fù)向類的幾率為1-0.7=0.3酥馍。

7.3 判定邊界

7.5

在邏輯回歸中,我們預(yù)測(cè):

當(dāng){h_\theta}\left( x \right)>=0.5時(shí)阅酪,預(yù)測(cè) y=1旨袒。

當(dāng){h_\theta}\left( x \right)<0.5時(shí)汁针,預(yù)測(cè) y=0

根據(jù)上面繪制出的 S 形函數(shù)圖像峦失,我們知道當(dāng)

z=0 時(shí) g(z)=0.5

z>0 時(shí) g(z)>0.5

z<0 時(shí) g(z)<0.5

z={\theta^{T}}x 扇丛,即:
{\theta^{T}}x>=0 時(shí),預(yù)測(cè) y=1
{\theta^{T}}x<0 時(shí)尉辑,預(yù)測(cè) y=0

現(xiàn)在假設(shè)我們有一個(gè)模型:

7.6

并且參數(shù)\theta 是向量[-3 1 1]帆精。 則當(dāng)-3+{x_1}+{x_2} \geq 0,即{x_1}+{x_2} \geq 3時(shí)隧魄,模型將預(yù)測(cè) y=1卓练。
我們可以繪制直線{x_1}+{x_2} = 3,這條線便是我們模型的分界線购啄,將預(yù)測(cè)為1的區(qū)域和預(yù)測(cè)為 0的區(qū)域分隔開襟企。

7.7

假使我們的數(shù)據(jù)呈現(xiàn)這樣的分布情況,怎樣的模型才能適合呢狮含?

7.8

因?yàn)樾枰们€才能分隔 y=0 的區(qū)域和 y=1 的區(qū)域顽悼,我們需要二次方特征:{h_\theta}\left( x \right)=g\left( {\theta_0}+{\theta_1}{x_1}+{\theta_{2}}{x_{2}}+{\theta_{3}}x_{1}^{2}+{\theta_{4}}x_{2}^{2} \right)是[-1 0 0 1 1],則我們得到的判定邊界恰好是圓點(diǎn)在原點(diǎn)且半徑為1的圓形几迄。

我們可以用非常復(fù)雜的模型來適應(yīng)非常復(fù)雜形狀的判定邊界蔚龙。

7.4 代價(jià)函數(shù)

7.9

對(duì)于線性回歸模型,我們定義的代價(jià)函數(shù)是所有模型誤差的平方和映胁。理論上來說木羹,我們也可以對(duì)邏輯回歸模型沿用這個(gè)定義,但是問題在于解孙,當(dāng)我們將{h_\theta}\left( x \right)=\frac{1}{1+{e^{-\theta^{T}x}}}帶入到這樣定義了的代價(jià)函數(shù)中時(shí)坑填,我們得到的代價(jià)函數(shù)將是一個(gè)非凸函數(shù)(non-convexfunction)。

7.10

這意味著我們的代價(jià)函數(shù)有許多局部最小值弛姜,這將影響梯度下降算法尋找全局最小值脐瑰。

線性回歸的代價(jià)函數(shù)為:J\left( \theta \right)=\frac{1}{m}\sum\limits_{i=1}^{m}{\frac{1}{2}{{\left( {h_\theta}\left({x}^{\left( i \right)} \right)-{y}^{\left( i \right)} \right)}^{2}}}
我們重新定義邏輯回歸的代價(jià)函數(shù)為:J\left( \theta \right)=\frac{1}{m}\sum\limits_{i=1}^{m}{{Cost}\left( {h_\theta}\left( {x}^{\left( i \right)} \right),{y}^{\left( i \right)} \right)}廷臼,其中:

7.11

{h_\theta}\left( x \right)Cost\left( {h_\theta}\left( x \right),y \right)之間的關(guān)系如下圖所示:

7.12

這樣構(gòu)建的Cost\left( {h_\theta}\left( x \right),y \right)函數(shù)的特點(diǎn)是:當(dāng)實(shí)際的 y=1{h_\theta}\left( x \right)也為 1 時(shí)誤差為 0苍在,當(dāng) y=1{h_\theta}\left( x \right)不為1時(shí)誤差隨著{h_\theta}\left( x \right)變小而變大;當(dāng)實(shí)際的 y=0{h_\theta}\left( x \right)也為 0 時(shí)代價(jià)為 0中剩,當(dāng)y=0{h_\theta}\left( x \right)不為 0時(shí)誤差隨著 {h_\theta}\left( x \right)的變大而變大忌穿。
將構(gòu)建的 Cost\left( {h_\theta}\left( x \right),y \right)簡(jiǎn)化如下:
Cost\left( {h_\theta}\left( x \right),y \right)=-y\times log\left( {h_\theta}\left( x \right) \right)-(1-y)\times log\left( 1-{h_\theta}\left( x \right) \right)
帶入代價(jià)函數(shù)得到:
J\left( \theta \right)=\frac{1}{m}\sum\limits_{i=1}^{m}{[-{{y}^{(i)}}\log \left( {h_\theta}\left( {{x}^{(i)}} \right) \right)-\left( 1-{{y}^{(i)}} \right)\log \left( 1-{h_\theta}\left( {{x}^{(i)}} \right) \right)]}
即:J\left( \theta \right)=-\frac{1}{m}\sum\limits_{i=1}^{m}{[{{y}^{(i)}}\log \left( {h_\theta}\left( {{x}^{(i)}} \right) \right)+\left( 1-{{y}^{(i)}} \right)\log \left( 1-{h_\theta}\left( {{x}^{(i)}} \right) \right)]}

這就是邏輯回歸的代價(jià)函數(shù):

屏幕截圖 2021-03-13 160155

這個(gè)式子可以合并成:

Cost\left( {h_\theta}\left( x \right),y \right)=-y\times log\left( {h_\theta}\left( x \right) \right)-(1-y)\times log\left( 1-{h_\theta}\left( x \right) \right)
即,邏輯回歸的代價(jià)函數(shù):
Cost\left( {h_\theta}\left( x \right),y \right)=-y\times log\left( {h_\theta}\left( x \right) \right)-(1-y)\times log\left( 1-{h_\theta}\left( x \right) \right)
=-\frac{1}{m}\sum\limits_{i=1}^{m}{[{{y}^{(i)}}\log \left( {h_\theta}\left( {{x}^{(i)}} \right) \right)+\left( 1-{{y}^{(i)}} \right)\log \left( 1-{h_\theta}\left( {{x}^{(i)}} \right) \right)]}

最小化代價(jià)函數(shù)的方法结啼,是使用梯度下降法(gradient descent)掠剑。

屏幕截圖 2021-03-13 161844

{\theta_j}更新過程可以寫成:

{\theta_j}:={\theta_j}-\alpha \frac{1}{m}\sum\limits_{i=1}^{m}{({h_\theta}({{x}^{(i)}})-{{y}^{(i)}}){x_{j}}^{(i)}}

所以,如果你有 n 個(gè)特征郊愧,也就是說:

01710312350440

朴译,參數(shù)向量\theta包括{\theta_{0}} {\theta_{1}} {\theta_{2}} 一直到{\theta_{n}}井佑,那么你就需要用這個(gè)式子:

{\theta_j}:={\theta_j}-\alpha \frac{1}{m}\sum\limits_{i=1}^{m}{({h_\theta}({{x}^{(i)}})-{{y}^{(i)}}){{x}_{j}}^{(i)}}來同時(shí)更新所有\theta的值。

對(duì)于線性回歸假設(shè)函數(shù):

{h_\theta}\left( x \right)={\theta^T}X={\theta_{0}}{x_{0}}+{\theta_{1}}{x_{1}}+{\theta_{2}}{x_{2}}+...+{\theta_{n}}{x_{n}}

而現(xiàn)在邏輯函數(shù)假設(shè)函數(shù):

{h_\theta}\left( x \right)=\frac{1}{1+{{e}^{-{\theta^T}X}}}

因此眠寿,即使更新參數(shù)的規(guī)則看起來基本相同躬翁,但由于假設(shè)的定義發(fā)生了變化,所以邏輯函數(shù)的梯度下降盯拱,跟線性回歸的梯度下降實(shí)際上是兩個(gè)完全不同的東西盒发。

7.5 多類別分類:一對(duì)多

先看有關(guān)藥物診斷的例子,如果一個(gè)病人因?yàn)楸侨麃淼侥愕脑\所狡逢,他可能并沒有生病宁舰,用 y=1 這個(gè)類別來代表;或者患了感冒奢浑,用 y=2 來代表蛮艰;或者得了流感用y=3來代表。

對(duì)于二元分類問題和多類分類問題數(shù)據(jù)如下圖:

7.16

二元分類雀彼,可以使用邏輯回歸壤蚜,直線可以將數(shù)據(jù)集一分為二為正類和負(fù)類。

現(xiàn)在我們有一個(gè)訓(xùn)練集徊哑,好比上圖表示的有3個(gè)類別袜刷,我們用三角形表示 y=1,方框表示y=2实柠,叉叉表示 y=3水泉。我們下面要做的就是使用一個(gè)訓(xùn)練集善涨,將其分成3個(gè)二元分類問題窒盐。

我們先從用三角形代表的類別1開始,實(shí)際上我們可以創(chuàng)建一個(gè)钢拧,新的"偽"訓(xùn)練集蟹漓,類型2和類型3定為負(fù)類,類型1設(shè)定為正類源内,我們創(chuàng)建一個(gè)新的訓(xùn)練集葡粒,如下圖所示的那樣,我們要擬合出一個(gè)合適的分類器膜钓。

為了能實(shí)現(xiàn)這樣的轉(zhuǎn)變嗽交,我們將多個(gè)類中的一個(gè)類標(biāo)記為正向類(y=1),然后將其他所有類都標(biāo)記為負(fù)向類颂斜,這個(gè)模型記作h_\theta^{\left( 1 \right)}\left( x \right)夫壁。接著,類似地第我們選擇另一個(gè)類標(biāo)記為正向類(y=2)沃疮,再將其它類都標(biāo)記為負(fù)向類盒让,將這個(gè)模型記作 h_\theta^{\left( 2 \right)}\left( x \right),依此類推梅肤。

屏幕截圖 2021-03-13 155046

最后我們得到一系列的模型簡(jiǎn)記為: h_\theta^{\left( i \right)}\left( x \right)=p\left( y=i|x;\theta \right)其中:i=\left( 1,2,3....k \right)

最后,在我們需要做預(yù)測(cè)時(shí)邑茄,我們將所有的分類機(jī)都運(yùn)行一遍姨蝴,然后對(duì)每一個(gè)輸入變量,都選擇最高可能性的輸出變量肺缕。

總之左医,我們已經(jīng)把要做的做完了,現(xiàn)在要做的就是訓(xùn)練這個(gè)邏輯回歸分類器:h_\theta^{\left( i \right)}\left( x \right)同木, 其中 i 對(duì)應(yīng)每一個(gè)可能的 y=i炒辉,最后,為了做出預(yù)測(cè)泉手,我們給出輸入一個(gè)新的 x 值黔寇,用這個(gè)做預(yù)測(cè)。我們要做的就是在我們?nèi)齻€(gè)分類器里面輸入 x斩萌,然后我們選擇一個(gè)讓 h_\theta^{\left( i \right)}\left( x \right) 最大的i缝裤,即\mathop{\max}\limits_i\,h_\theta^{\left( i \right)}\left( x \right)

無論i值是多少颊郎,我們都有最高的概率值憋飞,我們預(yù)測(cè)y就是那個(gè)值。這就是多類別分類問題姆吭,以及一對(duì)多的方法榛做,通過這個(gè)小方法,可以將邏輯回歸分類器用在多類分類的問題上内狸。


往期:

零基礎(chǔ)"機(jī)器學(xué)習(xí)"自學(xué)筆記|Note1:機(jī)器學(xué)習(xí)緒論

零基礎(chǔ)"機(jī)器學(xué)習(xí)"自學(xué)筆記|Note2:單變量線性回歸

零基礎(chǔ)"機(jī)器學(xué)習(xí)"自學(xué)筆記|Note3:線性代數(shù)回顧

零基礎(chǔ)"機(jī)器學(xué)習(xí)"自學(xué)筆記|Note5:多變量線性回歸

零基礎(chǔ)"機(jī)器學(xué)習(xí)"自學(xué)筆記|Note6:正規(guī)方程及其推導(dǎo)(內(nèi)附詳細(xì)推導(dǎo)過程)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末检眯,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子昆淡,更是在濱河造成了極大的恐慌锰瘸,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,682評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件昂灵,死亡現(xiàn)場(chǎng)離奇詭異避凝,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)眨补,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門管削,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人撑螺,你說我怎么就攤上這事含思。” “怎么了实蓬?”我有些...
    開封第一講書人閱讀 165,083評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵茸俭,是天一觀的道長(zhǎng)吊履。 經(jīng)常有香客問我,道長(zhǎng)调鬓,這世上最難降的妖魔是什么艇炎? 我笑而不...
    開封第一講書人閱讀 58,763評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮腾窝,結(jié)果婚禮上缀踪,老公的妹妹穿的比我還像新娘。我一直安慰自己虹脯,他們只是感情好驴娃,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著循集,像睡著了一般唇敞。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上咒彤,一...
    開封第一講書人閱讀 51,624評(píng)論 1 305
  • 那天疆柔,我揣著相機(jī)與錄音,去河邊找鬼镶柱。 笑死旷档,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的歇拆。 我是一名探鬼主播鞋屈,決...
    沈念sama閱讀 40,358評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼故觅!你這毒婦竟也來了厂庇?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,261評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤逻卖,失蹤者是張志新(化名)和其女友劉穎宋列,沒想到半個(gè)月后昭抒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體评也,經(jīng)...
    沈念sama閱讀 45,722評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年灭返,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了盗迟。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,030評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡熙含,死狀恐怖罚缕,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情怎静,我是刑警寧澤邮弹,帶...
    沈念sama閱讀 35,737評(píng)論 5 346
  • 正文 年R本政府宣布黔衡,位于F島的核電站,受9級(jí)特大地震影響腌乡,放射性物質(zhì)發(fā)生泄漏盟劫。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評(píng)論 3 330
  • 文/蒙蒙 一与纽、第九天 我趴在偏房一處隱蔽的房頂上張望侣签。 院中可真熱鬧,春花似錦急迂、人聲如沸影所。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)猴娩。三九已至,卻和暖如春勺阐,著一層夾襖步出監(jiān)牢的瞬間胀溺,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工皆看, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留仓坞,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,237評(píng)論 3 371
  • 正文 我出身青樓腰吟,卻偏偏與公主長(zhǎng)得像无埃,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子毛雇,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容