权重,如何写成矩阵形式?
Weights, How to write it in matrix form?
在具有 sigmoid 激活函数的神经网络的反向传播中,
权重更新规则为:
NewWeight = OldWeight - alpha * D * A
其中 alpha 是学习率,A 是上一层的激活,
D = (Y - Y')Y'(1-Y') ;D = Error Minimization, delta
其中 Y = 给定值,Y' 由输出层在神经网络中计算
Y 在我的例子中是 4x1 = [0.3,0.2,0.4,0.1] 并且 Y' 的一个实例是 4x1= [0.2,0.1,0.1,0.2]
如何计算 D = (Y - Y')Y'(1-Y')
(Y-Y') = 4x1 and Y' = 4x1, and 1 <> 4 因此矩阵乘法是不可能的。另外 (1-Y') 是 4x1。
我如何乘以 {(Y - Y'),Y',(1-Y')} 以获得 D?如果我必须执行转置,我应该转置哪个矩阵以使净效果不变?
还是元素乘法?
确实是逐元素乘法。您需要将每个输出误差 (Y-Y') 乘以相应输出的导数 (w.r.t.the weights),即用于 sigmoid 激活的 Y'(1-Y')。将其视为 "corrected error signal"。所以,D * A 是一个向量外积,它会给你一个与权重大小相同的矩阵。
在具有 sigmoid 激活函数的神经网络的反向传播中,
权重更新规则为:
NewWeight = OldWeight - alpha * D * A
其中 alpha 是学习率,A 是上一层的激活,
D = (Y - Y')Y'(1-Y') ;D = Error Minimization, delta
其中 Y = 给定值,Y' 由输出层在神经网络中计算
Y 在我的例子中是 4x1 = [0.3,0.2,0.4,0.1] 并且 Y' 的一个实例是 4x1= [0.2,0.1,0.1,0.2]
如何计算 D = (Y - Y')Y'(1-Y')
(Y-Y') = 4x1 and Y' = 4x1, and 1 <> 4 因此矩阵乘法是不可能的。另外 (1-Y') 是 4x1。 我如何乘以 {(Y - Y'),Y',(1-Y')} 以获得 D?如果我必须执行转置,我应该转置哪个矩阵以使净效果不变?
还是元素乘法?
确实是逐元素乘法。您需要将每个输出误差 (Y-Y') 乘以相应输出的导数 (w.r.t.the weights),即用于 sigmoid 激活的 Y'(1-Y')。将其视为 "corrected error signal"。所以,D * A 是一个向量外积,它会给你一个与权重大小相同的矩阵。