深度學習_深度學習基礎知識_使用softmax和sigmoid來做多分類和多標籤分類

多分類和多標籤分類的區別

多分類: 一個樣本屬於且只屬於多個分類中的一個,一個樣本只能屬於一個類,不同類之間是互斥的,比如圖片中一個狗只能被劃分成狗,不能被劃分成貓。

多標籤分類: 一個樣本可以屬於多個類別(或標籤),不同類之間有關聯,比如一個電動車可以被劃分成“電動車”和“車”,這連個標籤不是互斥的,而是有關聯的。

用softmax做多分類和多標籤分類

我們假設,一個神經網絡模型最後的輸出是一個向量logits = 【1,2,3,4】,這個就是神經網絡全連接層的輸出。我們假設一共有4個類別。

softmax可以將logits轉換成一個概率分別,然後取概率值最大的最爲樣本的類別。這個情況是將softmax用於多分類。

我們同樣可以取概率的top前幾作爲最終的多個標籤,或者設置一個閾值,並取大於概率閾值的幾個類別。這個情況我們將softmax用於多標籤分類。

用sigmoid做多標籤分類

sigmoid一般不用來做多分類,而是用來做二分類的。

它將一個標量數字轉換成【0,1】之間的數,如果大於一個設定的概率閾值,我們認爲其屬於某一類,否則不屬於某一類。

那麼我們如何使用sigmoid進行多標籤的分類呢?

我們可以針對logits中每個分類計算的結果分別使用一個sigmoid分類器,分別判定樣本是否屬於某個類別。

在上述向量logits中,使用sigmoid分類器將4個數字都變成【0,1】之間的概率值,假設結果爲【0.02,0.06,0.8,0.6】,然後我們設置4個個概率值,比如0.3,0.3,0.3,0.3,如果概率值大於0.3判定符合類別,那麼類別3和類別4都符合。

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