1、引言
趁熱打鐵,本期再來聊聊它。特別的,我們把樸素貝葉斯大類中的高斯樸素貝葉斯和邏輯回歸比較比較~
邏輯回歸 vs 高斯樸素貝葉斯,這其實(shí)代表這兩類模型的 PK。邏輯回歸是判別模型(discriminative model)的代表,而樸素貝葉斯是生成模型(generative model)的代表。更有意思的是,通過一定的數(shù)學(xué)推導(dǎo)可以看出,高斯樸素貝葉斯在求解 P(Y|X) —— 其中 X 為 n 維特征向量、Y 為類別標(biāo)識(shí) —— 時(shí)具有和邏輯回歸一樣的數(shù)學(xué)表達(dá)式(當(dāng)然僅僅是解析表達(dá)式一致,而它們背后對模型參數(shù)的求解方法完全不同)。
下文首先簡要回顧一下邏輯回歸,其次會(huì)推導(dǎo)高斯樸素貝葉斯的表達(dá)式。之后,通過對比這二者來解釋判別模型和生成模型的區(qū)別。從評價(jià)一個(gè)分類器在樣本外準(zhǔn)確性的 generalization error 來說,判別模型和生成模型各有千秋。雖然學(xué)術(shù)界和業(yè)界普遍認(rèn)為判別模型的精度更高,但 Ng and Jordan (2002) 通過理論和實(shí)證表明,在訓(xùn)練集樣本數(shù)量很少的情況下,生成模型的效果往往優(yōu)于判別模型。
2、邏輯回歸
本節(jié)以二元分類為例簡要介紹邏輯回歸。
在二元邏輯回歸中,每個(gè)樣本點(diǎn)都屬于 0 或者 1 這兩類中的某一類?;貧w模型根據(jù)樣本點(diǎn)的特征計(jì)算該樣本點(diǎn)屬于每一類的條件概率,即 P(Y|X)。與樸素貝葉斯不同,邏輯回歸直接對 P(Y|X) 建模求解,而不需要先求出 P(X|Y) 和 P(Y)、再應(yīng)用貝葉斯定理。
在求解 P(Y|X) 時(shí),邏輯回歸假定了如下的參數(shù)化形式:

