交叉熵损失函数的多样化理解

背景:

为什么会选择交叉熵损失函数???
起初大佬们想的是使用绝对值误差作为损失函数,但是由于绝对值在数学中不好计算,所以大佬们就对绝对误差进行取平方操作,为了便于计算,在前面还乘了1/2,然后多个样本的损失进行求和求均值,即MSE(最大平方估计/最大平方误差),在深度学习中,我们经常使用的激活函数是sigmoid激活函数,由于该函数直接将输出激活到(0,1)空间,导致在该函数边缘的区域进行参数w和b的更新时会非常慢,因为有δ’(z)存在,这一项在边缘接近为0,为了克服这个缺点,我们选择了交叉熵,那么多其他函数,为什么大佬们要选择交叉熵呢?这个问题大家可以去找找相关介绍,应该是很有趣的过程!现在我们来讲一下为什么交叉熵可以克服权重更新太慢的问题呢,通过对w和b求梯度,我们可以发现里面不再有δ‘(z)这一项,更新是受到误差影响,当误差大时,梯度更新就快;误差小时,梯度更新就慢,不会导致权重更新非常慢的情况!

交叉熵形式的理解:

1)交叉熵损失函数角度:交叉熵,用来衡量在给定的真实分布下,使用非真实分布所指定的策略消除系统的不确定性所要付出的努力大小(知乎:基础知识:信息熵、交叉熵和相对熵
这里写图片描述
熵的本质是香农信息量(log(1/p(x))的期望,现在有关于样本集的两个概率分布p和q,其中P为真实分布,Q为非真实分布,可以求P的熵,即f(x)=log(1/P(x)),那么E(f(x))=∑f(xi)P(xi)=∑log(1/P(xi))P(xi)=-∑P(xi)log(P(xi)),然后我们求Q的熵,即f(x)=log(1/Q(x)),则E(f(x))=∑f(xi)P(xi)=∑log(1/Q(xi))P(xi)=-∑P(xi)log(Q(xi)),因为Q(x)的概率是P(x),所以称为p和q的交叉熵。
PS:
KL散度/相对熵
D(P||Q)=H(P,Q)-H(P)=∑p(xi)*log(p(i)/q(i))。

所以我们的损失函数选择这种形式!
2)负对数似然损失函数角度
似然估计,即在当前样本已经出现的情况下,求出使得这些样本出现的概率最大的参数p,该似然函数我们记为L(X;θ),我们讲似然函数作为机器学习的损失函数,并且用到分类问题中去,似然函数直接是作用于模型的输出的,所以此时的似然函数来说,样本集为label集,参数为我们的predict输出集,分布模型为多项分布;
现在针对一个已发生的样本标签事件,我们求它的概率,然后求解多个事件的联合概率,使得似然概率最大,求解其对应的参数即可,如下所示我们可以发现负对数似然损失函数和交叉熵的形式完全一致,因此前辈们选择交叉熵损失函数而不是其他的函数来替代MSE可能也有这方面的考量吧!
这里写图片描述

补充知识:

1)多项式定理
这里写图片描述
2)多项分布
这里写图片描述
3)极大似然估计
似然函数就是衡量当前模型参数对于已知样本集的解释情况!
极大似然估计所关注的2个方面:
1)样本集
2)样本服从怎样的概率分布模型(可以理解为:横轴:样本空间所对应的离散随机变量所对应的取值,纵轴:每个离散随机变量所对应的概率。如多项分布的表示X~PN(N;p1,p2,…,pn)
3)参数p

4)概率所关注的5个侧重
1)样本空间
2)事件(样本空间的子集)
3)随机变量:将事件映射到实数域,用变量表示,实际是一个函数映射,随机指的是该函数的输入是随机的,并不是函数是随机的,根据映射后变量的取值情况,我们将其划分为①离散随机变量;②连续随机变量
4)概率:
5)分布
u
1)朴素概率:表示样本空间中的样本的发生几率相同,然后求某一事件发生的概率时,我们令P=|A|/|S|,其中S代表样本空间,A代表当前事件,||操作代表集合中的元素个数,但需要注意,很多情况下样本空间中样本的发生概率并不相同,所以请谨慎使用该公式了!
2)条件概率:描述在某一事件发生时,另一事件发生的概率,用贝叶斯公式求解!
3)全概率:使用全概率公式求解!

参考:
多项分布
多项式分布的理解概率公式的理解
交叉熵、相对熵及KL散度通俗理解
哈?你还认为似然函数跟交叉熵是一个意思呀?
基础知识:信息熵、交叉熵和相对熵

猜你喜欢

转载自blog.csdn.net/u014038273/article/details/79916899