1. 程式人生 > >神經網路隱藏層節點數最少可以是多少個?

神經網路隱藏層節點數最少可以是多少個?

很顯然神經網路的節點數越少網路的迭代速度越快,那在保證準確率的前提下隱藏層節點數最少可以是多少個?本文搭建了一個81*n*2的神經網路通過改變n的值測量這個網路的隱藏層節點數量的極小值。

使用的訓練集和測試集是mnist的0和1,經過1/3的池化變成9*9的圖片,每個n值進行200批,每10批測量一次準確率。每批的batchsize是20個用放回取樣,每批迭代1000次。學習率是0.1,沒有偏置,啟用函式用sigmoid,並同時統計每批次的執行時間。

得到的資料


測量的資料表明對於這個81*n*2的網路的隱藏層節點數最小值可以是2,還是挺令人震驚的的,也就是81*2*2的網路就可以執行準確率可以達到93%和81*50*2的網路的效能差不多,但是時間只有81*50*2的0.076,也就是說用81*2*2的網路比81*50*2的網路可以省下92%的時間。

特別是隱藏層的節點數是2000時的耗時是2的耗時的554倍但是81*2000*2的準確率是93.4%和81*2*2的準確率93.1%,也差不多,每次運算多消耗了554倍的時間效能確沒有提升。

一個非常明顯的規律是當隱藏層節點數大於20個以後平均每節點耗時大約都是16.44ms左右的定值,也就是說當節點數大於20個以後網路的耗時基本上可以按照

耗時=n*16.44的公式算出來。

但是網路的效能確沒有增加,



所以可以按照耗時曲線找到拐點附近的點就是用時最少,同時效能也有保證的隱藏層節點數量。比如這道題就是20個節點左右耗時曲線的第5個點。

原始資料









相關推薦

神經網路隱藏節點最少可以是多少

很顯然神經網路的節點數越少網路的迭代速度越快,那在保證準確率的前提下隱藏層節點數最少可以是多少個?本文搭建了一個81*n*2的神經網路通過改變n的值測量這個網路的隱藏層節點數量的極小值。使用的訓練集和測試集是mnist的0和1,經過1/3的池化變成9*9的圖片,每個n值進行2

MLP神經網路 隱含節點的設定】如何設定神經網路隱藏 的神經元個數

神經網路 隱含層節點數的設定】如何設定神經網路隱藏層 的神經元個數 置頂 2017年10月24日 14:25:07 開心果汁 閱讀數:12968  

神經網路中隱和隱節點問題的討論

神經網路中隱層數和隱層節點數問題的討論 一 隱層數         一般認為,增加隱層數可以降低網路誤差(也有文獻認為不一定能有效降低),提高精度,但也使網路複雜化,從而增加了網路的訓練時間和出現“過擬合”的傾向。一般來講應設

BP單隱藏神經網路隱藏節點個數的取值

BP神經網路中隱藏層節點個數的取值有下面幾種方法: 第一種方法: 一個經驗公式: 其中為隱藏層節點數目,為輸入層節點數目,為輸出層節點數目,為之間的調節常數。 第二種方法: Kolmogorov定理確定隱藏層節點數: 柯爾莫哥洛夫(Kolmogorov)定理:

神經網路/多感知器(MLP)架構:選擇隱藏數量和大小的標準

隱藏層個數: 一個零隱藏層的模型可以解決線性可分資料。所以除非你早知道你的資料線性不可分,證明它也沒什麼壞處—為什麼使用比任務需求更困難的模型?如果它是線性可分的那麼一個更簡單的技術可以工作,感知器也可以。 假設您的資料確實需要通過非線性技術進行分離,則始終

網路中隱和隱節點問題的討論

一 隱層數一般認為,增加隱層數可以降低網路誤差(也有文獻認為不一定能有效降低),提高精度,但也使網路複雜化,從而增加了網路的訓練時間和出現“過擬合”的傾向。一般來講應設計神經網路應優先考慮3層網路(即有1個隱層)。一般地,靠增加隱層節點數來獲得較低的誤差,其訓練效果要比增加隱層數更容易實現。對於沒有隱層的神經

python構建bp神經網絡_鳶尾花分類(一個隱藏)__1.據集

