tensorflow——常用損失函數

交叉熵損失函數(cross entropy)

分類問題中使用比較廣的一種損失函數。
刻畫兩個概率分佈之間的距離。

給定兩個概率分佈p和q,通過q來表示p的交叉熵爲:
在這裏插入圖片描述
在tensorflow中交叉熵,實現代碼1:

cross_entropy= -tf.reduce_mean(y_*tf.log(tf.clip_by_value(y,1e-10,1.0)))

其中,y_表示預測值,y表示實際輸出。tf.clip_by_value()函數將一個張量的數值控制在一個範圍之內,可以避免一些錯誤,如log0無效等。
交叉熵一般與softmax迴歸一起使用,實現代碼2:

cross_entropy = tf.nn.softmax_cross_entropy_with_logits(y,y_)

其中,y_表示預測值,y表示實際輸出。該函數的功能是自動計算logits(未經過Softmax)與labels之間的cross_entropy交叉熵。

均方誤差損失函數(MSE,mean squared error)

迴歸問題最常用的損失函數
在這裏插入圖片描述
使用tensorflow實現代碼1:

mse = tf.reduce_mean(tf.square(y_-y))

其中,y_表示預測值,y表示實際輸出。
實現代碼2:

mse = tf.loss.mean_squared_error(y_,y)

其中,y_表示預測值,y表示實際輸出。

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