使用損失函數問題?
請問 如果在cifar10資料中,如果label沒有進行onehot轉換的話,他是屬於多分類嗎?
是不是因為使用了OneHot轉換後,label變成了0跟1兩類,所以在使用損失函數時,binary_crossentropy(二分類) 的準確率 會比 categorical_crossentropy(多分類)好,
因為從多分類變成二分類,是因為這樣嗎? 還是因為其他的原因
因為這方面有點難,我有點搞混了,所以想問這個問題
回答列表
-
2019/07/06 下午 05:10江慶磊贊同數:0不贊同數:0留言數:1
"使用了OneHot轉換後,label變成了0跟1兩類",這句話應是錯誤的,轉換前後都是屬於多分類問題,非0跟1兩類。
-
2019/07/08 上午 09:01Seanyu.TW贊同數:1不贊同數:0留言數:0
不管有沒有轉 onehot, 二元分類只有在目標為 0, 1 兩者時才被稱為"二元",而它也被包含在多元分類問題中。在 keras 中,binary crssentropy loss 可以接受 single vector (也可以接受 onehot), 但 categorical crossentropy 只接受 onehot。在 cifar10 中,目標為 10 類,你轉成 onehot 後 [0,1,2,3,...9],必須用 categorical-crossentropy。你所說的做 cifar10 中,binary-crossentropy 比 categorical-crossentropy 好,你所說的準確率是多少呢? 可以有數據或流程分享一下嗎?
-
2019/07/08 上午 10:29張維元 (WeiYuan)贊同數:1不贊同數:0留言數:0
Cifar-10 的所有圖片被分為 10 個類別 (以 0~9 數字作為 Label 之編碼) :
- 0 : airplain (飛機)、1 : automobile (汽車)、9 : truck (卡車)
=> 只有一個 Label 欄位,但有多種可能值 => Mulit-Class
做完 One-Hot 之後變成:
=> 有 10 個 Label 欄位,每個欄位有兩個值 => Mulit-Label with Binary