判別式分類器vs生成式分類器:邏輯迴歸和樸素貝葉斯的比較

本文是二貨算法婦女對ng和Jordan的神論文《On Discriminative vs. Generative classifiers: A comparison of logistic regression and naive Bayes》的翻譯式理解。
由於在看這篇論文時還沒有仔細看過VC 界和VC維,翻譯起來很吃力,也理解很不到位,很多公式都不理解。各位不喜隨便噴。

下面是我對論文的機械式理解。

*******************************我是分界線******************************

概述

本文通過邏輯迴歸和樸素貝葉斯比較判別式學習方法和生成式學習方法。實驗結果表明,和廣泛的認知相反,判別式分類器纔是首選的。當訓練集增加,儘管兩種算法都會表現更好,但效果好的表現形式卻是不同的。從反覆實驗中觀察到,訓練集增加後,判別式方法會達到更低的漸進誤差,而生成式方法會更快的達到漸進誤差,但這個誤差比判別方法的漸進誤差大。

介紹

生成式分類器學習得到輸入數據x和標籤y的聯合概率模型p(x,y),然後通過貝葉斯規則,預測p(y|x),然後選出最可能的標籤y。判別分類器直接學習後驗p(y|x),或者直接學習從輸入數據x到類別的計算圖。用判別式方法比生成式方法好有幾個很強的原因,其中一個簡單引用Vapink文章中的話說,“當我們能直接解決一個分類問題時,絕不通過解決一個更通用的問題作爲解答問題的中間步驟”。事實上,拋開計算複雜度和數據的缺失的話,更強的結論是:判別方法比生成方法更優先考慮。
另外一個重要而通俗的結論是訓練模型需要的樣本數量經常和模型的獨立(free)參數大致呈線性關係。從“大量”模型中觀察到以上結論的理論基礎。VC維(這又是一大塊知識點,菜鳥妞還沒有看過呢)和參數數量呈粗略的線性或者最多是低序的多項式,並且,判別方法設定的(discriminative setting?)樣本複雜度和VC維呈線性。
這篇文章從實驗和理論上論證上述觀點的正確性。調整(fit)概率模型p(x,y)的參數族既可以優化聯合概率,也可以優化條件概率p(y|x),甚至可以統一設定p(y|x)的閾值最小化二項分類的訓練誤差,從而用於預測。
給定一個用規則1調整的分類器這裏寫圖片描述和一個用另外的規則調整的模型這裏寫圖片描述,兩個模型有同樣的參數族,把這裏寫圖片描述這裏寫圖片描述稱爲“生成-判別對”(Generrative-Discriminative pair)。例如,如果p(x|y)服從高斯分佈,p(y)是多項式,那麼“生成-判別對”是高斯判別分析和邏輯迴歸。類似的,這個例子離散化後,就是著名的樸素貝葉斯分類器和邏輯迴歸形式的“生成-判別對”(G-D pair)。
對比生成式學習和判別式學習,自然就重點關注G-D pair。本文通過樸素貝葉斯模型和它的判別搭檔——邏輯迴歸來展示:(當訓練樣本較大時)生成式模型的漸進誤差確實比判別式模型的大,同時,生成式模型收斂到漸進誤差的速度也比判別式模型快,這裏,數據集的大小和參數的數量是呈對數關係,而不是線性的。經驗告訴我們:隨着訓練樣本的增加,會出現兩個完全不同的效果:生成模型在收斂速度上表現更好,而判別模型漸進誤差的值更小。

準備工作

