监督学习主要分为两类:
- 分类:目标变量是离散的,如判断一个西瓜是好瓜还是坏瓜,那么目标变量只能是1(好瓜),0(坏瓜)
- 回归:目标变量是连续的,如预测西瓜的含糖率(0.00~1.00)
分类主要分为:
- 二分类:如判断一个西瓜是好瓜还是坏瓜
- 多分类:如判断一个西瓜的品种,如黑美人,特小凤,安农二号等
而交叉熵损失函数是分类中最常用的损失函数,交叉熵是用来度量两个概率分布的差异性的,用来衡量模型学习到的分布和真实分布的差异。
二分类
在二分类情况中,对于每一类别的预测只能是两个值,假设预测为好瓜(1)的概率为PPP,坏瓜(0)的概率为1?P1-P1?P:
则,二分类交叉熵损失的一般形式为,其中y为标签:
这个式子怎么理解呢?
预测为好瓜(1)的概率为PPP:P(y=1∣x)=PP(y=1|x)=PP(y=1∣x)=P,
预测为坏瓜(0)的概率为1?P1-P1?P:P(y=0∣x)=1?PP(y=0|x)=1-PP(y=0∣x)=1?P
则,P(y∣x)=Py(1?P)1?yP(y|x)=P^y(1-P)^{1-y}P(y∣x)=Py(1?P)1?y,当y为1时,P(y∣x)=PP(y|x)=PP(y∣x)=P,当y为0时,P(y∣x)=1?PP(y|x)=1-PP(y∣x)=1?P。
交叉熵函数公式原理:
学习一个东西,就要深入的了解他,否则一直停留在表面上,就无法进一步研究,这个交叉熵是如何得到的呢,如何理解他?
首先要理解下面几个概念:
-
信息量
信息量表示一条信息消除不确定性的程度,如中国目前的高铁技术世界第一,这个概率为1,这句话本身是确定的,没有消除任何不确定性。而中国的高铁技术将一直保持世界第一,这句话是个不确定事件,包含的信息量就比较大。信息量的大小和事件发生的概率成反比。
-
信息熵
信息熵则是在结果出来之前对可能产生的信息量的期望,期望可以理解为所有可能结果的概率乘以该对应的结果。
信息熵是用来衡量事物不确定性的。信息熵越大(信息量越大,P越小),事物越具不确定性,事物越复杂。 -
相对熵(即KL散度)
相对熵又称互熵,设p(x)p(x)p(x)和q(x)q(x)q(x)是取值的两个概率分布,相对熵用来表示两个概率分布的差异,当两个随机分布相同时,它们的相对熵为零,当两个随机分布的差别增大时,它们的相对熵也会增大。:
(可以这样想,对于一个二分类,p要么为0要么为1,由log图像知,p为0时值为0,为1时,q越接近1,logpqlog{p \over q}logqp?越小,越接近于0)(这里的log底数为2)
-
交叉熵
将相对熵展开可以得到如下:
由上式可知,相对熵=交叉熵-信息熵,H(p,q)就是交叉熵:
由于在机器学习和深度学习中,样本和标签已知(即p已知),那么信息熵H(p)相当于常量,此时,只需拟合交叉熵,使交叉熵拟合为0即可。
多分类
多分类和二分类类似,二分类标签为1和0,而多分类可以用one-hot编码来表示,即现在要预测西瓜品种,品种有黑美人,特小凤,安农二号,如果真实标签为特小凤即(0,1,0),预测标签为安龙二号即(0,0,1),将预测标签的各个概率带入即可,多分类的情况实际上就是对二分类的扩展:
yiky_{ik}yik?表示第 iii个样本的真实标签为kkk ,共有KKK个标签值 NNN个样本, pi,kp_{i,k}pi,k?表示第 iii个样本预测为第 kkk个标签值的概率。通过对该损失函数的拟合,也在一定程度上增大了类间距离。