pytorch和keras損失函式區別

2021-10-02 19:01:58 字數 763 閱讀 7200

學習pytorch首先是要裝pytorch啦!但是這是乙個磨人的小妖精,傳統的用pip可是裝不上的。為此,可以參考我的另一篇部落格,這可是我研究一天的結晶!

這篇筆記是 關於機器學習損失函式的,根據不同的應用場景,需要選擇不同的損失函式。

線性回歸因為**的數值有具體的意義,所以損失函式一般使用的均方誤差損失函式。以前用的是tensorflow的keras,學習pytorch的時候發現二者的公式有細微的差別。pytorch乘了乙個1/2,而keras沒有。具體如下:

(keras的損失函式公式)

(pytorch的損失函式)

有乙個題覺得很有意思,裡面包含了很多知識點,既有關於python語法本身的,也有基礎機器學習理論。(題來自伯禹學習平台,正確答案是b)

對於分類模型的**結果,我們關注的是數值的相對大小,而非線性回歸的絕對大小。也即如果結果是[10,30,9]和[100,120,90],其實差別不大,最終的結果都是第二類。所以,均方誤差損失函式在這裡就不太適用了,一般使用交叉熵損失函式,但是之前要首先對結果進行歸一化處理,例如進行softmax處理。

過程如下:

Keras加權損失函式

ref keras提供的損失函式binary crossentropy和categorical crossentropy沒有加權,如果想實現樣本的不同權重功能有一種策略是對損失函式加權處理。二分加權交叉熵損失 class weightedbinarycrossentropy object def i...

Keras筆記 損失函式的使用

keras中文文件 損失函式 或稱目標函式 優化評分函式 是編譯模型時所需的兩個引數之一 model.compile loss mean squared error optimizer sgd from keras import losses model.compile loss losses.me...

keras中損失函式簡要總結

from keras.losses import 以下是正文。方差。差點忘了方差是什麼,丟死人。注重單個巨大偏差。差的絕對值的平均數。平均對待每個偏差。誤差百分數 非負 的平均數。比如50和150對100的誤差百分數都是50。自己感受。對數的方差。會將值先 1再取對數 奇怪。log cosh err...