目录
-
分类的背景
关于分类
给定训练集:
其中是一个d维向量,
是一个c维one-hot向量,N是训练集样本数。在传统的机器学习方法中,往往通过诸如逻辑斯谛回归和SVM找到分类决策边界:
softmax细节
把给定输入x时的输出为y的概率计算分成两步:
(1)用(W的第y行)乘以向量x:
从1开始对所有C个类别都做这样的乘法
(2)归一化,将向量输入到softmax,计算得到一个概率分布,所有概率之和为1:
softmax和交叉熵误差
输入x,预测y,我们希望模型可以最大化正确类别的概率,最大化概率=最大化对数概率=最小化对数概率的负数,对数概率的负数通常是我们的目标函数:
为什么是交叉熵误差
假设我们有正确标注的概率分布,正确类别的概率为1,其余的概率为0,定义理想的概率为p,softmax计算得到的概率记为q,则交叉熵为:
因为p是one-hot向量,所以非正确类别的求和项的值全部为零,最后交叉熵的结果是-log(q)。
补充:KL散度(KL divergence)
交叉熵可以被改写成熵和两个分布之间的KL散度:
在我们的例子中,H(p)是零(即使它不是零,它也是不变的,对梯度没有贡献),所以最小化交叉熵等于最小化p和q之间的KL散度。
KL散度不是距离,而是两个概率分布p和q之间差异的非对称度量: