萌主天下无敌提示您:看后求收藏(350中文350zw.com),接着再看更方便。
x表示一个训练样本,即网络的输入。其实一个x代表784个输入。
y表示当输入为x的时候,期望的输出值;而a表示当输入为x的时候,实际的输出值。y和a都分别代表10个输出值。而它们的差的平方,就表征了实际输出值和期望输出值的接近程度。越接近,这个差值就越小。
n是训练样本的数量。假设有5万个训练样本,那么n就是5万。因为是多次训练,所以要除以n对所有训练样本求平均值。
C的表示法,是把costfunction看成是网络中所有权重w和偏置b的函数。为什么这样看呢?进行训练的时候,输入x是固定的,不会变。在认为输入不变的情况下,这个式子就可以看成是w和b的函数。那么,式子右边的w和b在哪呢?实际上,在a里面。y也是固定值,但a是w和b的函数。
总结来说,C表征了网络的实际输出值和期望输出值的接近程度。越接近,C的值就越小。因此,学习的过程就是想办法降低C的过程,而不管C的表达形式如何,它是w和b的函数,这就变成了一个求函数最小值的最优化问题。
由于C的形式比较复杂,参数也非常多,所以直接进行数学上的求解,非常困难。
为了利用计算机算法解决这一问题,计算机科学家们提出了梯度下降算法。
这个算法本质上是在多维空间中沿着各个维度的切线贡献的方向,每次向下迈出微小的一步,从而最终抵达最小值。