在运行反向传播后计算神经网络的delta值时:
delta(1)的值将是一个标量值,它应该是一个向量吗?
更新:
摘自 http://www.holehouse.org/mlclass/09_Neural_Networks_Learning.html
回答:
首先,你可能已经了解到在每一层中,我们有 n x m
个需要学习的参数(或权重),这些参数形成了一个二维矩阵。
n 是当前层节点数加1(用于偏置)
m 是前一层节点数。
我们有 n x m
个参数,因为前一层和当前层之间的任意两个节点之间都有一个连接。
我非常确定,L层的Delta(大Delta)用于累积L层每个参数的偏导数项。因此,每层也有一个Delta的二维矩阵。要更新矩阵的第i行(当前层的第i个节点)和第j列(前一层的第j个节点),
D_(i,j) = D_(i,j) + a_j * delta_i
注意 a_j 是前一层第j个节点的激活值,
delta_i 是当前层第i个节点的误差
因此我们按比例累积它们的激活权重所对应的误差。
因此,回答你的问题,Delta应该是一个矩阵。