前面我們簡要說明了貝葉斯學習的內容。由公式可以看出來,我們假定已經知道了似然概率的密度函數的信息,才能進行后驗概率的預測。但有的時候,這些信息可能是不方便求出來的。因此,密度函數自身的估計問題成為了一個必須考慮的問題。
第一種思考的方法是跳出估計密度函數的問題,直接對樣本集使用線性回歸的方法。這樣做雖然簡單粗暴,但是僅僅適用於“連續型”分類的問題,或者說按照“自然順序”分類。比如說小明今天晚上跪老婆的地方可能是{地毯,地板,搓衣板,釘板},可以看到不同的分類其實是對老婆怒氣值這樣一個連續函數的映射。但是大多數情況,分類的標簽並不是按照自然順序分類的,因此線性回歸並不可行。當然,如果是二分類的問題情況會相對好一些,但是回歸值並不是特別好解釋,因此可以用一個sigmoid函數將R映射到(0,1)上,回歸值自然地能夠表示屬於此分類的概率。這也就是logistic模型的主要內容。
第二種思考的方式是將高斯分布作為分類器概率密度函數的模型。
其中均值是μ,協方差矩陣是Σ 。
將密度函數帶入貝葉斯分類器,取對數將相同的的值刪去,便可得到判別函數的形式
在這里,全部類的協方差矩陣的最大似然估計是類內樣本的協方差矩陣匯集而成。
這樣的方法叫做線性判別分析,也就是(LDA)。但實際上,我們可以不用估計全部類的協方差矩陣,直接將類內樣本的協方差矩陣帶入。那么判別函數即變為
這是一個關於x的二次函數,因此也叫二次判別分析(QDA)。
QDA和LDA之間的關系是一個典型的bias-variance trade-off ,也就是方差和偏差的取舍。這是機器學習里面一個核心的問題。簡單來說,機器學習模型的預測值和真實值之間的差異可以分解為方差和偏差這兩個此消彼長的量的綜合(再加上一個不可約的誤差,在此不考慮)。通俗來說,高方差低誤差的模型意味着過於靈敏,當需要預測的真實函數並沒有變化,而只是使用了不同的樣本,就能夠使預測值產生較大的變化。反之,高誤差低方差意味着過於遲鈍,即使真實的函數發生變化,依然不會使預測值改變。因此在其中如何取舍,就成了一個很重要的問題。
很容易可以看出,LDA相對方差更低,而QDA相對誤差更低。因此,在樣本集比較少,對協方差矩陣很難估計准確時,采用LDA更加合適。而當樣本集很大,或者類間協方差矩陣差異比較大的時候,采用QDA更加合適。