均方誤差
均值平方差(Mean Squared Error,MSE),也稱“均方誤差”,在神經網絡中主要是表達預測值與真實值之間的差異,對每一個真實值與預測值相減的平方取平均值損失函數:
交叉熵
交叉熵(Cross Entropy)也是 loss 算法的一種,一般用在分類問題上,表達的意思爲預測輸入樣本屬於某一類的概率損失函數: y 代表真實值分類(0或1),a代表預測值
"""深度學習框架 pytorch 和 tensorflow 中的交叉熵函數"""
import torch
import torch.nn as nn
import tensorflow as tf
torch.manual_seed(2019)
logits = torch.randn(2, 3) # 網絡輸出
labels = torch.ones(2, dtype=torch.long).random_(3) # 真實標籤
criterion = nn.CrossEntropyLoss(reduction='none')
loss1 = criterion(logits, labels)
print('loss1:', loss1)
loss2 = tf.nn.sparse_softmax_cross_entropy_with_logits(logits=logits.numpy(), labels=labels.numpy())
with tf.Session() as sess:
print('loss2:', sess.run(loss2))
"""
loss1: tensor([0.6964, 2.4335])
loss2: [0.69642293 2.4335492 ]
"""