我用一个大型数据库进行了神经网络,并在测试时得到了很好的答案(非常小的错误 - 接近4%)。现在我想使用权重和偏差来推导出一个方程式,以便直接获得输出(不再使用该网络)。如何得出一个方程来得到我的输出?
答案 0 :(得分:1)
这取决于您使用的是哪种神经网络。 如果它是一个简单的前馈网络,那么您需要做的就是使用权重矩阵和偏置向量通过激活函数传播输入。
假设你有一个SLFN(单层前馈网络),这基本上意味着你有一个输入层,一个隐藏层和一个输出层。
让我们来表示:
计算输出的步骤是:
1 - 通过与隐藏图层的连接传播输入向量并添加偏见项。这为您提供了总输入 Z "输入"隐藏层(有时称为" logit"):
Z = X * W_ih + B
其中 B 是每行等于矢量 b 的矩阵,以及与输入情况一样多的行。
2 - 将激活功能应用于此logit:
Y_h = f(Z)= f(X * W_ih + B)
3 - 通过与输出图层的连接再次传播此向量,输出向量 Y 等于:
Y = Y_h * W_ho = f(X * W_ih + B)* W_ho
现在,如果您有更多隐藏图层,您只需要为每个其他隐藏图层重复步骤1和2,然后以输出图层的步骤3结束。