吳恩達機器學習筆記18-多類別分類:一對多(Multiclass Classification_ One-vs-all)
對於之前的一個,二元分類問題,我們的數據看起來可能是像這樣:
對於一個多類分類問題,我們的數據集或許看起來像這樣:
我用3 種不同的符號來代表3 個類別,問題就是給出3 個類型的數據集,我們如何得到
一個學習算法來進行分類呢?
我們現在已經知道如何進行二元分類,可以使用邏輯回歸,對於直線或許你也知道,可
以將數據集一分為二為正類和負類。用一對多的分類思想,我們可以將其用在多類分類問題
上。
下面將介紹如何進行一對多的分類工作,有時這個方法也被稱為"一對余"方法。
現在我們有一個訓練集,好比上圖表示的有3 個類別,我們用三角形表示 ?? = 1,方框
表示?? = 2,叉叉表示 ?? = 3。我們下面要做的就是使用一個訓練集,將其分成3 個二元分
類問題。
我們先從用三角形代表的類別1 開始,實際上我們可以創建一個,新的"偽"訓練集,類
型2 和類型3 定為負類,類型1 設定為正類,我們創建一個新的訓練集,如下圖所示的那
樣,我們要擬合出一個合適的分類器。
這裏的三角形是正樣本,而圓形代表負樣本。可以這樣想,設置三角形的值為1,圓形
的值為0,下面我們來訓練一個標準的邏輯回歸分類器,這樣我們就得到一個正邊界。
為了能實現這樣的轉變,我們將多個類中的一個類標記為正向類(?? = 1),然後將其
他所有類都標記為負向類,這個模型記作???
(1)(??)。接著,類似地第我們選擇另一個類標記為
正向類(?? = 2),再將其它類都標記為負向類,將這個模型記作 ???
(2)(??),依此類推。
最後我們得到一系列的模型簡記為:
最後,在我們需要做預測時,我們將所有的分類機都運行一遍,然後對每一個輸入變量,都選擇最高可能性的輸出變量。
總之,我們已經把要做的做完了,現在要做的就是訓練這個邏輯回歸分類器:???
(??)(??),
其中 ?? 對應每一個可能的 ?? = ??,最後,為了做出預測,我們給出輸入一個新的 ?? 值,用
這個做預測。我們要做的就是在我們三個分類器裏面輸入 ??,然後我們選擇一個讓 ???
(??)(??)
最大的??,即
你現在知道了基本的挑選分類器的方法,選擇出哪一個分類器是可信度最高效果最好的,
那麽就可認為得到一個正確的分類,無論??值是多少,我們都有最高的概率值,我們預測??就
是那個值。這就是多類別分類問題,以及一對多的方法,通過這個小方法,你現在也可以將
邏輯回歸分類器用在多類分類的問題上。
吳恩達機器學習筆記18-多類別分類:一對多(Multiclass Classification_ One-vs-all)