实际操作中,如果梯度下降的每一步,都用上每一个训练样本来计算的话,那么花的时间就太长了,所有我们一般会这么做,首先把训练样本打乱,然后分成很多组mininbatch,每个minibatch就当包含100给训练样本好了,然后你算出这个minibatch下降的一步,这不是代数函数真正的梯度,毕竟计算真实梯度得用上所有的样本而非这个子集,所有这也不是下山最高效的一步,然而每个minibatch都会给你一个不错的近似,而且更重要的是,你的计算量会减轻不少,这个技巧就叫做“随机梯度下降”
反向传播算法算的是单个训练样本想怎样修改权重与偏置,不仅是说每个参数应该变大还是变小,还包括了这些变化的比例是多大,才能最快地降低代价
反向传播算法在内所有包括神经网络在内的机器学习,要让它们工作,我们需要大量的训练数据,我们用的这个手写数字的范例之所以方便,是因为存在着一个MNIST数据库
所有机器学习领域的人,最熟悉的一个难关,莫过于获取标记好的训练数据