多类 SVM 的损失函数及其梯度计算

CS231n Convolutional Neural Networks for Visual Recognition —— optimization

1. 多类 SVM 的损失函数(Multiclass SVM loss)

在给出类别预测前的输出结果是实数值, 也即根据 score function 得到的 score( s=f(xi,W) ),

Li=jyimax(0,sjsyi+Δ),Δ=1

  • yi 表示真实的类别, syi 在真实类别上的得分;
  • sj,jyi 在其他非真实类别上的得分,也即预测错误时的得分;

则在全体训练样本上的平均损失为:

L=1Ni=1NLi

delta = 1
scores = np.dot(W, X)
correct_scores = scores[y, np.arange(num_samples)]

diff = score - correct_scores + delta
diff[y, np.arange(num_samples)] = 0

thresh = np.maximum(0, diff)
loss = np.sum(thresh)
loss /= num_samples

2. 优化(optimization):梯度计算

首先来看损失函数的定义,如下为第 i 个样本的损失值(Wc×dXd×N d 特征向量的维度,c:输出类别的个数):

Li==jyimax(0,sjsyi+1)jyi[max(0,wTjxiwTyixi+1)]

  • 遍历 j ,就是遍历 W 每一列的每一个元素, wTjxij=1,,c;i=1,,N
  • wTj 表示 W 的每一行,共 c 行;

下面的额关键是如何求得损失函数关于参数 wj,wyi 的梯度:

wyiLi=jyi1(wTjxiwTyixi+Δ>0)xiwjLi=1(wTjxiwTyixi+Δ>0)xijyi

binary = thresh 
binary[thresh > 0] = 1          # 实现 indicator 函数

col_sum = np.sum(binary, axis=0)
binary[y, np.arange(num_samples)] = -col_sum

dW = np.dot(binary, X.T)        # binary 维度信息:c*N, X 维度信息:d*N
dW /= N

dW += reg * W
  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
SVM(支持向量机)的损失函数和优化实现是通过最大化边际来实现的。SVM损失函数是基于Hinge Loss的,它衡量了正确分类和错误分类之间的边际。具体来说,对于每个样本,SVM计算其真实分类的分数和其他可能分类的分数之间的差距。如果这个差距小于一个预先设定的边际(通常为1),则认为这个样本被正确分类。如果差距大于边际,则认为这个样本被错误分类。 SVM的优化目标是找到一个能够最大化边际的超平面,使得正确分类的样本尽可能远离超平面,而错误分类的样本尽可能接近或超过边际。这可以通过求解一个凸优化问题来实现,其中目标是最小化损失函数和正则化项的和。正则化项用于控制模型的复杂度,以防止过拟合。 在优化过程中,可以使用梯度下降等优化算法来更新模型的参数,使得损失函数逐渐减小。通过迭代更新参数,最终可以得到一个能够最大化边际的超平面,从而实现对样本的分类。 总结起来,SVM损失函数是基于Hinge Loss的,通过最大化边际来实现对样本的分类。优化过程中使用梯度下降等算法来更新模型参数,使得损失函数逐渐减小,最终得到一个能够最大化边际的超平面。\[1\]\[2\] #### 引用[.reference_title] - *1* *2* *3* [Lecture2:损失函数及优化](https://blog.csdn.net/qq_41694024/article/details/128208185)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五道口纳什

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值