如何配置神經網絡中的層數和節點數
如何配置神經網絡中的層數和節點數
資料來源:http://www.atyun.com/25874.html
閱讀這篇文章後,你會知道:
●單層和多層感知器網絡之間的區別。
●在網絡中擁有一個和多個隱藏層的價值。
●配置網絡中的層數和節點數的五種方法。
讓我們開始吧。
◎多層感知器
節點,也稱為神經元或感知器,是具有一個或多個權重輸入連接的計算單元,它以某種方式連接輸入的轉移函數,並且連接輸出。然後將節點組織成層以構成網絡。
-單層人工神經網絡,也簡稱為單層,顧名思義,具有單層節點。單層中的每個節點直接連接到輸入變量並提供輸出變量。
-MLP中層的類型
→輸入層:輸入變量,有時稱為可見層。
→隱藏層:輸入和輸出層之間的節點層。這些層可能存在一個或多個。
→輸出層:生成輸出變量的節點層。
◎要使用多少層和節點?
1)實驗
2)直覺
3)去深度
4)借用思想
5)搜索
結論:問天
5 thoughts on “如何配置神經網絡中的層數和節點數”
神經網路
層數
神經元 個數 (數量)
自己初始化公式: 三層 – in, [ in*2 ],out
PS:失敗就先調高中間層數量
自己初始化公式: 三層 – in, [ in*2+out-1 ],out
當out>1 & in<10
C++類神經網路簡易範例(兩個XOR運算)-codeblocks Back-propagation Neural Net[CB_BPN_CPP]
原始碼: https://github.com/jash-git/codeblocks-Back-propagation-Neural-Net-CB_BPN_CPP-
原文 神經元&層數配置
int numLayers = 4, lSz[4] = {3,3,3,1};
double beta = 0.2, alpha = 0.1, thresh = 0.00001;
long num_iter = 500000;
自己修改(01) 神經元&層數配置
int numLayers = 4, lSz[4] = {3,3,2,1};
double beta = 0.3, alpha = 0.1, Thresh = 0.00001;
long num_iter = 2000000;
自己修改(02) 神經元&層數配置
int numLayers = 3, lSz[3] = {3,6,1};
double beta = 0.1, alpha = 0.1, Thresh = 0.000001;
long num_iter = 100000000;
七段顯示轉二進位
IN: 7
OUT:4
HIDE: 7*2+(4-1)=17
double beta = 0.1, alpha = 0.1, error = 0.0001;
MaxLoop=100000000
二進位轉七段顯示
IN: 4
OUT:7
HIDE: 4*4+(7-1)=22
double beta = 0.1, alpha = 0.1, error = 0.0001;
MaxLoop=100000000
火影網路流傳笑話 ~ 如果有一個問題用一個影分身 / 一個血輪眼 / 一個螺旋丸 解決不了,那就持續增加 影分身 / 血輪眼 / 螺旋丸 數量,就一定沒有不能解決的問題
同理 ~ 如果有一個問題用三層倒傳遞類神經網路解決不了,那就持續增加中間隱藏層神經元數量,最後一定沒有不能解決的問題