一、二分类交叉熵损失
- L=1n∑inLiL = \frac{1}{n}\sum_{i}^n L_iL=n1∑inLi (备注:LiL_iLi 表示第 iii 个样本计算的损失 losslossloss)
- Li=−[yilog(pi)+(1−yi)log(1−pi)]L_i=-[y_i\log(p_i)+(1-y_i)\log(1-p_i)]Li=−[yilog(pi)+(1−yi)log(1−pi)]
其中:
- yiy_iyi — 表示样本 iii 的label,正类为 111 ,负类为 000
- pip_ipi — 表示样本 iii 预测为正类的概率,同理 (1−pi)(1-p_i)(1−pi) 则为样本预测为负类的概率
下面对以上公式进行简化:
- 当样本 yiy_iyi 的label为1时:Li=−yilog(pi)L_i=-y_i\log(p_i)Li=−yilog(pi)
- 当样本 yiy_iyi 的label为0时:Li=−(1−yi)log(1−pi)L_i=-(1-y_i)\log(1-p_i)Li=−(1−yi)log(1−pi)
由图片可推得:
- 若 yiy_iyi 为1,则 pip_ipi 越大,losslossloss越小,反之pip_ipi 越小,losslossloss越大;
- 若 yiy_iyi 为0,则 pip_ipi 越小,1−pi1-p_i1−pi 则越小,losslossloss越大,反之亦然;
小结:交叉熵损失的特点就是当yiy_iyi与pip_ipi 非常接近时,losslossloss 会很小,而当yiy_iyi与pip_ipi 相差非常大时,losslossloss 会非常大。这是由 log\loglog 对数函数的性质决定的。
二、多分类交叉熵损失
多分类的交叉熵损失是对二分类的一个扩展,公式如下:
L=1n∑inLiL = \frac{1}{n}\sum_{i}^n L_iL=n1i∑nLi
Li=−∑cMyiclogpicL_i = -\sum_{c}^M y_i{_c}\log p_i{_c}Li=−c∑Myiclogpic
其中:
- MMM — 类别数量
- yicy_i{_c}yic — 符号函数( 表示 000 或 111 ),如果样本 iii 的真实类别等于 ccc 则yicy_i{_c}yic取 111 ,否则取 000
- picp_i{_c}pic — 观测样本 iii 属于类别 ccc 的预测概率
下面我们利用这个表达式去计算一下模型的 LossLossLoss:
- L1=−(0×log0.3+0×log0.3+1×log0.4)=0.91L_1 = -(0\times\log 0.3+0\times\log 0.3+1\times\log 0.4)=0.91L1=−(0×log0.3+0×log0.3+1×log0.4)=0.91
- L2=−(0×log0.3+1×log0.4+0×log0.3)=0.91L_2 = -(0\times\log 0.3+1\times\log 0.4+0\times\log 0.3)=0.91L2=−(0×log0.3+1×log0.4+0×log0.3)=0.91
- L3=−(1×log0.1+0×log0.2+0×log0.7)=2.30L_3 = -(1\times\log 0.1+0\times\log 0.2+0\times\log 0.7)=2.30L3=−(1×log0.1+0×log0.2+0×log0.7)=2.30
对 losslossloss 求均值:
- L=0.91+0.91+2.303=1.37L = {0.91+0.91+2.30 \over 3}=1.37L=30.91+0.91+2.30=1.37
三、Softmax函数
概述
softmax函数,又称归一化指数函数,它是二分类函数sigmoid在多分类上的推广,目的是将多分类的结果以概率的形式展现出来。
基于概率的两个性质:
- 预测的概率为非负数
- 种预测结果概率之和等于1。
softmax就是将在负无穷到正无穷上的预测结果按照这两步转换为概率。
p(y∣x)=efy∑c=1Cefyp(y|x)={e^{f_y} \over \sum_{c=1}^C e^{f_y}}p(y∣x)=∑c=1Cefyefy
- 分子:通过指数函数,将实数输出映射到零到正无穷;
- 分母:将所有结果相加,进行归一化。