svm的loss和梯度推导及代码
这个是svm的计算方式的数学实现,相信大家应该已经很熟悉了,svm算法就是对于每一个样本,计算其他不正确分类与正确分类之间的差距,如果差距大于delta那就说明差距大,需要进行进一步优化,所以对于每个样本,把这些差距加起来,让他们尽量小,这个就是svm的核心思想。
loss就很简单了,还是直接求和。
而梯度,求导相对于softmax就简单了很多,没有复杂的指数求导,我们发现对于w来说,还是一共有wj和wyi两个参数,分别对其求导,其中max函数在括号里面小于0的时候,梯度肯定等于0。接下来就是看大于0的时候,如下,很简单易懂。
代码块
对于naive算法,assignment上很友善的直接给出了,事实上应该先做svm在做softmax的,还是太年轻哈哈哈,可以看出代码大概跟我们的公式结果一样,如下:

本文详细介绍了支持向量机(SVM)的损失函数和梯度的数学推导,并提供了相应的代码实现。核心思想是最大化正确分类与错误分类之间的间隔,通过损失函数和梯度下降来优化模型。文中还讨论了向量化操作在SVM中的应用,包括得分矩阵的定义和如何处理正确类别得分。

1445

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



