簡體   English   中英

如何計算神經網絡的輸出?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM