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)Li=∑j≠yimax(0,Sj−Syi+Δ)
其中,
LiLi
表示第i个样本的loss函数.
SyiSyi
表示第i个样本正确分类的标签的分数,

这篇博客详细介绍了斯坦福大学CS231n课程作业中关于多类支持向量机(SVM)的实现过程。内容包括使用Python环境配置、CIFAR-10数据集的加载与预处理、线性SVM分类器的构建、损失函数的向量化实现、梯度验证、随机梯度下降法优化、超参数调整以及权重可视化。博主通过完成作业实践,探讨了SVM在10类图像分类问题上的应用,并分享了对SVM权重的理解。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



