监督学习主要分为两类:
- 分类:目标变量是离散的,如判断一个西瓜是好瓜还是坏瓜,那么目标变量只能是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-P
P(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} logqp越小,越接近于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个标签值的概率。通过对该损失函数的拟合,也在一定程度上增大了类间距离。