假定有一個二分類任務,數據是離散的。
假定輸入是n維的,每一維的取值只有0和1,這裏寫圖片描述 ,輸入是樸素的(各維相互獨立)。
輸出標籤的取值也只有兩項,這裏寫圖片描述 ,並且有一個基於這裏寫圖片描述 的聯合分佈這裏寫圖片描述 的訓練集 這裏寫圖片描述,從中選取m個樣本。
生成式的樸素貝葉斯(NB)用S來計算這裏寫圖片描述這裏寫圖片描述的估計這裏寫圖片描述這裏寫圖片描述 ,如下式:
這裏寫圖片描述
這裏寫圖片描述的計算方式和這裏寫圖片描述類似。其中,#s{.}表示在訓練集S中計算事件 這裏寫圖片描述發生的樣本個數,當l=0,分子就是聯合概率的經驗估計,而l通常設置爲正值,例如1,這是概率的拉普拉斯平滑。對測試樣本x進行分類時,樸素貝葉斯分類器這裏寫圖片描述:當且僅當下面的公式的值爲正,在這裏寫圖片描述 預測這裏寫圖片描述
這裏寫圖片描述
以上結論對連續輸入數據一樣適用。
這裏寫圖片描述 服從單變量高斯分佈,分佈的參數爲這裏寫圖片描述這裏寫圖片描述 。參數通過最大似然函數來優化。那麼 這裏寫圖片描述是訓練集中標籤爲y=b的所有樣本的第i維特徵的經驗均值(通常將這裏寫圖片描述這裏寫圖片描述 稱爲真實的均值和方差)。
無論是離散的還是連續的實例中,樸素貝葉斯的判別式搭檔都是邏輯迴歸。邏輯迴歸的參數設定爲[β,θ],條件概率函數爲這裏寫圖片描述 ,在測試樣本x上,判別式的邏輯迴歸分類器這裏寫圖片描述:當且僅當線性判別式方程
這裏寫圖片描述
的取值爲正時,可預測這裏寫圖片描述
對於判別式模型來說,既可以通過在訓練集上最大化條件似然函數這裏寫圖片描述 來優化參數[β,θ],也可以通過最小化0-1訓練誤差這裏寫圖片描述 來優化參數。其中,1{.}表示指示函數(這裏寫圖片描述 )。在0-1分類器中,後者計算的誤差更真實,後者纔是真正的邏輯迴歸的誤差。但是對數似然函數經常被當作後者(訓練誤差)的粗略估計。在本文當中,我們幾乎吧兩者的差異忽略了,爲了避免濫用專業術語,這裏申明,本文鬆散的將兩種方法都稱作邏輯迴歸。但是在正式的數據分析中,邏輯迴歸使用的優化條件是這裏寫圖片描述
最後說明,本文使用這裏寫圖片描述 表示線性分類器族,並將分類器這裏寫圖片描述 的誤差定義爲
這裏寫圖片描述

算法

邏輯迴歸還是樸素貝葉斯都是線性分類器,當分佈這裏寫圖片描述 中的兩種類型並不是線性可分的,這兩種都不能很好的分類。而在這裏,我們的目標是對比兩者在穩定到漸進誤差上的表現,而不那麼在意它們的漸進誤差會達到的具體值,因此,採用的數據集是不可知論的。
還有就是, 這裏寫圖片描述採用最流行版本的樸素貝葉斯分類器,參數爲這裏寫圖片描述 ,同樣, 這裏寫圖片描述也採用最流行版本的邏輯迴歸。
先直接給出下面兩個命題吧:
這裏寫圖片描述
命題1表明:穩定後,判別式邏輯分類的誤差小於生成式的樸素貝葉斯的誤差。不難發現, 這裏寫圖片描述轉換成這裏寫圖片描述 ,它在收斂後表現不會比樸素貝葉斯差,其中這裏寫圖片描述 是線性分類器中的一個。
這個命題似乎給判別式分類器比生成式分類器好提供了基礎。
命題2是另一個標準結果,它是Vapnik的邏輯迴歸的統一收斂性的直接應用,採用了這裏寫圖片描述 有VC維n(VC維需要看看)。這個命題表明判別式學習所用的樣本的複雜度(模型逼近漸進誤差所需的樣本的數量)最多不超過n(n到底是怎樣的存在?)。最差的樣本複雜度爲n的下界。(一頭霧水)
上面的結論可以理解簡單的理解爲:線性分類器的誤差會收斂到最佳狀態,當用差不多n個樣本時,收斂完成。那麼生成式學習呢?尤其是貝葉斯分類器所需的樣本量呢?
有以下定理:
這裏寫圖片描述
證明實在超出我的能力範圍,先略過了,等基礎知識夠了再補吧。
對於離散數據,令l=0,

