assignment1 -Q2 Multiclass Support Vector Machine
编写:郭承坤 观自在降魔 Fanli SlyneD
校对:毛丽
总校对与审核:寒小阳
代码环境:python3.6.1(anaconda4.4.0) && ubuntu16.04 测试通过
任务
- 完成一个基于SVM的全向量化损失函数
- 完成解析梯度的全向量化表示
- 用数值梯度来验证你的实现
- 使用一个验证集去调优学习率和正则化强度
- 运用随机梯度下降去优化损失函数
- 可视化最后的学习得到的权重
线性SVM分类器
可以简单地认为,线性分类器给样本分类,每一个可能类一个分数,正确的分类分数,应该比错误的分类分数大.为了使分类器在分类未知样本的时候,鲁棒性更好一点,我们希望正确分类的分数比错误分类分数大得多一点.所以我们设置一个阈值 Δ Δ ,让正确分类的分数至少比错误分数大 Δ Δ ,这是我们期望的安全距离。这就得到了hinge损失函数.
Li=∑j≠yimax(0,Sj−Syi+Δ)(1) (1) L i = ∑ j ≠ y i m a x ( 0 , S j − S y i + Δ )
其中,
Li L i
表示第i个样本的loss函数.
Syi S y i
表示第i个样本正确分类的标签的分数,