1

我第一次學習神經網絡。我試圖瞭解如何使用單個隱藏層函數逼近可以執行。我在stackexchange上看到this example,但我在通過one of the answers後遇到了一些問題。神經網絡中的函數逼近(比如說正弦)如何真正起作用?

假設我想要近似0到3.14弧度之間的正弦函數。那麼我會有1個輸入神經元嗎?如果是這樣,那麼接下來如果我假設隱藏層中的K個神經元,並且每個神經元都使用一個S形傳遞函數。然後在輸出神經元(如果它只是使用來自隱藏層的結果的線性和)如何輸出可以是S形以外的東西?線性和不應該是S形嗎?或者簡言之,在神經網絡中如何使用這種架構來近似正弦函數。

回答

3

這是可能的,它被正式表述爲universal approximation theorem。它適用於任何非恆定的,有界和單調增加連續激活功能

我居然不知道正式的證據,但得到一個直觀的想法,這是可能的,我建議以下章節:A visual proof that neural nets can compute any function

它表明,在足夠隱藏的神經元和正確的參數下,您可以創建階梯函數作爲隱藏層的總和輸出。使用步進函數很容易爭論如何粗略地近似任何函數。現在爲了得到最終的輸出正確的隱藏層的總和必須是activation function inversed ,因爲最後的神經元然後輸出:final output formula。正如已經說過的那樣,我們至少能夠以一定的準確度來近似這一點。

+0

謝謝。第二個鏈接非常有幫助。我意識到我沒有考慮到我必須在隱藏層的每個神經元內分別添加偏見。 – Durin

+1

不客氣。 :)另一種實現偏差的方法是創建一個總是輸出1的虛擬輸入神經元,隱含層神經元對該虛擬神經元具有的權重是該神經元的偏差。 –