線性分類器

機器學習領域,分類的目標是指將具有相似特徵的對象聚集。而一個線性分類器則透過特徵的線性組合來做出分類決定,以達到此種目的。對象的特徵通常被描述為特徵值,而在向量中則描述為特徵向量。

定義

 
在這種情況下,實心點和空心點,可以被任何數目的線性分類器正確的分類。H1(藍色)分類器正確的將其分類,H2(紅色)也如此。在使兩個群組間隔最遠的意義上,H2被認為是「更好的」。H3(綠色)未能正確的分類這些點。

如果輸入的特徵向量是實數向量 ,則輸出的分數為:

 

其中 是一個權重向量,而f是一個函數,該函數可以通過預先定義的功能塊,映射兩個向量的點積,得到希望的輸出。權重向量 是從帶標籤的訓練樣本集合中所學到的。通常,"f"是個簡單函數,會將超過一定閾值的值對應到第一類,其它的值對應到第二類。一個比較複雜的"f"則可能將某個東西歸屬於某一類。

 

對於一個二元分類問題,可以設想成是將一個線性分類利用超平面劃分高維空間的情況: 在超平面一側的所有點都被分類成"是",另一側則分成"否"。

作為最快分類器,線性分類器通常應用於對分類速度有較高要求的情況下,特別是當 為稀疏向量時。雖然如此,決策樹可以更快。此外,當 的維度很大時,線形分類器通常表現良好。如文本分類時,傳統上, 中的一個元素是文章所使用到的某個辭彙的出現的次數。在這種情況下,分類器應被適當地正則化

生成模型與判別模型

有兩種類型用來決定 [1][2]的線性分類器。第一種模型條件機率 。這類的算法包括:

第二種方式則稱為判別模型(discriminative models),這種方法是試圖去最大化一個訓練集(training set)的輸出值。在訓練的成本函數中有一個額外的項加入,可以容易地表示正則化。例子包含:

  • Logit模型 ---  最大似然估計,其假設觀察到的訓練集是由一個依賴於分類器的輸出的二元模型所產生。
  • 感知元(Perceptron) --- 一個試圖去修正在訓練集中遇到錯誤的算法。
  • 支持向量機 --- 一個試圖去最大化決策超平面和訓練集中的樣本間的邊界(margin)的算法。

注意:相對於名字,線性判別分析在分類學並不屬於判別模型這類。然而,當我們比較線性判別分析和另一主要的線性降維算法:主成分分析,它的名字則是有意義的。線性判別分析是一個監督式學習算法,會使用資料中的標籤。而主成分分析是一個不考慮標籤的非監督式學習算法。簡而言之,這個名字是一個歷史因素[3]

判別訓練通常會比模型化條件密度函數產生較高的準確。然而,在處理遺失資料時,使用條件密度模型通常是更為簡單的。

所有以上所列線性分類器演算法,只要使用kernel trick都可被轉成在另一個向量空間的非線性演算法。

另見

參考文獻

引用

  1. ^ T. Mitchell, Generative and Discriminative Classifiers: Naive Bayes and Logistic Regression. Draft Version, 2005 download頁面存檔備份,存於網際網路檔案館
  2. ^ A. Y. Ng and M. I. Jordan. On Discriminative vs. Generative Classifiers: A comparison of logistic regression and Naive Bayes. in NIPS 14, 2002. download頁面存檔備份,存於網際網路檔案館
  3. ^ R.O. Duda, P.E. Hart, and D.G. Stork. "Pattern Classification", Wiley, 2001. ISBN 0-471-05669-3, p. 117.

來源