2.3 分类器及损失
学习目标
-
目标
-
知道基于图像像素映射的分类评分函数
-
说明SVM和Softmax线性分类器及其损失函数特点原理
-
-
应用
-
无
-
2.3.1 线性分类
2.3.1.1 线性分类解释
学习到的权重
2.3.2 损失函数
2.3.2.1 多分类SVM损失
2.2.2.2 Softmax 分类(Multinomial Logistic Regression)与cross-entropy(交叉熵损失)
1、Softmax
2、cross-entropy
2.3.3 SVM与Softmax对比
下面这张图就清楚的展示了两个分类以及其损失计算方式的区别
实际应用中,两类分类器的表现是相当的,两者差异较小。每个人都回去根据那个表现更好来做选择。如果要对比的话,其中的一些差异如下:
-
SVM下,我们能完成类别的判定,但是实际上我们得到的类别得分,大小顺序表示着所属类别的排序,但是得分的绝对值大小并没有特别明显的物理含义
-
SVM可能拿到对应 猫/狗/船 的得分[12.5, 0.6, -23.0],同一个问题,Softmax分类器拿到[0.9, 0.09, 0.01]。这样在SVM结果下我们只知道猫是正确答案,而在Softmax分类器的结果中,我们可以知道属于每个类别的概率
-
-
Softmax分类器中,结果的绝对值大小表征属于该类别的概率
-
1、比如说SVM损失设定\Delta=1Δ=1,SVM只关注分类边界,如果算得的得分是[10, -2, 3],比如实际第一类是正确结果,那么10-3=7已经比1要大很多了,最后损失为0。所以它觉得这已经是一个很标准的答案了,完全满足要求了,不需要再做其他事情了,意味着 [10, -100, -100] 或者 [10, 9, 9],它都是满意的,并没有区别
-
2、对于Softmax而言,它总是觉得可以让概率分布更接近标准结果一些,交叉熵损失更小一些。 [10, -100, -100] 和 [10, 9, 9]映射到概率域,计算得到的互熵损失是有很大差别的。所以Softmax是一个永远不会满足的分类器,在每个得分计算到的概率基础上
-
2013年的一篇论文就针对于神经网络损失函数在CIFAR-10等数据集上进行了两种损失对比,参考:Deep Learning using Linear Support Vector Machines,这篇论文就告诉L2-SVM比Softmax效果好一些
现在我们知道了如何基于参数,将数据集中的图像映射成为分类的评分,也知道了两种不同的损失函数,它们都能用来衡量算法分类预测的质量。如何高效地得到能够使损失值最小的参数呢?这个求得最优参数的过程被称为最优化,下节课我们将会介绍。
2.2.4 总结
-
定义了从图像像素映射到不同类别的分类评分的评分函数
-
定义了两种分类器以及损失行数
-
SVM 合页损失
-
Softmax 交叉熵损失
-