Keras中的幾種交叉熵損失函式

2021-10-08 08:41:47 字數 696 閱讀 5490

sigmoid和softmax是神經網路輸出層使用的啟用函式,分別用於兩類判別和多類判別。binary_crossentropy損失函式和sigmoid啟用函式相匹配,適應兩類別分類的問題。categorical_crossentropy損失函式和softmax啟用函式相匹配,適應多類別分類的問題。

兩者都是多分類交叉熵損失函式,區別在於sparse(稀疏),在於對target編碼的要求。

1.categorical_crossentropy要求target為onehot編碼。

2.sparse_categorical_crossentropy要求target為非onehot編碼,函式內部進行onehot編碼實現。

例如:如果你的 targets 是 one-hot 編碼,用 categorical_crossentropy。

one-hot 編碼:

[0, 0, 1],

[1, 0, 0],

[0, 1, 0]

如果你的tagets是數字編碼 ,用sparse_categorical_crossentropy。

數字編碼:0, 1, 2

用keras做文字二分類,總是遇到如題錯誤,我的類別是0或1,但是錯誤跟我說不能是1。

該問題是loss function的問題。原來用的是sparse_categorical_crossentropy,改為binary_crossentropy問題解決。

交叉熵損失函式分類 交叉熵損失函式的應用

本文以二分類交叉熵損失函式為例,詳細分析了交叉熵損失函式在實際應用中遇到的問題,以及解決辦法,並給出了在深度學習中使用的交叉熵損失函式的具體形式。通過本文的敘述,相信能夠使讀者對深度學習的理解更加深入。其中y為label,為 的正類別概率,即在二分類中通過sigmoid函式得出的正類別概率大小。對於...

tensorflow中的幾種交叉熵

準備1 先說一下什麼是logit,logit函式定義為 是一種將取值範圍在 0,1 內的概率對映到實數域 inf,inf 的函式,如果p 0.5,函式值為0 p 0.5,函式值為負 p 0.5,函式值為正。相對地,softmax和sigmoid則都是將 inf,inf 對映到 0,1 的函式。在te...

Pytorch交叉熵損失的理解

讓我們康康這個小栗子 input torch.randn 3,5,requires grad true 定義輸入 可看成是神經網路最後一層的輸出 需要梯度資訊以被更新 target torch.randint 5,3,dtype torch.int64 定義交叉熵類別 optimizer torch...