一个例子说明交叉熵损失函数的重要价值——逻辑回归函数的通俗解释

本文探讨了距离度量惩罚力度不足的问题,通过引入对数函数无限放大惩罚力度,最终导出逻辑回归的交叉熵损失函数,有效提升了模型训练速度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 距离度量惩罚力度太小

用距离度量,比如最小二乘法,定义损失函数,会出现梯度“消失”的问题。例如,下面的模型
z(x,w)=σ(x+w)=11+ex+w(1)\tag1 z(x,w) = \sigma (x+w) = \frac1{1+e^{x+w}} z(x,w)=σ(x+w)=1+ex+w1(1)

假设模型初始状态 w=10w=10w=10,训练样本为:
x1=−1,y1=0;x2=1,y2=1;(2)\tag2 \begin{matrix} x_1=-1,&&y_1=0;\\ x_2=1,&&y_2=1; \end{matrix} x1=1,x2=1,y1=0;y2=1;(2)
计算一下,可以得到
z(−1,w)≃1z(1,w)≃1(3)\tag3 \begin{matrix} z(-1,w) \simeq 1\\ z(1,w)\simeq 1 \end{matrix} z(1,w)1z(1,w)1(3)
很容易看出,z(−1,w)≃1z(-1,w) \simeq 1z(1,w)1,这个计算结果与训练样本矛盾的,因此需要在损失函数中对其惩罚。但是,因为神经网络的输出结果在[0,1]区间,无论参数 www 与最优解之间差距多大,最大的惩罚力度也不会超过1。这就非常悲剧了,这会严重影响训练效率。因此,我们需要采取措施,加大处罚力度。

2. 巧用对数函数,无限放大惩罚力度

对于正样本而言,模型应该输出数值1。因此,定义惩罚函数:
p(x,w)=−ln(z(x,w)),(y=1)(4)\tag4 p(x,w)=-ln(z(x,w)), (y=1) p(x,w)=ln(z(x,w)),(y=1)(4)
这个函数很有意思,我期望你输出1,如果你听话,惩罚就是0;如果输出结果 0 这一端靠近,惩罚就趋向无穷大。参见下图,

在这里插入图片描述

对于负样本而言,模型应该输出数值0。因此,定义惩罚函数:
n(x,w)=−ln(1−z(x,w)),(y=0)(5)\tag5 n(x,w)=-ln(1-z(x,w)), (y=0) n(x,w)=ln(1z(x,w)),(y=0)(5)

这个函数同样有意思,我期望你输出0,如果你听话,惩罚就是0;如果输出结果 向1 这一端靠近,惩罚就趋向无穷大。参见下图,
在这里插入图片描述

于是我们得到了下面的惩罚函数,其中 y=0y=0y=0y=1y=1y=1是指训练样本中 yyy 的值
L(w)={−ln(z(x,w)),(y=1)−ln(1−z(x,w)),(y=0)(6)\tag6 L(w) = \begin{cases} -ln(z(x,w)),&&(y=1)\\ -ln(1-z(x,w)),&&(y=0) \end{cases} L(w)={ln(z(x,w)),ln(1z(x,w)),(y=1)(y=0)(6)
采用个小技巧,合并在一起,
L(w)=−yln(z(x,w))−(1−y)ln(1−z(x,w))(7)\tag7 L(w)=-yln(z(x,w))-(1-y)ln(1-z(x,w)) L(w)=yln(z(x,w))(1y)ln(1z(x,w))(7)
公式看上去高大上很多,但这只是雕虫小技而已,你可以分别令 y=1,y=0y=1,y=0y=1,y=0 带入验证一下,应该和(6)效果一样。

3. 交叉熵损失函数

如果有 N 个训练样本 (xi,yi),i=1,2,...,N(x_i, y_i), i =1,2,...,N(xi,yi),i=1,2,...,N。损失函数可定义为
L(w)=∑i=1N{−yiln[z(xi,w)]−(1−yi)ln[1−z(xi,w)]}(8)\tag8 L(w) = \sum_{i=1}^N\{ -y_iln[z(x_i,w)]-(1-y_i)ln[1-z(x_i,w)] \} L(w)=i=1N{yiln[z(xi,w)](1yi)ln[1z(xi,w)]}(8)

这个函数就是我们逻辑回归(logistics regression)的损失函数,我们叫它交叉熵损失函数。

4.小结

说一千道一万,交叉熵损失函数有什么价值?答,可以无限增加“分类失误”的惩罚力度,加快模型训练速度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

许野平

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值