逻辑回归与朴素贝叶斯的战争
0
一起走過(guò)的
?
首先,小夕帶領(lǐng)大家回顧一下文章《邏輯回歸》、《Sigmoid與Softmax》、《樸素貝葉斯》中的幾點(diǎn)內(nèi)容,這幾點(diǎn)內(nèi)容也是本文的前置知識(shí):
1. 邏輯回歸模型的表達(dá)式(假設(shè)函數(shù)):,其中。
2. 邏輯回歸模型本質(zhì)上是二類分類問(wèn)題中其中一個(gè)類別的后驗(yàn)概率。
3.?用于二類分類的sigmoid函數(shù)只是用于多類分類的softmax函數(shù)的一個(gè)特例。
4. 樸素貝葉斯模型本質(zhì)上計(jì)算并比較的是某樣本x與某類別y的聯(lián)合概率。
?如果對(duì)上述前置知識(shí)有疑問(wèn),小夕強(qiáng)烈建議再參考那三篇文章理解一下哦。
?
好了,上面的知識(shí)在本文中已默認(rèn)為常識(shí),不再額外解釋啦~
1
戰(zhàn)爭(zhēng)導(dǎo)火索
在樸素貝葉斯模型中,P(x,y)是基于貝葉斯定理和獨(dú)立性假設(shè)來(lái)近似得到的,而不是像回歸模型計(jì)算P(y|x)那樣直接計(jì)算出來(lái)。那么有沒(méi)有一種表示來(lái)直接得到P(x,y)的表達(dá)式呢?
?
還記得我們?cè)凇秙igmoid與softmax》中定義的,小夕將定義為向量w1與w2的“親密度”,而某個(gè)樣本x屬于某個(gè)類別的后驗(yàn)概率P(y|x)就可以解讀為“類別y與樣本x的親密度占所有類別與樣本x的親密度之和的比例”,用數(shù)學(xué)語(yǔ)言(softmax)描述就是這樣子的(K為類別數(shù),wj是小夕解讀過(guò)的描述類別j的向量,同時(shí)也是大眾理解的模型參數(shù)):
?
?
仔細(xì)觀察一下小夕用親密度解釋后驗(yàn)概率的這句話,有沒(méi)有發(fā)現(xiàn)這句話非常生動(dòng)的描繪了P(y|x)呢?(不是自夸啦\(//?//)\,下文要用到...)
--->?固定住x,因此計(jì)算親密度時(shí)忽略其他樣本的存在(準(zhǔn)確講,忽略P(x)的分布情況),只關(guān)心當(dāng)前的樣本x。
?
那如果我們要描繪P(x,y)呢?描繪x與y的聯(lián)合概率分布的話,肯定既要描繪出全部的y的情況,又要描繪出全部的x的情況,機(jī)智的你或許已經(jīng)想到了,那我們不固定x了,而是考慮全部的x不就行啦。所以,某樣本x與某類別y的聯(lián)合概率P(x,y)就是“類別y與樣本x的親密度占所有類別與所有樣本的親密度之和的比例”,也就是只需要讓分母照顧到所有樣本就行啦~所以:
?
?
沒(méi)錯(cuò),這就是樸素貝葉斯模型背后的東西,它本質(zhì)上就是額外考慮了樣本x自身分布情況的邏輯回歸(多類時(shí)的softmax回歸)。所以本質(zhì)上,邏輯回歸模型與樸素貝葉斯模型之間隔著的墻就是這個(gè)p(x)。一個(gè)優(yōu)雅的數(shù)學(xué)公式總結(jié)一下:
?
?
于是機(jī)器學(xué)習(xí)模型基本上兵分兩路:像樸素貝葉斯這種,通過(guò)計(jì)算樣本x與類別y的聯(lián)合分布來(lái)進(jìn)行分類的機(jī)器學(xué)習(xí)模型被稱為生成式模型;像邏輯回歸這種,在固定住特定樣本x的情況下,計(jì)算該樣本x與類別y的條件分布來(lái)進(jìn)行分類的機(jī)器學(xué)習(xí)模型被稱為判別式模型。
?
有了這兩個(gè)定義以后,戰(zhàn)爭(zhēng)爆發(fā)了。
2
戰(zhàn)爭(zhēng)
?
戰(zhàn)爭(zhēng)焦點(diǎn):以樸素貝葉斯模型為代表的判別式模型與以邏輯回歸為代表的生成式模型哪個(gè)更好呢?
?
理論上說(shuō),生成式模型不僅考慮(計(jì)算中包含)了后驗(yàn)概率,又包含了樣本x自身的分布情況,因此比判別式模型涵蓋更多的信息量,所以應(yīng)該更準(zhǔn)確才是。但是實(shí)際上,從歷史戰(zhàn)況來(lái)看,除了文本分類等個(gè)別任務(wù)外,判別式模型的代表,邏輯回歸模型,往往比代表生成式模型的樸素貝葉斯模型表現(xiàn)更佳。
這是為什么呢?
從上文的樸素貝葉斯的公式可以看出,想要基于全部信息,來(lái)計(jì)算完整的p(x,y)其實(shí)是很困難的,因此需要像樸素貝葉斯一樣做一些獨(dú)立性假設(shè)才能近似計(jì)算p(x,y)。然而,這些假設(shè)又過(guò)度簡(jiǎn)化了p(x),使得它的估計(jì)很不準(zhǔn)確,導(dǎo)致哪怕在樸素貝葉斯模型表現(xiàn)優(yōu)異的場(chǎng)景下,它對(duì)各個(gè)p(x,y)的計(jì)算實(shí)際上都是很不準(zhǔn)的。
?
在此,有一個(gè)小實(shí)驗(yàn)大家可以做一下:
用樸素貝葉斯分類器完成某個(gè)分類任務(wù),記下分類器對(duì)每個(gè)預(yù)測(cè)結(jié)果的把握(即每個(gè)P(x,y))。然后把每個(gè)樣本的每一維度的特征復(fù)制成兩個(gè)。即讓X=[x1,x2,x3…]變成X=[x1,x1,x2,x2,x3,x3…],然后再訓(xùn)練,然后看看對(duì)預(yù)測(cè)結(jié)果的把握有沒(méi)有增大或減小。
我們知道,這樣肯定不會(huì)帶來(lái)任何額外的信息量,也不會(huì)改變p(x)的分布,然而,這樣卻會(huì)導(dǎo)致樸素貝葉斯增大對(duì)預(yù)測(cè)結(jié)果的把握度,也就是增大了對(duì)p(x,y)的估計(jì)值,這顯然是大大的誤差。
?
而判別式模型,由于固定了x值,所以不會(huì)考慮p(x)的問(wèn)題,也就是說(shuō)對(duì)p(x)的分布呈中立態(tài)度,自然不會(huì)因此引入額外的誤差。而對(duì)于分類問(wèn)題,去考慮和計(jì)算p(x)的分布情況本就是多此一舉的,因此,反倒是判別式模型往往要優(yōu)于生成式模型的。
?
所以,暫且就認(rèn)為樸素貝葉斯模型戰(zhàn)敗了。
3
戰(zhàn)后悄悄話
?
然而,就像樸素貝葉斯與邏輯回歸這個(gè)生成式-判別式對(duì),同樣的戰(zhàn)爭(zhēng)蔓延到了分類之外的戰(zhàn)場(chǎng)上...
?
欲知后事如何,且聽(tīng)小夕下回,也可能下下回,或者下下下回,或者...
總結(jié)
以上是生活随笔為你收集整理的逻辑回归与朴素贝叶斯的战争的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Spring Cloud构建微服务架构:
- 下一篇: 美团外卖客户端高可用建设体系