CS231n简介
详见 CS231n课程笔记1:Introduction。
本文都是作者自己的思考,正确性未经过验证,欢迎指教。
作业笔记
Softmax的误差函数以及正则项请参考 CS231n课程笔记3.1:线性分类器(SVM,softmax)的误差函数、正则化。
代码部分请参考 python、numpy、scipy、matplotlib的一些小技巧。
注:这里只写了向量化的实现方法,因为非向量方法代码冗长,而且速度慢。
1. 损失函数Loss Function
这里值得注明的有
1. 使用了broadcasting来把sum_exp拓展到所有class label处;
2. 使用了integer array index用于得到真值处的log_loss;
3. 使用了average函数防止sum函数超范围;
4. 做除法的时候加上1e-15用于防止除0。
scores = X.dot(W)
exp_s