logo
Loading...

Day71-正確的使用損失函數? - Cupoy

老師您好~雖然類似問題有許多人問過了但是還是充滿疑問...我的疑問來源是:1.是否在不同的問題上面應...

ml100-2-d71,ml100-2

Day71-正確的使用損失函數?

2019/07/30 下午 11:00
機器學習共學討論版
孫浩倫
觀看數:51
回答數:1
收藏數:0
ml100-2-d71
ml100-2

老師您好~

雖然類似問題有許多人問過了

但是還是充滿疑問...


我的疑問來源是:

1.是否在不同的問題上面

應該就會有其相對應的loss function來評估模型


如在cifar10中是分類問題

所以使用categorical_crossentropy是相當直觀的

但在這種例子中使用binary_crossentropy/MSE就是不太正確的行為?

(不過如果只有兩類就可以使用binary_crossentropy?)


2.對cifar10做二元分類是怎麼分的呢?

其中的2元只是單純不是0就是1嗎?


這部分是否可以稍微再講解一下

謝謝老師

回答列表

  • 2019/07/31 上午 11:22
    Jimmy
    贊同數:2
    不贊同數:0
    留言數:1

    Hi 浩倫!


    1. 是的。更準確地來說,應該是你希望模型的輸出是什麼樣,就要給相對應 Loss function 來訓練,模型才會往你想的方向前進。用 MSE 其實也是可以,但是相較於 Cross entropy,MSE 常會遇到難以優化的問題,所以分類問題才多以 cross entropy 來解決。


    2. 對多類別做二元分類就會轉變為獨立的 "是非問題"。以 Cifar-10 的 10 個類別為例,假設一張圖片送進模型,模型會問他十個問題,

    (1) 是不是"狗"? 是為1,不是為0

    (2) 是不是 "貓“? 是為1,不是為0

    (3) 是不是 "船"? 是為1,不是為0

    ...

    做了十次的二元分類,其實就可以做到多元分類的效果。但是這邊有點要特別註意的是,問題之間彼此是獨立的!因此,如果模型訓練得不好,一張圖片很有可能,狗跟貓的答案皆為 "是"!這樣就會無法更精準的分類,但如果是使用 categorical_crossentropy 訓練,則不會有這個問題,因為十個類別的機率加總要是 1,各類別之間並不是獨立的。