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