多分類學習

2021-08-06 05:48:02 字數 735 閱讀 8061

多分類學習的基本思路是拆解法,即將多個二分類任務拆為若干個二分類任務求解。具體地就是,先對問題進行拆分,然後為每個拆分的二分類任務訓練乙個分類器;在測試時,對這些分類器的**結果進行整合以獲得最終的多分類結果。

關鍵:多分類任務如何拆分。

經典的為:「一對一」(one vs one, ovo)、「一對多」(one vs rest, ovr)和「多對多」(many vs many, mvm)。給定資料集

ovo將n個類別兩兩配對,從而產生

ovr是將乙個類的樣例作為正例、其他所有類的樣例作為負例訓練n個分類器。測試時,若僅有乙個分類器**為正類,則對應的類別標記為最終分類結果;若有多個分類器**為正類,則選擇置信度最大的分類器的類別標記作為最終分類結果。

ps:ovo的儲存開銷和測試時間通常比ovr更大。但在訓練時,當類別很多時,ovo的訓練時間開銷通常比ovr更小。

mvm將每次若干個類作為正類,若干個其他類作為反類。其正、反類的構造必須有特殊的設計,不能隨意選取。一種最常用的:糾錯輸出碼(error correcting output codes, ecoc),包括 編碼和解碼兩個過程:

編碼:對n個類別做m次劃分,每次劃分都將一部分類別劃分為正類,一部分化為反類,從而形成乙個二分類訓練集;一共形成m個分類器。

解碼:m個分類器分別對測試樣本進行**,這些**標記組成乙個編碼。將這個**編碼與每個類別各自的編碼進行對比,返回其中距離最小的類別作為最終**結果。

對同乙個學習任務,ecoc越長,糾錯能力越強。

softmax多分類學習

softmax回歸從零開始實現 import torch import torchvision import numpy as np import sys import d2lzh pytorch as d2l 獲取資料 batch size 256 train iter,test iter d2l...

多分類學習 類別不平衡

最經典的拆分策略有三種 一對一 ovo 一對其餘 ovr 多對多 mvm ovo 將n個類別兩兩匹配,從而產生n n 1 2個二分類器。將新樣本提交給所有的分類器,得到了n n 1 2個結果,最終結果通過投票產生。n比較大的時候,代價還是挺高。ovr 每次將乙個類作為樣例的正例,其他所有均作為反例,...

最通俗易懂 多分類學習之OvO OvR MvM

多分類學習的基本思路是 拆解法 即將多分類任務拆分成若干個二分類任務求解。考慮n個類別,c1,c2,c3,cn,給定資料集d yi 將n個類別兩兩配對,產生n n 1 2個二分類任務,獲得n n 1 2個分類器,新樣本交給這些分類器,得到n n 1 2個結果,最終結果投票產生。每次將乙個類作為正例,...