Lecture_linear classification

2018-10-20  本文已影响0人  SnorlaxSE

课程链接

线性分类器


图像空间的示意图,其中每个图像是一个点,且有3个分类器.以红色的汽车分类器为例,红线表示空间中汽车分类分数为0的点的集合,红色的箭头表示分值上升的方向。所有红线右边的点的分数值均为正,且线性升高。红线左边的点分值为负,且线性降低. Interactive web demo

评分函数 Score function

线性映射

f(x_i,W,b)=Wx_i+b

  1. 该函数的输出值为对应各类别的score
  2. 我们的目的就是找到最优化的参数W、b,即为每一个分类找到最好的模板.
  3. 评分函数在正确的分类的位置应当得到最高的评分(score)

偏差和权重的合并Bias trick

image
Interpretation of linear classifiers as template matching

W的每一行为对应一个分类的模板("原型").注意,船的模板如期望的那样有很多蓝色像素。如果图像是一艘船行驶在大海上,那么这个模板利用内积计算图像将给出很高的分数。


图像数据预处理 Image data preprocessing


损失函数 Loss function

我们将使用损失函数(Loss Function)(有时也叫代价函数Cost Function或目标函数Objective)来衡量我们对结果的不满意程度。直观地讲,当评分函数输出结果与真实结果之间差异越大,损失函数输出越大,反之越小。,对训练集中数据做出准确分类预测让损失值最小化这两件事是等价的。


多类支持向量机损失 Multiclass Support Vector Machine Loss

image

SVM的损失函数想要SVM在正确分类上的得分始终比不正确分类上的得分高,且至少高出一个边界值delta.如果其他分类分数进入了红色的区域,甚至更高,那么就开始计算损失。如果没有这些情况,损失值为0。我们的目标是找到一些权重,它们既能够让训练集中的数据样例满足这些限制,也能让总的损失值尽可能地低。

Hinge Loss 针对第i个数据的多类SVM的损失函数定义:
image

针对一个数据点,SVM和Softmax分类器的不同处理方式的例子。两个分类器都计算了同样的分值向量f(本节中是通过矩阵乘来实现)。不同之处在于对f中分值的解释:

SVM分类器将它们看做是分类评分,它的损失函数鼓励正确的分类(本例中是蓝色的类别2)的分值比其他分类的分值高出至少一个边界值。SVM的最终的损失值是1.58。

Softmax分类器将这些数值看做是每个分类没有归一化的对数概率,鼓励正确分类的归一化的对数概率变高,其余的变低。Softmax的最终的损失值是0.452。但要注意SVM和Softmax的最终损失值(1.58和0.452)两个数值没有可比性。只在给定同样数据,在同样的分类器的损失值计算中,它们才有意义。


Softmax分类器为每个分类提供了“可能性”:可能性分布的集中或离散程度是由正则化参数λ直接决定的,λ是你能直接控制的一个输入参数。随着正则化参数λ不断增强,权重数值会越来越小,最后输出的概率会接近于均匀分布。这就是说,softmax分类器算出来的概率最好是看成一种对于分类正确性的置信水平。


在实际使用中,SVM和Softmax经常是相似的:通常说来,两种分类器的表现差别很小,不同的人对于哪个分类器更好有不同的看法。

SVM更加“局部目标化(local objective)”.SVM对于数字个体的细节是不关心的:如果分数是[10, -100, -100]或者[10, 9, 9],对于SVM(\Delta=1)来说没什么不同,只要满足超过边界值等于1,那么损失值就等于0。SVM只要边界值被满足了就满意了,不会超过限制去细微地操作具体分数。举例说来,一个汽车的分类器应该把他的大量精力放在如何分辨小轿车和大卡车上,而不应该纠结于如何与青蛙进行区分,因为区分青蛙得到的评分已经足够低了。

softmax分类器对于分数是永远不会满意的:正确分类总能得到更高的可能性,错误分类总能得到更低的可能性,损失值总是能够更小。


小结

现在我们知道了如何基于参数,将数据集中的图像映射成为分类的评分,也知道了两种不同的损失函数,它们都能用来衡量算法分类预测的质量。但是,如何高效地得到能够使损失值最小的参数呢?这个求得最优参数的过程被称为最优化,将在下节课中进行介绍。

参考:cs231n assignment1 svm

上一篇 下一篇

猜你喜欢

热点阅读