機器學習之——多類分類問題

在之前的博客中,我們討論了邏輯迴歸模型(Logistic Regression)解決分類問題。但是我們發現,邏輯迴歸模型解決的是二分問題,即:模型的結果只有兩個值,y=0 or y=1 。但是在現實情境下,我們的訓練集往往包含多個類(>2),我們就無法用一個二元變量(y=0|y=1)來做判斷依據了。舉個例子,我們預測天氣,天氣的情況就分爲:晴天、陰天、雨天、多雲、雪天、霧天等等。

下面是一個多類分類問題(Multiclass Classification)可能的情況:


三個不同的形狀,表示三種不同的分類。

一種解決這類問題的途徑,是採用一對多(One-vs-All)方法。在一對多方法中,我們將多類分類問題轉變成二元分類問題。爲了能實現這樣的轉變,我們將多個類中的一個類標記爲正向類(y=1),然後將其他所有的類都標記成負向類(y=0),這個模型記作:


接着,相同的,我們選擇另外一個類標記爲正向類(y=2),再將其他的類都標記爲負向類,將這個模型記作:


以此類推。

最後,我們得到一系列的模型,簡記爲:

其中 i = 1,2,3,...,k

步驟可以記作下圖:


最後,在我們需要做預測時,我們將所有的分類機都運行一遍,然後對於每一個輸入變量,都選擇最高可能性的輸出變量。

這便是解決多類分類問題的一對多方法。

下一次,我們討論關於訓練集數據擬合問題的歸一化問題(Regularization)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章