torch的常用損失函數

torch的常用損失函數

nn.L1Loss

 

 loss(xi,yi)=|xi−yi|

x,y需要有一樣的維度。

nn.MSELoss

均方損失函數

loss(xi,yi)=(xi−yi)2loss(xi,yi)=(xi−yi)2

nn.BCELoss

二分類用的交叉熵,用的時候需要在該層前面加上 Sigmoid 函數。交叉熵的定義參考 wikipedia 頁面。

因爲離散版的交叉熵定義是 ,其中 p,qp,q 都是向量,且都是概率分佈。如果是二分類的話,因爲只有正例和反例,且兩者的概率和爲 1,那麼只需要預測一個概率就好了,因此可以簡化成

nn.CrossEntropyLoss

多分類用的交叉熵損失函數,用這個 loss 前面不需要加 Softmax 層。

nn.KLDivLoss

KL 散度,又叫做相對熵,算的是兩個分佈之間的距離,越相似則越接近零。 

注意這裏的 xixi 是 loglog 概率,剛開始還以爲 API 弄錯了。

 

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