前言
大家好,我是Kay,小白一个。以下是我完成斯坦福cs231n-assignment1-Softmax 这份作业的做题过程、思路、踩到的哪些坑、还有一些得到的启发和心得。希望下面的文字能对所有像我这样的小白有所帮助。
Softmax 与SVM 类似,区别只在于 SVM 使用的是一个 hinge loss 函数,而 Softmax 使用的是 cross-entropy loss 函数,应用思想与贝叶斯公式有异曲同工之处。
TODO1:完成两层循环的softmax
【思路】函数本身按着公式的步骤来就行:求出第i 张图片对应所有标签的分数然后做 e 取幂,把正确的标签分数当分子、分数总和做分母,最后做log 运算取负。
要注意一点的是!分母是e 取幂再总和的话,可能数值太大会爆掉,这里用到一个小技巧,分子分母同时减去同一个数(这里是减最大的数),分数仍然不变。
重复一遍:求Wx、减最大值、做e取幂、求总和、求分数、做 log 取负。
而求梯度dW,则要用到链式法则得到 dW = -X_yi + X_all
2018.7.21
上面的公式对了&#