nndl1使用梯度下降算法进行学习

使用梯度下降算法进行学习

设计好神经网络的结构之后,它并不能进行任何任务,如mnist数据识别.
我们希望有一个算法,能让我们找到权重和偏置,以至于网络的输出y(x)能够拟合所有的训练输入x.
为了量化我们如何实现这个目标,我们定义一个代价函数:

这里w表示所有网络中权重的集合,b表示偏置项的集合.
为什么要引入这个代价函数呢?我们的目标原本是最大化正确分类的图像数量,但被正确分类的图像数量所关于权重和偏置的函数并不是一个平滑函数,所以引入一个类似二次代价的平滑代价函数更好的解决权重和偏置中微小改变带来的好处.