1. 程式人生 > >多分類學習

多分類學習

       多分類問題主要使用拆解法,即如何通過將問題拆分成多個二分類問題和將各個分類器的分類結果進行整合得到最終的多分類結果。

經典的拆分策略有三種:

OvO,即一對一,即將訓練集的N個類別兩兩分類得到N(N-1)個二分類器,測試的時候將樣本都交給分類器,預測的類別最多的作為結果。

OvR,是每一次將一個類的樣例作為正例,其他類的樣例作為反例訓練分類器,會產生N個分類器。測試的時候若僅有一個分類器預測為正類,則對應的類別標記 作為最終分類結果。若有多個分類器預測為正類,則通常考慮各分類器的預測置信度,選擇置信度最大的類別標記作為分類結果。

MvM 是每次將若干個類作為正類,若干個其他類作為反類。

對於類的劃分不能隨意選取,通常採用“糾錯輸出碼”,Error Correcting Output Codes,簡稱 ECOC)。

ECOC主要分為兩部分:

 

       ECOC編碼對分類器的錯誤有一定的容忍和修正能力。假如一個分類器出錯了,在大多數分類器正常的情況下,基於“最近”這個原則,我們還是能夠得出正確的分類。所以,編碼越長,我們的分類器就越多,或者說分類的更細緻,容錯能力也更高。當然,訓練的計算和儲存代價也會提高對有限類別數可能的組合數目是有限的,碼長超過一定範圃後也就失去了意義。