交叉熵与交叉熵损失
熵
熵的定义:无损编码事件信息的最小平均编码长度
对熵的直接计算与意义
这里直接给出一些结论.对于某一事件,其发生的概率越小,那么其信息量越大;发生的概率越大,那么其信息量越小(最小不小于0).因此,有信息量公式如下:
\(h(x)=-\log_2 p(x)\)
熵的公式:
\(H(X)=-\sum^{n}_{i=1} p(x_{i})\log p(x_i)\)
其中P(i)是第i个信息状态的可能性.
熵的意义:
如果熵比较大(即平均编码长度较长),意味着这一信息有较多的可能状态,相应的每个状态的可能性比较低;因此每当来了一个新的信息,我们很难对其作出准确预测,即有着比较大的混乱程度/不确定性/不可预测性.
分类错误率
\(f(x)=\frac{correct}{total}\)
优缺点:可以在占比不同的时候进行判断,但是在占比相同的时候不能判断哪一个更优.
均方误差
\(MSE=\frac{1}{n}\sum_i^n(\hat{y}_i-y_i)^2\)
优缺点:可以对占比一样的时候进行分析,但是在使用梯度下降学习时,一开始训练时,学习速率会非常慢.
交叉熵
单分类
\(L=\frac{1}{N}\sum_i L_i=-\frac{1}{N}\sum_i-[y_i\times\ln(p_i)+(1-y_i)\times\ln(1-p_i)]\)
多分类
\(L=\frac{1}{N}\sum_i L_i=-\frac{1}{N}\sum_i\sum_{c=1}^{M}y_{ic}\ln(p_ic)\)
是凸函数,求导可以求到全局最优解.
流程:
1.由神经网络得到每个类别的得分
2.经过激活函数输出
3.预测的与one hot点(把离散变量映射到欧氏空间的点)的交叉熵损失
最后,二分类和多分类求导时,使用交叉熵损失函数和向量化后,求导结果的形式是一样的.