交叉熵损失函数的通用性(为什么深度学习DL普遍用它):预测输出与 y 差得越多,L 的值越大,也就是说对当前模型的 “ 惩罚 ” 越大,而且是非线性增大是一种类似指数增长的级别,结论:它对结果有引导性

交叉熵损失函数解析
本文介绍了深度学习中常用的交叉熵损失函数。该函数通过非线性增大方式对模型进行惩罚,促使预测输出更加接近真实标签,有效提升模型的识别效果。

交叉熵损失函数的通用性(为什么深度学习DL普遍用它):预测输出与 y 差得越多,L 的值越大,也就是说对当前模型的 “ 惩罚 ” 越大,而且是非线性增大是一种类似指数增长的级别,结论:它对训练模型识别效果有引导性

重点提一点的是,从图形中我们可以发现:预测输出与 y 差得越多,L 的值越大,也就是说对当前模型的 “ 惩罚 ” 越大,而且是非线性增大,是一种类似指数增长的级别。这是由 log 函数本身的特性所决定的。这样的好处是模型会倾向于让预测输出更接近真实样本标签 y。

https://blog.youkuaiyun.com/red_stone1/article/details/80735068

交叉熵损失函数深度学习中常用的一个损失函数,它是用来衡量实际输出期望输出之间的差异的。在分类问题中,如果使用softmax作为输出层的激活函数,那么就可以使用交叉熵损失函数来计算误差。因此,采用softmax的交叉熵损失函数是指在使用softmax作为输出层激活函数时所使用的损失函数。 而交叉熵损失函数一种广义的损失函数,它可以用于多种深度学习任务,不仅仅局限于分类任务。在分类问题中,我们通常使用softmax作为输出层的激活函数,从而使得交叉熵损失函数成为了常用的损失函数之一。但是,在其他任务中,我们可能需要使用其他的输出层激活函数,例如sigmoid、tanh等,这时候我们仍然可以使用交叉熵损失函数来计算误差。 下面是使用Python实现采用softmax的交叉熵损失函数交叉熵损失函数的代码: ``` import numpy as np # 采用softmax的交叉熵损失函数 def softmax_cross_entropy_loss(y, y_hat): n = y.shape loss = -np.sum(y * np.log(y_hat + 1e-12)) / n return loss # 交叉熵损失函数 def cross_entropy_loss(y, y_hat): n = y.shape loss = -np.sum(y * np.log(y_hat + 1e-12) + (1 - y) * np.log(1 - y_hat + 1e-12)) / n return loss # 测试代码 y = np.array([0, 1, 0, 0]) y_hat = np.array([0.1, 0.7, 0.1, 0.1]) print("采用softmax的交叉熵损失函数:", softmax_cross_entropy_loss(y, y_hat)) print("交叉熵损失函数:", cross_entropy_loss(y, y_hat)) ``` 其中,y表示实际输出,y_hat表示模型预测输出。采用softmax的交叉熵损失函数只需要计算实际输出预测输出之间的差异,而交叉熵损失函数还需要考虑实际输出预测输出都为0或1时的情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值