assignment 1

2019-11-06  本文已影响0人  霍尔元件

作业记录

svm

做作业最重要的三个部分:

loss

对于训练集中的第i个样本,L_i = \sum_{j\ne y_i} max(0, f_j - f_{y_i} + 1) ,其中f=scores,是为了书写简单。直观理解这个loss,就是scores中非正确类别的结果(f_j)大于了f_{y_i}-1就产生loss,意思这个loss的要求很严格,不光期望正确类别的scores最大,并且这个margin还要大于1。

grad

需要注意,只有非正确类别并且margin要大于指定值的scores才会产生梯度

[图片上传失败...(image-50f6dc-1573011043056)]

所以总结一下梯度的数学公式

image

需要注意对于正确类别的index对应的W的列向量,一个样本可能就产生好几次的梯度,是存在一个sum的

Softmax分类器

之前一直不理解softmax需要求什么导数,现在总算是有认识了

还是按照scores, loss, grad三步走

scores = X^TW + b

p_{j}=\frac{exp(f_j)}{\sum_{k} {exp(f_k)}}= \frac{exp(w_j^T x)}{\sum_{k} {exp(w_k^Tx)}} 概率归一,得到样本关于各个类别的概率

实际实现中的技巧,一般我们会让scores减去最大值,防止溢出

loss_i = -log(p_{y_i})=-f_j + log(\sum_{k} exp(f_k))

dw_k很容易求解

[图片上传失败...(image-1a3f33-1573011043056)]

因为其中后面一项是固定的,针对真实类别需要减一

实际实现的时候使用花式索引即可实现

two layer net

计算图

image

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

上一篇 下一篇

猜你喜欢

热点阅读