我想要開始使用神經網絡並實現像AND/OR這樣的布爾函數。 而不是使用0和1作爲二進制輸入,它們使用-1和+1。我們爲什麼不能使用(0,1)是否有原因? 舉例:http://www.youtube.com/watch?v=Ih5Mr93E-2c爲什麼我們有-1和+1作爲二進制輸入而不是0和1
0
A
回答
1
在大多數情況下,沒有區別。只需使用邏輯功能激活而不是tanh
。在一些特殊的形式中,例如Ising模型,它可以非平穩地改變參數空間。
2
如果你真的想要輸入,使用{-1,1}
沒有限制。您可以輕鬆使用{0,1}
或其他任何實數對(例如{6,42}
)來定義True/False輸入值。
圖表中可能令您困惑的是{-1,1}
被用作神經元的輸出。正如@Memming所說,其原因是因爲神經元所使用的激活功能。如果tanh
用於激活功能,神經元的輸出將在(-1,1)範圍內,而如果使用logistic function,則其輸出將在(0,1)範圍內。要麼將爲多層感知器工作 - 您只需相應地定義目標值(預期輸出)即可。
相關問題
- 1. 爲什麼在二進制補碼(-1 >> 1)== -1而不是0?
- 2. 爲什麼-1 >> 1是-1?而1 >> 1是0!
- 3. 爲什麼(1 + 1)和1返回1而不是2?
- 4. 爲什麼retainCount是0而不是1?
- 5. 爲什麼對於[0]而不是-1輸出爲0?
- 6. 爲什麼返回-1而不是0?
- 7. 爲什麼0 && 1是1,而1 && 0在紅寶石中是0?
- 8. C99 - 爲什麼將false和true定義爲0和1,而不是((bool)0)和((bool)1)?
- 9. 爲什麼UIView alpha動畫從1變爲0而不是0到1?
- 10. 替換二進制形式0-> 1和1-> 0值 - perl
- 11. 爲什麼〜0是-1?
- 12. Qt4和MySQL5 - 作爲二進制數據綁定QByteArray「1:1」
- 13. 陣列實爲二進制(0/1)
- 14. 爲什麼trunc(1)輸出爲0?
- 15. 爲什麼輸出下面的代碼1而不是0?
- 16. 該程序的輸出似乎打印'5 0 1'而不是'5 1 1'。我無法弄清楚爲什麼?
- 17. 爲什麼爲(;;)而不是while(1)?
- 18. 爲什麼需要if(0)和if(1)
- 19. 解釋爲什麼X = =〜(〜X + 1)+ 1(二進制補碼和背部!)
- 20. 爲什麼我的數組搜索返回0而不是1?
- 21. 爲什麼'0'+ 1或'1'+ 1導致不同的數字?
- 22. 爲什麼2 + 1&0結果是0?
- 23. 紅寶石爲什麼0 || 1是0
- 24. 爲什麼1/inf == 0但是1/0!= inf?
- 25. 爲什麼第一個循環結果爲0而不是1?
- 26. abolish/1和retractall/1有什麼不同?
- 27. erlang,'catch 1 = 0'和'(catch 1 = 0)'有什麼區別?
- 28. 爲什麼0 + 1 == 49?
- 29. 將1和0的字符串轉換爲二進制文件
- 30. 生成長度爲n,等於1和0的二進制數
請看這裏http://www.faqs.org/faqs/ai-faq/neural-nets/part2/,搜索'主題:爲什麼不把二進制輸入編碼爲0和1? ' –