我正在使用XOR神经网络,它使用Sigmoid激活功能。
我有一个工作的python代码,但我需要将其中一行转换为MATLAB理解的代码。我查阅了NumPy上的文档,我知道它有自己的数组运算符。我不能把dH
的MATLAB等效工具放在一起。这部分是明确的for循环。
dZ = E * sigmoid_(Z) # delta Z
dH = dZ.dot(Wz.T) * sigmoid_(H) # delta H
解释也有助于我进一步理解。如果需要我的完整代码,请不要犹豫,但我知道不需要。
答案 0 :(得分:1)
通常你创建一个从Z和H计算(dZ,dH)的函数。使用y =(Z,H):
function dy = myODE(t,y)
dy(1) = E * sigmf_(y(1), [a b])
dy(2) = dy(1).dot(W*y(1).T) * sigmf_(y(2), [a b])
答案 1 :(得分:0)
在Matlab中
dZ = E * sigmoid_(Z) # delta Z
dH = dZ.dot(Wz.T) * sigmoid_(H) # delta H
dZ使用Matrix产品(点积)
Matlab:a * b MatrixMultiply函数(A,B)
dH术语可以使用np.dot重现 但有时Matlab点产品:
Vector dot product, u · v dot(u,v) dot(u,v)
vs你的:
dZ.dot(Wz.T)
在python中这可能等于
dot(W.T,dZ)