現(xiàn)實(shí)中常遇到多分類(lèi)學(xué)習(xí)任務(wù)。有些二分類(lèi)學(xué)習(xí)方法可直接推廣到多分類(lèi),如LR。但在更多情形下,我們是基于一些基本策略,利用二分類(lèi)學(xué)習(xí)器來(lái)解決多分類(lèi)問(wèn)題。所以多分類(lèi)問(wèn)題的根本方法依然是二分類(lèi)問(wèn)題。
具體來(lái)說(shuō),有以下三種策略:
一、一對(duì)一 (OvO)
假如某個(gè)分類(lèi)中有N個(gè)類(lèi)別,我們將這N個(gè)類(lèi)別進(jìn)行兩兩配對(duì)(兩兩配對(duì)后轉(zhuǎn)化為二分類(lèi)問(wèn)題)。那么我們可以得到個(gè)二分類(lèi)器。(簡(jiǎn)單解釋一下,相當(dāng)于在N個(gè)類(lèi)別里面抽2個(gè))
之后,在測(cè)試階段,我們把新樣本交給這個(gè)二分類(lèi)器。于是我們可以得到個(gè)分類(lèi)結(jié)果。把預(yù)測(cè)的最多的類(lèi)別作為預(yù)測(cè)的結(jié)果。
下面,我給一個(gè)具體的例子來(lái)理解一下。
上圖的意思其實(shí)很明顯,首先把類(lèi)別兩兩組合(6種組合)。組合完之后,其中一個(gè)類(lèi)別作為正類(lèi),另一個(gè)作為負(fù)類(lèi)(這個(gè)正負(fù)只是相對(duì)而言,目的是轉(zhuǎn)化為二分類(lèi))。然后對(duì)每個(gè)二分類(lèi)器進(jìn)行訓(xùn)練。可以得到6個(gè)二分類(lèi)器。然后把測(cè)試樣本在6個(gè)二分類(lèi)器上面進(jìn)行預(yù)測(cè)。從結(jié)果上可以看到,類(lèi)別1被預(yù)測(cè)的最多,故測(cè)試樣本屬于類(lèi)別1。
二、一對(duì)其余 (OvR)
一對(duì)其余其實(shí)更加好理解,每次將一個(gè)類(lèi)別作為正類(lèi),其余類(lèi)別作為負(fù)類(lèi)。此時(shí)共有(N個(gè)分類(lèi)器)。在測(cè)試的時(shí)候若僅有一個(gè)分類(lèi)器預(yù)測(cè)為正類(lèi),則對(duì)應(yīng)的類(lèi)別標(biāo)記為最終的分類(lèi)結(jié)果。例如下面這個(gè)例子。
大概解釋一下,就是有當(dāng)有4個(gè)類(lèi)別的時(shí)候,每次把其中一個(gè)類(lèi)別作為正類(lèi)別,其余作為負(fù)類(lèi)別,共有4種組合,對(duì)于這4種組合進(jìn)行分類(lèi)器的訓(xùn)練,我們可以得到4個(gè)分類(lèi)器。對(duì)于測(cè)試樣本,放進(jìn)4個(gè)分類(lèi)器進(jìn)行預(yù)測(cè),僅有一個(gè)分類(lèi)器預(yù)測(cè)為正類(lèi),于是取這個(gè)分類(lèi)器的結(jié)果作為預(yù)測(cè)結(jié)果,分類(lèi)器2預(yù)測(cè)的結(jié)果是類(lèi)別2,于是這個(gè)樣本便屬于類(lèi)別2。
其實(shí),有人會(huì)有疑問(wèn),那么預(yù)測(cè)為負(fù)類(lèi)的分類(lèi)器就不用管了嗎?是的,因?yàn)轭A(yù)測(cè)為負(fù)類(lèi)的時(shí)候有多種可能,無(wú)法確定,只有預(yù)測(cè)為正類(lèi)的時(shí)候才能唯一確定屬于哪一類(lèi)。比如對(duì)于分類(lèi)器3,分類(lèi)結(jié)果是負(fù)類(lèi),但是負(fù)類(lèi)有類(lèi)別1,類(lèi)別2,類(lèi)別4三種,到底屬于哪一種?
OvO和OvR有何優(yōu)缺點(diǎn)?
容易看出,OvR只需訓(xùn)練N個(gè)分類(lèi)器,而OvO需訓(xùn)練N(N - 1)/2個(gè)分類(lèi)器, 因此,OvO的存儲(chǔ)開(kāi)銷(xiāo)和測(cè)試時(shí)間開(kāi)銷(xiāo)通常比OvR更大。但在訓(xùn)練時(shí),OvR的每個(gè)分類(lèi)器均使用全部訓(xùn)練樣例,而OvO的每個(gè)分類(lèi)器僅用到兩個(gè)類(lèi)的樣例,因此,在類(lèi)別很多時(shí),OvO的訓(xùn)練時(shí)間開(kāi)銷(xiāo)通常比OvR更小。至于預(yù)測(cè)性能,則取決于具體的數(shù)據(jù)分布,在多數(shù)情形下兩者差不多。
綜上:
OvO的優(yōu)點(diǎn)是,在類(lèi)別很多時(shí),訓(xùn)練時(shí)間要比OvR少。缺點(diǎn)是,分類(lèi)器個(gè)數(shù)多。
OvR的優(yōu)點(diǎn)是,分類(lèi)器個(gè)數(shù)少,存儲(chǔ)開(kāi)銷(xiāo)和測(cè)試時(shí)間比OvO少。缺點(diǎn)是,類(lèi)別很多時(shí),訓(xùn)練時(shí)間長(zhǎng)。
三、多對(duì)多(MvM)
MvM是每次將若干個(gè)類(lèi)作為正類(lèi),若干個(gè)其他類(lèi)作為反類(lèi)。顯然,OvO和OvR是MvM的特例。MvM的正、反類(lèi)構(gòu)造必須有特殊的設(shè)計(jì),不能隨意選取。這里我們介紹一種最常用的MvM技術(shù)"糾錯(cuò)輸出碼" (Error Correcting Output Codes,簡(jiǎn)稱 ECOC)
ECOC是將編碼的思想引入類(lèi)別拆分,并盡可能在解碼過(guò)程中具有容錯(cuò)性。
ECOC工作過(guò)程主要分為兩步:
編碼:對(duì)N個(gè)類(lèi)別做M次劃分,每次劃分將一部分類(lèi)別劃為正類(lèi),一部分劃為反類(lèi),從而形成一個(gè)二分類(lèi)訓(xùn)練集。這樣一共產(chǎn)生M個(gè)訓(xùn)練集,可訓(xùn)練出M個(gè)分類(lèi)器。
解碼:M 個(gè)分類(lèi)器分別對(duì)測(cè)試樣本進(jìn)行預(yù)測(cè),這些預(yù)測(cè)標(biāo)記組成一個(gè)編碼。將這個(gè)預(yù)測(cè)編碼與每個(gè)類(lèi)別各自的編碼進(jìn)行比較,返回其中距離最小的類(lèi)別作為最終預(yù)測(cè)結(jié)果。
類(lèi)別劃分通過(guò)"編碼矩陣"指定。編碼矩陣有多種形式,常見(jiàn)的主要有二元碼和三元碼。前者將每個(gè)類(lèi)別分別指定為正類(lèi)和反類(lèi),后者在正、反類(lèi)之外,還可指定"停用類(lèi)"。圖3.5給出了一個(gè)示意圖,在圖 3.5(a) 中,分類(lèi)器f2將Cl類(lèi)和C3類(lèi)的樣例作為正例,C2類(lèi)和C4類(lèi)的樣例作為反例;在圖3.5(b)中,分類(lèi)器f4將C1類(lèi)和C4類(lèi)的樣例作為正例,C3 類(lèi)的樣例作為反例。在解碼階段,各分類(lèi)器的預(yù)測(cè)結(jié)果聯(lián)合起來(lái)形成了測(cè)試示例的編碼,該編碼與各類(lèi)所對(duì)應(yīng)的編碼進(jìn)行比較,將距離最小的編碼所對(duì)應(yīng)的類(lèi)別作為預(yù)測(cè)結(jié)果。
例如在圖 3.5(a) 中,若基于歐式距離,預(yù)測(cè)結(jié)果將是 C3。也就是一個(gè)測(cè)試樣本,經(jīng)過(guò)分類(lèi)器f1,f2,f3,f4,f5分別預(yù)測(cè)成了(-1,-1,+1,-1,+1),與C1相比較,海明距離為0+1+1+1+0=3,歐式距離為,對(duì)C2,C3,C4都進(jìn)行比較即可。
為什么稱為"糾錯(cuò)輸出碼"呢?
這是因?yàn)樵跍y(cè)試階段,ECOC編碼對(duì)分類(lèi)器的錯(cuò)誤有一定的容忍和修正能力。例如圖3.5(a) 中對(duì)測(cè)試示例的正確預(yù)測(cè)編碼是(-1,+1,+1,-1,+1),假設(shè)在預(yù)測(cè)時(shí)某個(gè)分類(lèi)器出錯(cuò)了,例如 h 出錯(cuò)從而導(dǎo)致了錯(cuò)誤編碼(-1,-1,+1,-1,+1),但基于這個(gè)編碼仍能產(chǎn)生正確的最終分類(lèi)結(jié)果C3。一般來(lái)說(shuō),對(duì)同一個(gè)學(xué)習(xí)任務(wù),ECOC編碼越長(zhǎng),糾錯(cuò)能力越強(qiáng)。
EOCO編碼長(zhǎng)度越長(zhǎng),糾錯(cuò)能力越強(qiáng),那長(zhǎng)度越長(zhǎng)越好嗎?
NO!編碼越長(zhǎng),意味著所需訓(xùn)練的分類(lèi)器越多,計(jì)算、存儲(chǔ)開(kāi)銷(xiāo)都會(huì)增大;另一方面,對(duì)有限類(lèi)別數(shù),可能的組合數(shù)目是有限的,碼長(zhǎng)超過(guò)一定范圍后就失去了意義。
對(duì)同等長(zhǎng)度的編碼,理論上來(lái)說(shuō),任意兩個(gè)類(lèi)別之間的編碼距離越遠(yuǎn),則糾錯(cuò)能力越強(qiáng)。因此,在碼長(zhǎng)較小時(shí)可根據(jù)這個(gè)原則計(jì)算出理論最優(yōu)編碼。然而,碼長(zhǎng)稍大一些就難以有效地確定最優(yōu)編碼,事實(shí)上這是 NP 難問(wèn)題。不過(guò),通常我們并不需獲得理論最優(yōu)編碼,因?yàn)榉亲顑?yōu)編碼在實(shí)踐中往往己能產(chǎn)生足夠好的分類(lèi)器。另一方面,并不是編碼的理論性質(zhì)越好,分類(lèi)性能就越好,因?yàn)?a href="http://www.brongaenegriffin.com/v/tag/557/" target="_blank">機(jī)器學(xué)習(xí)問(wèn)題涉及很多因素,例如將多個(gè)類(lèi)拆解為兩個(gè)“類(lèi)別子集”,不同拆解方式所形成的兩個(gè)類(lèi)別子集的區(qū)分難度往往不同,即其導(dǎo)致的二分類(lèi)問(wèn)題的難度不同。于是一個(gè)理論糾錯(cuò)性質(zhì)很好、但導(dǎo)致的二分類(lèi)問(wèn)題較難的編碼,與另一個(gè)理論糾錯(cuò)性質(zhì)差一些、但導(dǎo)致的二分類(lèi)問(wèn)題較簡(jiǎn)單的編碼,最終產(chǎn)生的模型性能孰強(qiáng)孰弱很難說(shuō)。
-
分類(lèi)器
+關(guān)注
關(guān)注
0文章
153瀏覽量
13673 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8541瀏覽量
136236
原文標(biāo)題:機(jī)器學(xué)習(xí)中的多分類(lèi)任務(wù)詳解
文章出處:【微信號(hào):Imgtec,微信公眾號(hào):Imagination Tech】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
Keras之ML~P:基于Keras中建立的簡(jiǎn)單的二分類(lèi)問(wèn)題的神經(jīng)網(wǎng)絡(luò)模型
基于Keras中建立的簡(jiǎn)單的二分類(lèi)問(wèn)題的神經(jīng)網(wǎng)絡(luò)模型(根據(jù)200個(gè)數(shù)據(jù)樣本預(yù)測(cè)新的5+1個(gè)樣本)—類(lèi)別預(yù)測(cè)
基于邏輯回歸算法的乳腺癌腫瘤二分類(lèi)預(yù)測(cè)
集成學(xué)習(xí)的多分類(lèi)器動(dòng)態(tài)組合方法
基于主動(dòng)學(xué)習(xí)不平衡多分類(lèi)AdaBoost改進(jìn)算法
多分類(lèi)孿生支持向量機(jī)研究進(jìn)展
基于可能性二均值聚類(lèi)的二分類(lèi)支持向量機(jī)
閾值分類(lèi)器組合的多標(biāo)簽分類(lèi)算法
解決二分類(lèi)問(wèn)題的算法——AdaBoost算法
如何使用數(shù)字語(yǔ)音取證算法設(shè)計(jì)一個(gè)多分類(lèi)器的詳細(xì)資料說(shuō)明
面向二分類(lèi)不平衡數(shù)據(jù)的XGBoost改進(jìn)方法
深度學(xué)習(xí)網(wǎng)絡(luò)的多分類(lèi)器入侵檢測(cè)方法
支持向量機(jī)(多類(lèi)問(wèn)題之1類(lèi)對(duì)K-1類(lèi)方式)
機(jī)器學(xué)習(xí)多分類(lèi)任務(wù)深度解析
用一杯咖啡的時(shí)間,讀懂AI二分類(lèi)如何守護(hù)工業(yè)質(zhì)量

如何利用二分類(lèi)學(xué)習(xí)器來(lái)解決多分類(lèi)問(wèn)題
評(píng)論