学习目标:
- 理解线性分类器(Linear Classifier)
- 掌握代码
学习内容:
线性分类器组成(更新评分函数使损失函数最小化)
线性分类器中包括几个非常重要的部分:
- 权重矩阵W,偏差向量b
- 评分函数
- 损失函数
- 正则化
- 最优化
评分函数:
评分函数:
在公式中,每一个输入样本都被拉成一个长度为D的列向量,其中W和b都是参数,参数W被称为权重(weights)大小为K x D 和,参数b为偏置向量(bias vector)大小
K x 1,它影响输出结果,但是并不和原始样本产生关联。
SVM函数:
损失函数很多其中一种是多类别支持向量机损失(Muliticlass SVM Loss)
针对第 i 个样本的损失函数:
SVM在正确类别上比错误类别要多一个 deta
max(0,…) 的 0 是一个阀值,这个函数称为折叶损失(hinge loss)
s_j 为第j个类别的得分,yi是正确类别的标签
正则化(regularization):
作用:当 w 取值有多个,利用正则化将特定一个的权重加大
正则化公式:
上面式子仅包含权重W,不包含样本,将W所有元素平方求和。给出完整的多分类SVM的损失函数,包含两部分:数据损失,即所有样本的平均损失和正则化损失:
问题:
如何判断当前的W和b是否合适,是否能够输出准确的分类?
通过损失函数,就可以计算预测的分类和实际分类之间的差异。通过不断减小损失函数的值,也就是减少差异,就可以得到对应的W和b。
偏差向量b (bias vector)
b 可以理解为,如果不设置b,那所有的分类线都要通过原点,那其实就起不到分类的作用了,三条线都通过原点,是无法对数据做分类的。。W和b分别对直线做旋转和平移。
代码实现:
https://www.cnblogs.com/jimobuwu/p/9187839.html