[英]How do I calculate output of a Neural Network?
大约一周前,我刚刚开始学习人工神经网络,没有接受经典训练。 仅仅通过观看视频和阅读博客/白皮书,我已经走到了这一步。
我对 ANN 的最终输出有疑问。
举例来说,我正在构建一个具有两个输入节点的 XOR,一个隐藏层中的 3 个节点和输出层中的一个节点。 一个 2 x 3 x 1。
首先,我想确保我的第一部分是正确的。
因此,对于隐藏层中的每个节点,每个节点都有一个与其关联的权重,如果隐藏层中有 5 个节点,则输入节点将计算其输入并将其乘以与隐藏层中每个节点关联的权重。
因此,要计算第一个节点的 sigmoid,您将获取所有输入并将其乘以权重(没有 + 表示偏差),然后将 sigmoid 函数应用于输入 * 权重的总和。 然后我们将用 sigmoid 压缩该值并得到 0.5866175789173301。
本质上,它是 (1 x .25) + (1 x .10) = .35。
现在,我只为每个节点执行此操作 3 次,并得到 3 个压扁的数字。
// (input1 * HiddenNode(x)Weight) + (input2 * HiddenNode(x)Weight)
activationFunction((1 * .25) + (1 * .10)) // 0.5866175789173301
activationFunction((0 * .40) + (1 * .60)) // 0.6456563062257954
activationFunction((1 * .20) + (0 * .80)) // 0.549833997312478
现在根据我的理解,我再次总结并压缩这些答案:
activationFunction(hidden1 + hidden2 + hidden3) // 0.8559569515861635
到目前为止我是否正确?
我的问题是,如果你用两个比例数字来预测成绩,89 和 6.5 =(成绩/睡眠小时数)
您将如何计算从 .8559 到 93 之类的数字的输出并计算该值的误差? 除了偏见,我还缺少什么吗?
如果我输入了最近 3 次股价变动的变动百分比,并且我想让它猜测第四个价格,我将如何转换这样的答案:
activationFunction(hidden1 + hidden2 + hidden3) // 0.8559569515861635
0.10(股票价格的百分比变化)或任何其他现实世界的答案?
提前致谢!
不像人们提到的。 输入不应二进制。 它们应该在某个范围之间(对于 sigmoid 为0,1
,对于 TanH 为-1,1
)。
在第一部分,如果您不考虑偏见,您就完全正确。
// Completely right, each hidden node gets input from 2 input nodes
activationFunction((1 * .25) + (1 * .10)) // 0.5866175789173301
activationFunction((0 * .40) + (1 * .60)) // 0.6456563062257954
activationFunction((1 * .20) + (0 * .80)) // 0.549833997312478
// However, all the hidden nodes are connected the output node
output = activationFunction((0.59 * weight1) + (0.64 * weight2) + (0.55 * weight3))
永远记住,节点只能通过连接连接到其他节点,连接总是有权重的。
我的问题是,如果你用两个比例数字来预测成绩,89 和 6.5 =(成绩/睡眠小时数)
首先,您缩放输入( 在此处阅读更多内容):
89 > 0.89
6.5 > 6.4 / 24 = 0.27
因此,如果您获得的新成绩是 100,而您的输出是0.8559
那么您的输出节点上的错误是1.00 - 0.8559 = 0.1441
。 然后你通过网络反向传播这一点,但我不适合为你解释这一点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.