稍早,您遇到 二元分類 且能從兩個可能選項中擇一使用,例如:
- 指定的電子郵件為垃圾郵件或非垃圾郵件。
- 特定象徵很惡劣或無害。
在本節中,我們將調查 多元分類 這些模型可以從「多種」可能性中挑選。例如:
- 這隻狗是熊、獵犬或血獵犬嗎?
- 這朵花是西伯利亞伊里斯嗎? 或矮鬍子?
- 請問是「Boeing 747」、「Airbus 320」、「Boeing 777」還是「Ebraer 190」?
- 這是蘋果、熊、糖果、狗或雞蛋的圖片嗎?
現實世界的多課問題有數百萬人選擇 分別建立不同的類別比方說,以多元分類模型為例 都能輕鬆辨識任何圖片
本節將詳細說明多元分類的兩個主要變化版本:
- one-vs.-all
- one-vs.-one,其通常稱為 softmax
單一或所有
「One-vs.-all」提供二元分類可用於二元分類 。
假設有 N 個可能的解決方案出現分類問題,則屬於「一體制」 解決方案包含 N 個獨立的二進位分類器,也就是一個二進位檔 每個可能結果的分類項。在訓練期間 通過一連串的二元分類器,訓練每個分類器回答 分類問題
以一張水果的圖片為例 可能會訓練出不同的辨識器,分別回答不同的是 問題:
- 這張圖片是蘋果嗎?
- 這張圖片是橘色嗎?
- 這張圖片是香蕉嗎?
- 這張圖片是葡萄紫嗎?
下圖說明實際的運作方式。
如果類別總數,這個方法相當合理 但類別數量越少,效率就越低 上升。
我們就能建立更有效率的全方位模型 這種模型搭配深層類神經網路,其中每個輸出節點都代表 類別下圖說明這個方法。
一對一 (softmax)
您可能已經注意到,圖 8 輸出層中的機率值 加總的值不會等於 1.0 (即 100%)。(實際上加總為 1.43)。單人駕駛 每個二進位結果集的可能性取決於 同時獨立處理其他資料集也就是挑選機率最高的 的「apple」與「not apple」相比也未考量到 水果選項:「橘色」、「珍珠」或「葡萄紫」。
不過,假設我們想預測每水果 我們該如何調整設計?在這個範例中,而不是預測「apple」而 「apple」,我們要預測「apple」對比「橘色」對「梨」而不是「葡萄紫」 這種多元分類稱為「一對一分類」。
我們可以使用相同類型的類神經元,實作一對一分類 用於單一分類,一項重大變更的網路架構。 我們必須將不同的轉換套用至輸出層。
針對 one-vs.-all,我們將 S 函數套用至每個輸出內容 分別產生 0 到 1 個節點的輸出值 ,但不保證這些值加總為 1。
針對 one-vs.-one,我們可以改為套用名為 softmax 的函式, 針對多重類別問題中的每個類別指派小數的機率, 所有機率加總等於 1.0。這項額外限制 讓訓練的收斂速度更快
下方圖片重新實作單類別、多類別分類 做為一道式任務請注意,為了執行 softmax, 位於輸出層 (稱為 softmax 層) 前方的 也就是與輸出層相同的節點數量
Softmax 選項
請參考下列 softmax 變化版本:
Full softmax 是我們先前討論的 softmax。也就是 softmax 會計算每個可能類別的機率。
候選樣本是指 softmax 會計算機率 但僅適用於隨機抽樣 排除標籤。舉例來說,如果我們想找出 無論輸入圖像是米格魯或血管,我們都不必 會提供每個非狗用範例的機率
如果類別數量不多,Full softmax 的成本很低 但會因為類別數量攀升而造成高成本 候選樣本有助於改善 類別數量
一個標籤與多個標籤
Softmax 假設每個範例都是單一類別的成員。 但有些範例可以同時屬於多個類別。 例如:
- 無法使用 softmax。
- 請務必依賴多重邏輯迴歸。
例如,上述圖 9 中的 one-vs.-one 模型假設每個輸入值都假設 只能描述一種水果類型:蘋果、橘子、梨子或 一顆葡萄不過,如果輸入圖片可能包含多種水果,例如 而一碗蘋果與柳橙;必須運用多種物流 迴歸模型