![695d485c7566189e5bdb4832bc4fe82d.png](https://i-blog.csdnimg.cn/blog_migrate/03964559695df8d5ddae8b791f0e76cd.jpeg)
什么是交叉熵损失函数
为了理解什么是交叉熵,首先我们得了解信息量,熵,相对熵等一系列概念;
信息量
一条信息的不确定性越大,那么信息量越大,这个用通俗的语言很好解释:你跟别人讲, 明天太阳从东边出来,别人会说你说了一句废话,这是个确定的事情,没有信息量;微博上杨超越晒出照片有一个烟盒,大家就会说信息量好大了,因为此时杨超越抽不抽烟还是不确定的。
熵
熵是信息量的期望值。和我们在热力学中理解的混乱程度也是一样的,越不确定,越混乱;
相对熵
相对熵用来衡量两个分布的的差异,值越小越接近;
交叉熵
由相对熵推导得到,其实本质是一样的,差值是常量,因此也能用来恒量分布的差异; 具体推导可以参考交叉熵 同时这篇文章也分析了为什么在分类中要使用交叉熵损失而不是用MSE,原因是在使用了激活函数后,交叉熵可以保证当误差越大时,梯度越大,那么就学的越快;MSE是相反的。
二分类问题
注意二分类也是分类,但是二分类的交叉熵本质和多分类是一样的,所以说逻辑回归的损失函数,本质上和交叉熵是一样的 参考交叉熵损失函数
交叉熵和最大似然估计
最大似然估计是基于我们的观测情况,来得到分布的参数;很多情况下,我们可以看到,分类问题的损失函数是直观利用最大似然估计给出的,但是在机器学习的损失函数这里,二者本质是一样的
Softmax
softmax是用来进行多分类,可以将多个值输出到[0,1]之间,并且保证和是0,很符合概率分布;softmax也可以很为是一个激活函数,和普通sigmoid激活函数不同的是,它的输出是一个向量,其实二者本质也是一样的,在二分类的时候,softmax就退化成为sigmoid,具体推导可以参考Sigmoid和Softmax的关系 如果我们最后一层加入的损失函数是softmax,那么就是在做多分类,得到的输出也符合一个概率分布,此时我们就可以使用交叉熵或者最大似然估计,很容易得到模型的损失函数,比如在没加任何优化的word2vec模型就是这样的。