其中,函數(shù) h(z) ≡ 1 / (1 + exp(-z)) 被稱為邏輯函數(shù)(logistic function)或sigmoid 函數(shù)(因?yàn)?h(z) 形如 S 曲線);它的取值范圍在 0 和 1 之間。邏輯回歸的目的是通過訓(xùn)練集數(shù)據(jù)找到較優(yōu)的參數(shù) w 使得分類結(jié)果盡量同時(shí)滿足如下目標(biāo):
當(dāng)一個(gè)樣本點(diǎn)的真實(shí)分類是 1 時(shí),P(Y=1|X) 盡可能大;
當(dāng)一個(gè)樣本點(diǎn)的真實(shí)分類是 0 時(shí),P(Y=0|X) 盡可能大。
在樣本外分類時(shí),邏輯回歸將新樣本點(diǎn)的特征向量 X 按照 w 進(jìn)行線性組合得到標(biāo)量 z,再將 z 放入邏輯函數(shù) h(z) 最終求出該樣本點(diǎn)屬于類別 1 以及 0 的概率,如果 P(Y=1|X) > P(Y=0|X),則該樣本點(diǎn)被分為類別 1,反之為類別 0。
在決定較優(yōu)參數(shù) w 時(shí),一個(gè)合理的目標(biāo)是在訓(xùn)練模型時(shí)最大化條件似然性。假設(shè)訓(xùn)練集共有 m 對兒樣本 {(X_i, Y_i), i = 1, 2, …, m},則較優(yōu)的 w* 應(yīng)滿足:
.jpg)
兩邊取對數(shù)(目的是將右側(cè)求積變成求和)、利用 Y_i 僅能取 0 或者 1 這個(gè)事實(shí)、并將 P(Y|X) 寫成邏輯回歸的邏輯函數(shù),就可以得到求解 w 時(shí)的目標(biāo)函數(shù) f(w):
.jpg)
其中 X_i^(j) 為第 i 個(gè)樣本的第 j 個(gè)特征的取值。該目標(biāo)函數(shù)同時(shí)考慮了 1 和 0 兩類分類的準(zhǔn)確性。使用訓(xùn)練集對該模型訓(xùn)練,找到較優(yōu)的 w*,使得該目標(biāo)函數(shù) f(w*) 最大,這就是邏輯回歸模型的學(xué)習(xí)過程。較優(yōu)化 f(w) 可以采用梯度上升(gradient ascent),為此只需要計(jì)算出 f 的梯度 ∇f(w)。由于 f(w) 是 w 的凹函數(shù),該方法一定能保證找到全局較優(yōu)解。
3、高斯樸素貝葉斯分類器
樸素貝葉斯分類器是一類分類器的總稱,它們均利用了貝葉斯定理并假設(shè)特征之間的條件獨(dú)立性。高斯樸素貝葉斯(Gaussian Naïve Bayes,GNB)分類器是其中常見的一種??紤]滿足如下假設(shè)的 GNB:
1. Y 是二元的,取值 0 或者 1,P(Y) 滿足 Bernoulli 分布:P(Y=1) = π,P(Y=0) = 1 - π;
2. X = {X_1, X_2, …, X_n} 為 n 維特征向量,每個(gè) X_i 是一個(gè)連續(xù)隨機(jī)變量;
3. P(X_i|Y=y_k) 滿足正態(tài)分布 N(μ_ik, σ_i),注意我們假設(shè) σ_i 與類別 k 無關(guān);
4. 特征之間滿足條件獨(dú)立性。
與邏輯回歸直接對 P(Y|X) 建模不同,高斯樸素貝葉斯對 P(X|Y) 和 P(Y) 建模,然后利用貝葉斯定理反推 P(Y|X)。以 Y = 1 為例有:
.jpg)
在上式右側(cè)的分母中,我們將 P(X) 使用全概率公式(law of total probability)寫成了分解的形式,這是為了下面進(jìn)一步的推導(dǎo)。將上式右側(cè)分子分母同時(shí)除以分子,并利用經(jīng)典的 exp 和 ln 配對變化可得:
.jpg)
通過特征之間的條件獨(dú)立性(即“樸素”),上式可以進(jìn)一步變化得到:
.jpg)
現(xiàn)在,P(Y=1|X) 的表達(dá)式已經(jīng)看著和邏輯回歸的表達(dá)式類似了,當(dāng)然還有一些差異,這個(gè)差異就是分母上的那一坨求和項(xiàng)是概率的形式而不是 X_i 的線性組合的形式。好消息是利用條件正態(tài)分布的分布函數(shù),這一坨求和可以輕松的轉(zhuǎn)變成 X_i 的線性組合(推導(dǎo)略):