樣本的數量只需要和n呈對數關係,而不是線性,生成式分類器這裏寫圖片描述就可以逼近漸進值這裏寫圖片描述 ,也就是說只需要這裏寫圖片描述 個樣本就可以訓練樸素貝葉斯分類器,而邏輯迴歸是(n)。可以看出,雖然樸素貝葉斯最後逼近的漸進誤差比邏輯迴歸大,但是它在更少的樣本下就可以收斂到漸進誤差,而且兩者對樣本複雜度的需求相差較大,樸素貝葉斯需要這裏寫圖片描述 而邏輯迴歸需要這裏寫圖片描述
一種判斷這裏寫圖片描述 逼近於這裏寫圖片描述 的方法是這裏寫圖片描述這裏寫圖片描述 的預測結果相同。這裏寫圖片描述這裏寫圖片描述 的分類函數,這裏寫圖片描述這裏寫圖片描述 的分類函數,對每個樣本,這裏寫圖片描述這裏寫圖片描述 的值都同時爲正或者同時爲負,那麼表明 這裏寫圖片描述這裏寫圖片描述 做出同樣的預測。只要這裏寫圖片描述 離0很遠,那麼即使這裏寫圖片描述 有小小的攝動,這裏寫圖片描述這裏寫圖片描述 也是一樣的。因此,並不是兩者的值一樣,只要兩者都在0的同一邊就算作出相同的預測。

這裏寫圖片描述
這個定理的重點是爲了讓邊界非零,當這裏寫圖片描述 很小時, 這裏寫圖片描述必須要很小。這裏寫圖片描述 的上界限是 這裏寫圖片描述,其中,x是隨機變量,它的分佈由這裏寫圖片描述 決定, 這裏寫圖片描述有可能和0很接近。從下面的命題可以獲得一些對這些隨機變量的基本判斷:
這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述

實驗

這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述

對UCI機器學習倉庫中的15個數據集做實驗的結果,15個訓練集中8個連續數據集,7個離散數據集。實線是樸素貝葉斯的收斂曲線,虛線是邏輯迴歸的收斂曲線。
從實驗可以看出,通常一開始,樸素貝葉斯表現的更好,但是隨着樣本數量的增加,大部分邏輯迴歸模型的誤差會更小。從實驗圖中看到,有5個模型,邏輯迴歸的誤差並不比樸素貝葉斯小,這是因爲選擇的m還不夠大,對這類分類,邏輯迴歸還沒有完全逼近漸進誤差。

討論

Efron([2])也分析了邏輯迴歸和高斯判別分析,並得出結論邏輯迴歸受統計影響很小,這點和本文的結果一致,但有一個很不同的地方是,本文假定這裏寫圖片描述 服從高斯分佈,該高斯分佈的協方差矩陣是對角矩陣,而Efron將這裏寫圖片描述 服從的高斯分佈的協方差定爲全協方差矩陣。在這裏,如果訓練樣本小於n的線性量級,高斯判別分析的收斂的並不比邏輯迴歸快。另一點,由於Efron在這裏寫圖片描述 用的是真正的高斯分佈,因此,對於一般的案例,結論並不適用,因爲只有當這裏寫圖片描述 下,邏輯迴歸纔是更優的選擇。而事實上,從本文的實驗來看,對於大部分案例,結論都是適用的。

實踐中,分類算法通常都會涉及到正則化,尤其是邏輯迴歸,實踐中通過L1約束來衰減參數,或者通過不同的方式做平均。這些正則化技術被看做是改變模型的方法族。對於本質的生成-判別對,我們要更清晰的瞭解在什麼條件下,生成式模型和判別模型可以發揮更好作用,這樣才能根據條件設計出更好的混合模型。
最後,本文的重點是討論樸素貝葉斯和邏輯迴歸,但我們可以拓展到別的模型的分析,包括生成-判別對模型、受限的貝葉斯網絡模型等。

***************************************我是分界線***********************
由於很多知識不太懂,專門去看了NTU的公開課《機器學習基石》,結果在後四節還是沒有完全吸收。VC維、VC界還需要進一步學習啊。

發佈了101 篇原創文章 · 獲贊 92 · 訪問量 36萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章