深度学习-损失函数

均方误差

均值平方差(Mean Squared Error,MSE),也称“均方误差”,在神经网络中主要是表达预测值与真实值之间的差异,对每一个真实值与预测值相减的平方取平均值

损失函数:

l o s s = 1 n ∑ i = 1 n ( y ^ i − y i ) 2 loss = \frac{1}{n} \sum_{i=1}^n(\hat{y}_i - y_i)^2 loss=n1i=1n(y^iyi)2

交叉熵

交叉熵(Cross Entropy)也是 loss 算法的一种,一般用在分类问题上,表达的意思为预测输入样本属于某一类的概率

损失函数: y 代表真实值分类(0或1),a代表预测值

l o s s = − 1 n ∑ x [ y ln ⁡ a + ( 1 − y ) ln ⁡ ( 1 − a ) ] loss = -\frac{1}{n} \sum_x [y \ln a+(1-y) \ln(1-a)] loss=n1x[ylna+(1y)ln(1a)]

"""深度学习框架 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 ]
"""
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值