將變換后的求和項(xiàng)帶入到 P(Y=1|X) 的表達(dá)式中,終于我們得到了想要的結(jié)果:
.jpg)
我們看到,通過上面這一大串?dāng)?shù)學(xué)變換,高斯樸素貝葉斯下的 P(Y=1|X) 和P(Y=0|X) 的解析式和邏輯回歸完全一致。
但是,千萬不要誤解,雖然表達(dá)式一致,這二者求解較優(yōu)參數(shù)向量 w 的邏輯卻不同。在邏輯回歸中,通過最大化目標(biāo)函數(shù) f(w) 直接求解較優(yōu)的參數(shù) w;而在 GNB 中,w 的形式是給定的,它由條件正態(tài)分布的均值和方差決定,而訓(xùn)練集的作用是估計(jì)這些均值和方差,而非直接估計(jì) w。這事實(shí)上引出了判別模型和生成模型的區(qū)別。
4、判別模型 vs 生成模型
在邏輯回歸中,我們根據(jù)樣本數(shù)據(jù)直接估計(jì) P(Y|X)。利用給定的函數(shù)形式 —— 這里指的是邏輯函數(shù) 1 / (1 + exp(-z)) —— 找到較優(yōu)的參數(shù) w。而在高斯樸素貝葉斯中,我們有點(diǎn)“多此一舉”:首先估計(jì) P(X|Y) 和 P(Y),然后再利用貝葉斯定理反推 P(Y|X)。換句話說,雖然再這兩種方法中,P(Y|X) 的解析式一樣,但是樸素貝葉斯無疑比邏輯回歸多了中間一層,而且這層還使用了一個(gè)非常強(qiáng)的假設(shè) —— 特征間的條件獨(dú)立性。因此,從直覺上來說,樸素貝葉斯確實(shí)“多此一舉”,我們傾向于認(rèn)為它的分類效果不如純粹針對 P(Y|X) 建模的邏輯回歸。
先別急著下結(jié)論。
在樸素貝葉斯中,對 P(X|Y) 和 P(Y) 進(jìn)行估計(jì)實(shí)際上是計(jì)算 X 和 Y 的聯(lián)合概率分布 P(X, Y)。有了這個(gè)聯(lián)合分布,我們就可以用它生成(generate)新的數(shù)據(jù),解決更廣泛數(shù)據(jù)挖掘問題(當(dāng)然就包括了推導(dǎo)出 P(Y|X)),特別是無監(jiān)督學(xué)習(xí)問題。這就是為什么這一類模型稱為生成模型(generative)。它對特征空間 X 和類別 Y 的聯(lián)合分類建模,從而利用 P(X, Y) 發(fā)現(xiàn) X 和 Y 之間更復(fù)雜的關(guān)系。典型的生成模型包括樸素貝葉斯、隱馬爾可夫等。
而在邏輯回歸(以及其他判別模型)中,我們僅僅關(guān)心條件概率 P(Y|X),即在給定樣本點(diǎn)特征下 Y 的條件概率是什么樣,而非 P(X, Y)。因此它也就無法回答任何需要利用 P(X, Y) 來計(jì)算的問題。但是在分類和回歸這些通常不需要聯(lián)合分布 P(X, Y) 的領(lǐng)域,判別模型往往會(huì)取得更好的效果。大多數(shù)判別模型都是解決有監(jiān)督學(xué)習(xí)的問題,難以支持無監(jiān)督學(xué)習(xí)。常見的判別模型包括邏輯回歸、支持向量機(jī)、隨機(jī)森林等。
下面兩幅示意圖很好的說明了判別模型和生成模型的區(qū)別和聯(lián)系。假設(shè)紅色和藍(lán)色圓點(diǎn)表示屬于不同兩類的訓(xùn)練集樣本。判別模型的目標(biāo)是找到一個(gè)最能夠區(qū)分它們的邊界,而不在乎每一類中的樣本點(diǎn)是如何分布的;而生成模型首先對各類中樣本的分布建模,即求解 P(X|Y)。
.jpg)
有了 P(X|Y) 以及 P(Y),生成模型利用貝葉斯定理,反推出 P(Y|X),從而找到分類的邊界,正如下圖中的綠色虛線。為了得到這個(gè)分類邊界,首先是求出了不同兩類的分布 P(X|Y),如圖中的綠色實(shí)線和綠色空心線所示。反觀判別模型,它更直接、更純粹;直接根據(jù)樣本數(shù)據(jù)找到一條分類邊界,如圖中的紅色實(shí)線所示。
.jpg)
再回到本文的對象 —— 高斯樸素貝葉斯和邏輯回歸??梢宰C明,當(dāng)特征之間確實(shí)滿足條件獨(dú)立性時(shí),隨著訓(xùn)練集樣本個(gè)數(shù)的增多,在極限情況下,高斯樸素貝葉斯和邏輯回歸求出的較優(yōu)參數(shù) w 是一致的。然而,當(dāng)這個(gè)假設(shè)不成立時(shí),樸素貝葉斯的這個(gè)假設(shè)就會(huì)對分類的準(zhǔn)確性造成負(fù)面的影響。而邏輯回歸的最大化條件似然性求解則可以根據(jù)數(shù)據(jù)中非獨(dú)立性來調(diào)節(jié)較優(yōu)參數(shù) w。從這個(gè)角度來說,邏輯回歸優(yōu)于(高斯)樸素貝葉斯也就不足為奇。
關(guān)于判別模型和生成模型的比較,著名的人工智能專家 Andrew Ng(吳恩達(dá))和比吳還要著名的 Michael I. Jordan(也叫喬丹,但不是打籃球的那位,那個(gè)是 Michael J. Jordan)寫過一篇影響深遠(yuǎn)的文章(Ng and Jordan 2002)。該文以邏輯回歸和樸素貝葉斯為例對比了這兩種模型,并指出:
1. 兩種模型的收斂速度不同:邏輯回歸的收斂速度是 O(n);而樸素貝葉斯的收斂速度是 O(logn)。
2. 在極限情況下(即當(dāng)二者都收斂后),邏輯回歸的誤差小于樸素貝葉斯的誤差。
這兩點(diǎn)說明,隨著訓(xùn)練集樣本數(shù)目的變化,邏輯回歸和樸素貝葉斯之間的孰優(yōu)孰劣會(huì)發(fā)生改變。當(dāng)訓(xùn)練集很小時(shí)(在很多問題中,訓(xùn)練集數(shù)據(jù)非常稀缺),樸素貝葉斯因?yàn)槭諗康妮^快,它在樣本外的分類精度會(huì)高于邏輯回歸;而隨著訓(xùn)練集樣本數(shù)的增多,由于邏輯回歸的極限誤差更小,因此它最終會(huì)戰(zhàn)勝樸素貝葉斯,取得更高的分類精度。
Ng and Jordan 2002 使用 15 個(gè)公開數(shù)據(jù)集對上述結(jié)論進(jìn)行了驗(yàn)證。下面每一幅圖代表了一個(gè)實(shí)驗(yàn),其橫坐標(biāo)是訓(xùn)練集樣本個(gè)數(shù),縱坐標(biāo)為樣本外的分類誤差;虛線表示邏輯回歸的結(jié)果、實(shí)線表示樸素貝葉斯的結(jié)果。從大部分實(shí)驗(yàn)中可以觀察到,當(dāng)訓(xùn)練集樣本數(shù)較少時(shí),實(shí)線處于虛線下方,說明樸素貝葉斯優(yōu)于邏輯回歸(它的極限誤差雖然高,但是它收斂的更快);而隨著樣本個(gè)數(shù)的增加,虛線最終會(huì)下穿實(shí)線,意味著邏輯回歸最終戰(zhàn)勝了樸素貝葉斯。

