上一節(jié)簡單的介紹了一下線性回歸,通過簡單的線性模型進(jìn)行預(yù)測結(jié)果,并不斷逼近真實(shí)標(biāo)記值,實(shí)現(xiàn)回歸。
那如果我們想用線性模型去實(shí)現(xiàn)分類呢?
2.1邏輯回歸
線性回歸預(yù)測出的是一個(gè)連續(xù)型的值,要想根據(jù)預(yù)測出的值進(jìn)行分類,從最簡單的,一個(gè)二分類任務(wù)來討論,我們要根據(jù)預(yù)測出的值判斷這是正類還是負(fù)類,將(-∞,+∞)的預(yù)測值,轉(zhuǎn)變?yōu)榭梢杂脕矸诸惖闹怠?/p>
那我們設(shè)定一個(gè)閾值,對于回歸的輸出,如果輸出大于這個(gè)閾值就為正類,反之為負(fù)類?
看上去是可行的,但回歸出的數(shù)據(jù)往往差距是非常大的,會有非常大或非常小的值(離群值)影響閾值和分類結(jié)果,因此不太可行。
因此我們想有沒有一種方法可以很好的解決離群值的問題呢?
因此就引入了sigmoid函數(shù),將結(jié)果(-∞,+∞)映射到(0,1)的范圍內(nèi)。

這樣一個(gè)模型的輸出就可以整理為:
? ? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? 其中 ? ??
這樣的模型就稱為邏輯回歸模型,雖然寫成回歸,但是這是一種分類算法?。?!
當(dāng)線性回歸的輸出,經(jīng)過sigmoid函數(shù),得到一個(gè)0到1之間的值時(shí),這個(gè)值的意義就是這個(gè)樣本被分為正類的概率值。
其中計(jì)算出的g(z)表示該樣本為正例的概率,而1-g(z)就是樣本為負(fù)例的概率。
2.2 閾值選擇
對于邏輯回歸的輸出是一個(gè)0-1之間的小數(shù),我們通常是將閾值定為0.5,看著比較舒服,滿足大于0.5為正例,小于0.5為反例。但這并不強(qiáng)求,在實(shí)際應(yīng)用中,閾值是可以自由調(diào)節(jié)的。
2.3 使用極大似然估計(jì) 計(jì)算
和b
極大似然估計(jì) 就是利用已知的樣本結(jié)果,反推最有可能(最大概率)導(dǎo)致這樣結(jié)果的參數(shù)值。
而在2.1中,我們知道,一個(gè)樣本輸入為x,通過計(jì)算得到最后的輸出g(z),其中,可以用
?= ?g(z) 來表示這個(gè)樣本被分為正例的概率,用
表示分為負(fù)類的概率,可寫做(這個(gè)二分類中正類=1,負(fù)類=0):

在已知這個(gè)樣本的真實(shí)標(biāo)簽y的情況下,這個(gè)樣本正確分類的概率可以寫成如下:

數(shù)據(jù)集中的每一個(gè)樣本正確分類的概率都可以寫成這樣,我們訓(xùn)練的目的,就是得到使得數(shù)據(jù)集所有樣本正確分類的概率最大、、這里就用到了極大似然估計(jì),就是每一個(gè)樣本正確分類的概率乘積是最大的,記為
,我們就是要求max?
,對于一個(gè)連乘的式子,我們用取log的方式,變成連加的形式:

求讓最大的
,這里采用梯度上升的辦法(梯度上升和梯度下降沒啥區(qū)別,就是一個(gè)用求來最大化問題,另一個(gè)求最小化問題)過程如下:

上圖中,是學(xué)習(xí)率,通過最后
的更新公式,可以看出每次更新
都用上了所有的樣本,這是批量梯度上升方法,其他還有隨機(jī)梯度上升、批量梯度上升方法(這些等以后專門整理一個(gè)梯度下降的內(nèi)容吧。。)。
總結(jié)一下,在訓(xùn)練邏輯回歸模型時(shí),我們初始化一組,計(jì)算并使用梯度上升的方法更新它,迭代更新這一步,直到達(dá)到一定的迭代次數(shù)后者得到一個(gè)比較小的損失函數(shù)停止。(邏輯回歸中的損失函數(shù)可以理解為交叉熵?fù)p失函數(shù),就是
,我們求解max
,就是求min?
)
交叉熵?fù)p失函數(shù)的公式如下:

3.線性回歸和邏輯回歸
兩種方法的基本概念都介紹完了,總結(jié)一下它倆的關(guān)系
線性回歸輸出+sigmoid=邏輯回歸的輸出
線性回歸用于回歸、邏輯回歸用于分類;線性回歸計(jì)算參數(shù)主要使用最小二乘法、邏輯回歸用梯度上升