data learn 9.png blog spa src 兩個 idt 數據 IDE:jupyter 目前我知道的數據集來源有兩個,一個是csv數據集文件另一個是從sklearn.datasets導入 1.1 csv格式的數據集(下載地址已上傳到博客園--

神經網路設定的數量和尺寸

神經網路七:神經網路設定層的數量和尺寸 本文就現在神經網路中層的數量和尺寸,分析其中的優缺點。在此特宣告,本文的內容是來自:CS231n課程筆記翻譯:神經網路筆記1(下) 智慧單元 - 知乎專欄。因本人有時會查閱這些相關的知識點,一直翻文件比較麻煩,特從文件中摘錄複製寫到部落格中

訓練神經網路中最基本的三概念和區別:Epoch, Batch, Iteration

epoch:訓練時,所有訓練資料集都訓練過一次。 batch_size:在訓練集中選擇一組樣本用來更新權值。1個batch包含的樣本的數目,通常設為2的n次冪,常用的包括64,128,256。 網路較小時選用256,較大時選用64。 iteration​:訓練時,1個batch訓練影象通過網路訓

關於LeNet-5卷積神經網路 S2與C3連線的引數計算的思考???

關於LeNet-5卷積神經網路 S2層與C3層連線的引數計算的思考??? 首先圖1是LeNet-5的整體網路結構圖 圖1 LeNet-5結構 該神經網路共有7層(不計輸入層),輸入影象大小為32×32。 層編號特點:英文字母+數字     &n

詳細解釋CNN卷積神經網路的引數和連線個數的計算

積神經網路是一個多層的神經網路,每層由多個二維平面組成,而每個平面由多個獨立神經元組成。        圖:卷積神經網路的概念示範:輸入影象通過和三個可訓練的濾波器和可加偏置進行卷積,濾波過程如圖一,卷積後在C1層產生三個特徵對映圖,然後特徵對映圖中每組的四個畫素再進行

詳細解釋CNN卷積神經網路的引數和連結個數的計算

卷積神經網路是一個多層的神經網路,每層由多個二維平面組成,而每個平面由多個獨立神經元組成。        圖:卷積神經網路的概念示範:輸入影象通過和三個可訓練的濾波器和可加偏置進行卷積,濾波過程如圖

卷積神經網路——輸入、卷積、啟用函式、池化、全連線

卷積神經網路(CNN)由輸入層、卷積層、啟用函式、池化層、全連線層組成,即INPUT(輸入層)-CONV(卷積層)-RELU(啟用函式)-POOL(池化層)-FC(全連線層) 卷積層 用它來進行特徵提取,如下: 輸入影象是32*32*3,3是它

利用TensorFlow使卷積神經網路及卷積特徵視覺化

# -*- coding: utf-8 -*-"""Created on Thu Apr 26 14:37:30 2018@author: Administrator"""#匯入所需要的庫import numpy as npimport tensorflow as tfimport matplotlib.py

[leetcode-二叉樹層次遍歷並統計每節點]--102. Binary Tree Level Order Traversal

Question 102. Binary Tree Level Order Traversal Given a binary tree, return the level order traversal of its nodes’ values. (ie

卷積神經網路基本知識

參考:https://blog.csdn.net/yjl9122/article/details/70198357卷積神經網路(CNN)由輸入層、卷積層、啟用函式、池化層、全連線層組成,即INPUT(輸入層)-CONV(卷積層)-RELU(啟用函式)-POOL(池化層)-FC

訓練神經網路中最基本的三概念:Epoch, Batch, Iteration

轉載地址:https://zhuanlan.zhihu.com/p/29409502 原作者:Michael Yuan 作者主頁:https://www.zhihu.com/people/mikeyuan 今天讓我們來總結下訓練神經網路中最最基礎的三個概念:Epoc

cnn 卷積神經網路介紹和典型神經網路

轉載:https://blog.csdn.net/cxmscb/article/details/71023576   原部落格附帶tensorflow cnn實現一、CNN的引入在人工的全連線神經網路中,每相鄰兩層之間的每個神經元之間都是有邊相連的。當輸入層的特徵維度變得很高

怎麼理解tf.nn,conv2d(卷積神經網路)的影象通道

其實"影象通道數"就是影象的xx,呵呵..,其實這裡的影象通道數其實是叫做“影象的色彩通道數”,還是來看例子理解吧! 如每一張圖片的大小為28*28*1,則表示圖片的大小為28*28的畫素,*1表示是黑白的,即為一個色彩通道 同理,28*28*3,則表示圖片的大小為28*2

機器學習:神經網路-多前饋神經網路淺析(附程式碼實現)

M-P神經元模型神經網路中最基本的組成成分:神經元模型。如下圖是一個典型的“M-P神經元模型”:上圖中,神經元接收到n個其他神經元傳遞過來的輸入訊號,這些訊號通過權重的連線進行傳遞,神經元接收到的總輸入值與神經元的閾值進行比較,並通過“啟用函式”處理產生神經元輸出。常用S函式