在前面的文章已经对神经网络的基本算法流程做了详细的介绍
机器学习(1)--神经网络初探
机器学习(10.4)--手写数字识别的不同算法比较(4)--神经网络
在这中间使用的就是QuadraticCost(二次方代价函数),其实在我们代码中并没有相关的代码,那这个所以的代价函数是什么?
在文章 机器学习(7)--梯度下降法(GradientDescent)的简单实现 使用的其实就是QuadraticCost
以下是原本我们训练单条记录时的代码,
def itemData(item,layers,weights,biases):
#开始正向计算
zs = []
acts = [item[0]]
for w,b in zip(weights,biases):
z = np.dot(w,acts[-1]) + b
zs.append(z)
acts.append(sigmoid(z))
#开始反向计算
item_w = [np.zeros(b.shape) for b in weights]
item_b