機器學習之多類別神經網路:Softmax

Lois發表於2020-06-28

我們已經知道,邏輯迴歸可生成介於 0 和 1.0 之間的小數。例如,某電子郵件分類器的邏輯迴歸輸出值為 0.8,表明電子郵件是垃圾郵件機率為 80%,不是垃圾郵件的機率為 20%。很明顯,一封電子郵件是垃圾郵件或非垃圾郵件的機率之和為 1.0 。
Softmax 將這一想法延伸到多類領域。也就是說,在多類別問題中,Softmax 會為每一個類別分配一個用小數表示的機率。這些用小數表示的機率相加之和必須是 1.0 。與其他方式相比,這種附加限制有助於讓訓練過程更加快速地收斂。
例如,回到我們在圖 1 中看到的圖片分析示例,Softmax 可能會得出圖片屬於某一天特定類別的一下機率;

Softmax 層是緊挨著輸出層之前的神經網路層。
Softmax 層必須和輸出層擁有一樣的節點數。

圖 2.神經網路中的 Softmax 層

Softmax 選項

請檢視一下 Softmax 變體:

  • 完整 Softmax是我們一直以來討論的 Softmax;也就是說,Softmax 針對每個可能的類別計算機率。
  • 候選取樣指 Softmax 針對所有正類別標籤進行計算機率,但僅針對負類別標籤的隨機樣本計算機率。例如,如果我們想要確定某個輸入圖片是小獵犬還是尋血獵犬圖片,則不必針對每個非狗狗樣本提供機率。
    類別數量較少時,完整 Softmax 代價很小,但隨著類別數量的增加,它的代價會變得極其高昂。候選取樣可以提高處理具有大量類別的問題的效率。

    一個標籤與多個標籤

    Softmax 假設每個樣本只是一個類別的成員。但是,一些樣本可以同時是多個類別的成員。對於此類示例:
  • 您不能使用 Softmax
  • 您必須依賴多個邏輯迴歸。
    例如,假設您的樣本只包含一項內容(一塊水果)的圖片。Softmax 可以確定該內容是梨、橙子、蘋果等的機率。如果您的樣本是包含各種各樣的內容(幾碗不同種類的水果)的圖片,您必須改用多個邏輯迴歸。
本作品採用《CC 協議》,轉載必須註明作者和本文連結
Hacking

相關文章