提醒您,邏輯迴歸會產生 0 到 1.0 之間的小數。舉例來說,電子郵件分類器提供的 0.8 邏輯迴歸輸出建議,表示電子郵件有 80% 的機率是垃圾郵件,20% 的機率是非垃圾郵件。很明顯地,電子郵件的機率不是垃圾郵件,總和為 1.0。
Softmax 將這個構想延伸至多類別世界。也就是說,Softmax 會指派多類別問題中每個類別的小數機率。小數點後加起來不得超過 1.0。這項額外限制可協助訓練更快完成融合。
例如,返回圖 1 所示的圖片分析後,Softmax 可能會產生特定類別圖片的下列機率:
類別 | 機率 |
---|---|
apple | 0.001 |
熊 | 0.04 |
糖果 | 0.008 |
狗 | 0.95 |
蛋 | 0.001 |
Softmax 是透過輸出層之前的類神經網路層實作。Softmax 層的節點數量必須與輸出層相同。
圖 2. 類神經網路中的 Softmax 層。
Softmax 選項
考慮下列 Softmax 變化版本:
FullMax Softmax 是我們先前討論的 Softmax,也就是說,Softmax 會計算每個可能類別的機率。
候選取樣代表 Softmax 會計算所有正面標籤的機率,但只有隨機排除標籤的範例。舉例來說,如果我們需要判斷輸入圖片是信標或血球,就不一定需要針對每一個非狗狗的例子提供機率。
類別數量不多時,Full Softmax 的成本相當低廉,但隨著類別數量攀升,類別就會變得不貴。候選取樣可提高大量類別的執行效率。
單一標籤與多個標籤
Softmax 會假設每個範例都只有一個類別。 不過,部分範例可以同時屬於多個類別。 例如:
- 您不得使用 Softmax。
- 您必須依附多個邏輯迴歸。
舉例來說,假設您的範例圖片只包含一個項目,也就是一個水果。Softmax 可以判斷某個項目成為珍珠、橘色、蘋果等項目的可能性。如果範例中的圖片含有各種過程 (也就是各種水果的碗),就必須改為使用多個邏輯迴歸。