监督学习主要分为两类:
* 分类:目标变量是离散的,如判断一个西瓜是好瓜还是坏瓜,那么目标变量只能是1(好瓜),0(坏瓜)
* 回归:目标变量是连续的,如预测西瓜的含糖率(0.00~1.00)
分类主要分为:
* 二分类:如判断一个西瓜是好瓜还是坏瓜
* 多分类:如判断一个西瓜的品种,如黑美人,特小凤,安农二号等
而交叉熵损失函数是分类中最常用的损失函数,交叉熵是用来度量两个概率分布的差异性的,用来衡量模型学习到的分布和真实分布的差异。
<>二分类
在二分类情况中,对于每一类别的预测只能是两个值,假设预测为好瓜(1)的概率为 P P P,坏瓜(0)的概率为 1 − P 1-P 1−P:
则,二分类交叉熵损失的一般形式为,其中y为标签:
这个式子怎么理解呢?
预测为好瓜(1)的概率为 P P P: P ( y = 1 ∣ x ) = P P(y=1|x)=P P(y=1∣x)=P,
预测为坏瓜(0)的概率为 1 − P 1-P 1−P: P ( y = 0 ∣ x ) = 1 − P P(y=0|x)=1-P P(y=0
∣x)=1−P
则, P ( y ∣ x ) = P y ( 1 − P ) 1 − y P(y|x)=P^y(1-P)^{1-y} P(y∣x)=Py(1
−P)1−y,当y为1时, P ( y ∣ x ) = P P(y|x)=P P(y∣x)=P,当y为0时, P ( y ∣ x ) = 1 − P
P(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, l o g p q log{p \over q} l
ogqp越小,越接近于0)(这里的log底数为2)
*
交叉熵
将相对熵展开可以得到如下:
由上式可知,相对熵=交叉熵-信息熵,H(p,q)就是交叉熵:
由于在机器学习和深度学习中,样本和标签已知(即p已知),那么信息熵H(p)相当于常量,此时,只需拟合交叉熵,使交叉熵拟合为0即可。
<>多分类
多分类和二分类类似,二分类标签为1和0,而多分类可以用one-hot编码来表示,即现在要预测西瓜品种,品种有黑美人,特小凤,安农二号,如果真实标签为特小凤即(0,1,0),预测标签为安龙二号即(0,0,1),将预测标签的各个概率带入即可,多分类的情况实际上就是对二分类的扩展:
y i k y_{ik} yik表示第 i i i个样本的真实标签为 k k k ,共有 K K K个标签值 N N N个样本,
p i , k p_{i,k}pi,k表示第 i i i个样本预测为第 k k k个标签值的概率。通过对该损失函数的拟合,也在一定程度上增大了类间距离。