最經典的拆分策略有三種:「一對一(ovo)」、「一對其餘(ovr)」、」多對多(mvm)」。
ovo:將n個類別兩兩匹配,從而產生n(
n−1)
/2個二分類器。將新樣本提交給所有的分類器,得到了n(
n−1)
/2個結果,最終結果通過投票產生。n比較大的時候,代價還是挺高。
ovr:每次將乙個類作為樣例的正例,其他所有均作為反例,得到n個分類器。提交新的樣本同時也得到n個結果,最終結果通過投票產生。
mvm:每次將若干個類作為正例、若干個類作為反例。顯然ovo、ovr都是其特例。mvm的正、反類設計必須有特殊的設計,常用的一種技術:」糾錯輸出碼」,簡稱ecoc。
ecoc是將編碼的思想引入類別的劃分,並可能在解碼過程中具有容錯性。ecoc工作過程主要分為兩步:
∙ 對n個類做m次劃分,每次劃分將一部分作為正類,一部分劃分反類,從而形成乙個二分類訓練集。一共產生m個訓練集,訓練出m個分類器。
∙ m個分類器分別對測試樣本進行**,這些**標記組成乙個編碼。將這個**編碼與每個類各自的編碼進行比較,返回其中距離最小的類別作為最終結果。
對同乙個學習任務來說,ecoc編碼越長,糾錯能力越強。然而編碼越長所需要的訓練的分類器越多,計算儲存開銷都會增大;另一方面對於有限類別碼長超過一定範圍就沒有意義了。對於同等長度的編碼,理論上來說,任務兩個類別之間的編碼距離越遠,則糾錯能力越強。
類別不平衡就是指分類任務中不同類別的訓練樣例數目差別很大的情況。
從線性分類器角度考慮,利用y=
wtx+
b 對新樣本x做分類,若y>0.5即為正例,否則為反例。機率y1
−y正反映了正例可能性和反例可能性的比值,那麼分類器的決策規則為若y
1−y>1則
**為正
例 然而,當訓練集正、反例數量不同時,令m+
表示正例數目,m−
表示反例數目,則觀測機率是m+
m−,由於訓練是對真實樣本的無偏取樣,因此觀測機率就代表了真實機率,於是只要分類器的**機率高於觀測記錄就應判為正例,即若y
1−y>m+
m−則預
測為正例
這時候就可以令y\'
1−y\'
>y1
−y×m
−m+
這就是類別不平衡的乙個基本策略—「再縮放」。現有技術大體三類方法:第一類是直接對訓練集例的反類樣例進行「欠取樣」,即除去一些反例樣本,使正反接近。第二類是對訓練集中的正類樣本進行「過取樣」,即增加一些正例樣本,使正反接近。第三類是直接基於原始資料訓練集進行學習,但在應訓練好的分類器進行**時,將再縮放策略嵌入其決策過程中,稱為「閥值移動」。
欠取樣的時間開銷通常遠小於過取樣,因為前者丟棄了許多資料,後者新增了許多資料。注意的是過取樣不能隨意對正例樣本重複取樣,會導致過擬合,過取樣的代表性演算法smote通過對訓練集裡的正例進行插值產生額外的正例。另一方面,欠取樣也不能隨意丟棄資料,可能會丟失重要資訊,欠取樣的代表性演算法easyensemble則是利用整合學習機制,將反例劃分為若干個幾個供不同學習器使用,這樣對每個學習器都進行欠取樣,但在全域性來看不會丟失重要資訊。
值的一題的是,「再縮放」是「代價敏感學習」的基礎。
機器學習筆記 多分類學習,類別不平衡,決策樹
讀書筆記 多分類學習 基本思想 拆解法 將多分類任務拆解為若干個二分類任務求解,先對這些問題經拆分,為拆分出的每個二分類任務訓練乙個分類器,測試時,對這些分類器的 結果進行整合以獲得最終的多分類結果,拆分策略 one vs one,一對一,將n個類別兩兩配對,產生,即n n 1 2個分類結果,最終結...
類別不平衡問題
詳解類別不平衡問題 盧總 類別不平衡問題的方法彙總 為少數類生成新樣本 smote borderline smote adasyn 整合方法 演算法層面 focal loss 損失函式的權重調整 閾值移動 評價指標 非均衡資料處理 如何學習?隨機降取樣 bagging是萬金油。屬於bagging 假...
分類(6) 不平衡和多分類問題
原版 一 不平衡問題 1 不平衡資料 例如 乙個產品生產的不合格產品數量會遠低於合格產品數量。信用卡欺詐的檢測中,合法交易遠遠多於欺詐交易。這時候,準確率的度量會出現一些問題,因為她把每個類都看得同等重要。例如,1 的信用卡交易是欺詐行為,則 每個交易都是合法的模型有99 的準確率,它也可能檢測不到...