需要帮助翻译python代码(与Numpy)到Matlab等效

2024-06-16 10:36:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在研究一个XOR神经网络,它使用一个S形激活函数。 我有一个工作的python代码,但我需要将其中一行翻译成MATLAB可以理解的代码。我查阅了NumPy的文档,知道它有自己的数组操作符。我只是无法为dH构建一个工作的MATLAB等价物。这部分在显式for循环中。 dZ = E * sigmoid_(Z) # delta Z dH = dZ.dot(Wz.T) * sigmoid_(H) # delta H

一个解释也能帮助我进一步理解。如果我的完整代码是必需的,不要犹豫问,但我知道它将不需要。你知道吗


Tags: 函数代码文档numpyfor神经网络数组dot
2条回答

在Matlab中

    dZ = E * sigmoid_(Z)                        # delta Z
    dH = dZ.dot(Wz.T) * sigmoid_(H)             # delta H

dZ使用矩阵积(点积)

Matlab:a*b 矩阵乘(a,b)

dH项可以用np.dot公司 但有时Matlab点积:

Vector dot product, u · v dot(u,v) dot(u,v)

与您的:

dZ.dot(Wz.T)

在python中,这很可能等于

dot(W.T,dZ)

通常创建一个函数,用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])

资料来源:https://de.mathworks.com/help/matlab/math/choose-an-ode-solver.html?requestedDomain=www.mathworks.com

相关问题 更多 >