最后,我們把邏輯回歸和樸素貝葉斯的區(qū)別匯總于下表。
.jpg)
5、結(jié)語
判別模型和生成模型各有千秋。對于判別模型,由于參數(shù)個(gè)數(shù)較少,所需的樣本個(gè)數(shù)也要少一些。但是生成模型可以讓我們回答更復(fù)雜的問題,更深入的挖掘 X 和 Y 之間的關(guān)系。
“紙上得來終覺淺,絕知此事要躬行”。為了比較高斯樸素貝葉斯和邏輯回歸在選股上的效果,我們將在接下來用中證 500 的成分股做一些簡單的實(shí)證,并把結(jié)果匯總于今后的文章中。
最后,下面這張圖來自麻省理工學(xué)院的數(shù)據(jù)發(fā)掘課(不過要注意是 2003 年的)。它從不同的維度比較了一些常見的數(shù)據(jù)挖掘算法,這其中也包括今天的主角邏輯回歸和樸素貝葉斯。這些結(jié)果是針對大數(shù)據(jù)集的,但仍然可以作為一個(gè)選擇的參考,不過也僅僅是個(gè)參考。在實(shí)際問題中,只有充分了解了待分析的數(shù)據(jù),才有可能選擇最適當(dāng)?shù)哪P汀?/p>
.jpg)
參考文獻(xiàn)
Ng, A. Y. and M. I. Jordan (2002). On Discriminative vs. Generative Classifiers: A comparison of logistic regression and naive Bayes. In T. G. Dietterich, S. Becker and Z. Ghahramani (Eds), Advances in Neural Information Processing Systems, Vol. 14, MIT Press, 841 – 848.
量化金融分析師(簡稱AQF,Analyst of Quantitative Finance)由量化金融標(biāo)準(zhǔn)委員會(huì)(Standard Committee of Quantitative Finance,SCQF)主考并頒證,是代表量化金融領(lǐng)域的專業(yè)水平證書。 >>>點(diǎn)擊咨詢AQF證書含金量
.png)
課程適合人群:
金融工程/數(shù)學(xué)專業(yè)背景的同學(xué)/工作人士,希望進(jìn)一步學(xué)習(xí)Python編程以及在量化投資的實(shí)戰(zhàn)應(yīng)用;
非金融工程專業(yè)背景的同學(xué)/工作人士,希望迅速成為寬客;
金融相關(guān)人員,希望學(xué)習(xí)如何系統(tǒng)的做量化策略;
個(gè)人投資者,希望系統(tǒng)學(xué)習(xí)掌握量化投資相關(guān)的實(shí)務(wù)技能,從模型開發(fā),回測,策略改進(jìn),搭建穩(wěn)定的量化交易系統(tǒng)。
(點(diǎn)擊上圖了解課程詳情)
量化金融分析師AQF核心課程體系:
1、《量化投資基礎(chǔ)》
主要涵蓋了量化投資領(lǐng)域的必備知識(shí),包括:基本面分析、技術(shù)分析、數(shù)量分析、固定收益、資產(chǎn)組合管理、權(quán)益、另類投資等內(nèi)容。
2、《Python語言編程基礎(chǔ)》
包含了Python環(huán)境搭建、基礎(chǔ)語法、變量類型、基本函數(shù)、基本語句、第三方庫、金融財(cái)務(wù)實(shí)例等內(nèi)容。旨在為金融財(cái)經(jīng)人提供最需要的編程方法。
3、《基于Python的經(jīng)典量化投資策略》
包含了最富盛名,最基本的量化交易思想和交易策略。例如:海龜交易模型、Logistics模型、配對交易模型、波動(dòng)擴(kuò)張模型、Alpha模型、機(jī)器學(xué)習(xí)(隨機(jī)森林模型、主成分分析)、深度學(xué)習(xí)(人工神經(jīng)網(wǎng)絡(luò))等內(nèi)容。
4、《量化交易系統(tǒng)設(shè)計(jì)》
旨在學(xué)習(xí)量化交易系統(tǒng)的具體知識(shí),包括過濾器,進(jìn)入信號,退出信號,倉位管理等詳細(xì)內(nèi)容,并指導(dǎo)學(xué)員設(shè)計(jì)涵蓋個(gè)人交易哲學(xué)的量化交易系統(tǒng)。
5、《量化實(shí)盤交易》
旨在為解決實(shí)際量化交易策略搭建過程中的一些問題提供較優(yōu)解決方案。 >>>點(diǎn)擊咨詢AQF相關(guān)問題
掌握Python及量化投資技能,我們能做什么?
1、熟悉中國主要金融市場及交易產(chǎn)品的交易機(jī)制;
2、熟知國內(nèi)外期貨交易、股市交易的異同點(diǎn)和內(nèi)在運(yùn)行機(jī)制;
3、掌握經(jīng)典量化交易策略細(xì)節(jié)及其背后的交易哲學(xué);
4、掌握金融、編程和建模知識(shí)基礎(chǔ),擁有量化交易實(shí)盤操作能力;
5、具備獨(dú)立自主地研發(fā)新量化交易策略的能力;
6、掌握量化交易模型設(shè)計(jì)的基本框架,以及風(fēng)險(xiǎn)管理和資產(chǎn)組合理論的實(shí)際運(yùn)用;
7、掌握從策略思想——策略編寫——策略實(shí)現(xiàn)餓完整量化投資決策過程;具備量化投資實(shí)戰(zhàn)交易能力。
.png)
更多內(nèi)容推薦閱讀:
2019年量化金融分析師(AQF)全國統(tǒng)一考試報(bào)名簡章
Wind、Excel和Python三大金融技能兼修,下一個(gè)金融分析大神就是你
金程推薦: AQF培訓(xùn) AQF培訓(xùn)機(jī)構(gòu) AQF是什么意思
咨詢電話:400-700-9596
AQF考友群:760229148
金融寬客交流群:801860357
微信公眾號:量化金融分析師
作者:石川,量信投資創(chuàng)始合伙人,清華大學(xué)學(xué)士、碩士,麻省理工學(xué)院博士;精通各種概率模型和統(tǒng)計(jì)方法,擅長不確定性隨機(jī)系統(tǒng)的建模及優(yōu)化。


.png)


