准备工作
使用MNIST数据集作为训练和测试。 训练输入x:784维向量,图像中每一个像素的灰度值作为一个特征。 训练输出y:10维向量。例如代表x对应的数字是6。 损失函数:
\begin{eqnarray} C(w,b) \equiv
\frac{1}{2n} \sum_x \| y(x) - a\|^2.
\tag{6}\end{eqnarray}
其中,n为训练样本数,a为x的预测结果。 算法目标:找到合适的w,b,使C(w,b)达到最小。
自问自答
为什么使用损失函数评价算法的好坏?为什么不直接使用正确分类的数量作为评价算法的好坏?
答:我们希望w,b的小小改变会导致结果的小小改变,这是学习的前提。
后者的评价方法对应的函数不是平滑函数,有可能w,b做了小小改变,而结果没有改变,那么算法就不知道该如何调整参数。
损失函数是平滑函数,可能通过w,b的结果不断调整改进。
平滑函数有很多,为什么要使用公式(6)是的二次函数?
不同的平滑函数有会不同的效果。公式(6)的二次函数效果非常好,就一直用它了。
Last updated