作业记录
svm
做作业最重要的三个部分:
-
scores
-
loss
-
grad
loss
对于训练集中的第i个样本, ,其中
,是为了书写简单。直观理解这个loss,就是scores中非正确类别的结果(
)大于了
就产生loss,意思这个loss的要求很严格,不光期望正确类别的scores最大,并且这个margin还要大于1。
grad
需要注意,只有非正确类别并且margin要大于指定值的scores才会产生梯度
[图片上传失败...(image-50f6dc-1573011043056)]
所以总结一下梯度的数学公式

需要注意对于正确类别的index对应的W的列向量,一个样本可能就产生好几次的梯度,是存在一个sum的
Softmax分类器
之前一直不理解softmax需要求什么导数,现在总算是有认识了
还是按照scores, loss, grad三步走
概率归一,得到样本关于各个类别的概率
实际实现中的技巧,一般我们会让scores减去最大值,防止溢出
很容易求解
[图片上传失败...(image-1a3f33-1573011043056)]
因为其中后面一项是固定的,针对真实类别需要减一
实际实现的时候使用花式索引即可实现
two layer net
计算图

其中主要是softmax和relu的导数,其他没什么问题
网友评论