2012-07-26 63 views
20

我剛開始編程神經網絡。我目前正在研究Backpropogation(BP)神經網絡如何工作。雖然BP網絡訓練算法非常簡單,但我無法找到關於算法工作原理的任何文本。更具體地說,我正在尋找一些數學推理來證明在神經網絡中使用S型函數是合理的,並且是什麼使他們模仿幾乎所有的數據分佈。爲什麼sigmoid函數在神經網絡中工作?

謝謝!

回答

23

sigmoid函數在網絡中引入了非線性。沒有非線性激活功能,網絡只能學習其輸入線性組合的函數。結果被稱爲universal approximation theoremCybenko theorem,之後在1989年證明了它的先生。Wikipedia是一個很好的開始,它有一個鏈接到原始論文(證明有點牽扯雖然)。你使用sigmoid而不是其他的東西的原因是它是連續的,可微分的,它的導數計算速度很快(與tanh的導數相反,它具有相似的性質)並且有一個有限的範圍(從0到1,獨家)

+1

好的答案,但「持續(因此可微)」的假設不成立。例如:abs(x)在零處連續但不可微分。 – Michael 2014-09-24 00:42:55

+0

是的,編輯我的回答 – mbatchkarov 2014-09-24 09:03:42

+1

維基百科文章說這個,雖然:「庫爾特Hornik在1991年表明,它不是激活函數的具體選擇,而是多層前饋架構本身,它給予神經網絡的潛力通用逼近器,輸出單元總是假定爲線性的。「* 事實上,它似乎沒有提到需要非線性激活功能的任何內容。但是,這個定理的形式陳述確實會說「非恆定的,有界的,單調遞增的連續函數」 - 也許*有界*和單調部分意味着非線性? – Desty 2014-11-04 15:05:22