神经网络中如何确定隐藏层的层数和大小 - 51CTO博客
文章推薦指數: 80 %
在前馈神经网络中,隐藏层的数量和层数的确定尚无依据,一般是由经验决定。
... 对于这样要靠两个方向的直线才能分开的这样想:一个神经元只能学习 ...
神经网络中如何确定隐藏层的层数和大小
关注
LolitaAnn
赞
收藏
评论
分享
微博
QQ
微信
文章目录
第1章
二分类问题
第2章
隐藏层数量
第3章
多分类
神经网络中如何确定隐藏层的层数和大小
原创
LolitaAnn
2022-03-3000:01:37
©著作权
文章标签
二分类
多分类
d3
文章分类
深度学习
人工智能
51CTO博主之星评选
©著作权归作者所有:来自51CTO博客作者LolitaAnn的原创作品,请联系作者获取转载授权,否则将追究法律责任神经网络中如何确定隐藏层的层数和大小https://blog.51cto.com/Lolitann/5160316
在前馈神经网络中,隐藏层的数量和层数的确定尚无依据,一般是由经验决定。
查阅了大量相关的文章之后我对其进行了综合梳理。
这里需要明确的一点是,这些只是根据经验提出的一些参考的方法,具体的层数和大小还是要在实际实验中进行验证。
在此之前我们还需要理解一点,就是当我们神经元足够多,隐藏层足够多的时候我们甚至能完美拟合所有的点,但是也会带来过拟合的问题。
因此我们要把握一个适中的度。
二分类问题
方法出自:BeginnersAsk“HowManyHiddenLayers/NeuronstoUseinArtificialNeuralNetworks?”^[BeginnersAsk“HowManyHiddenLayers/NeuronstoUseinArtificialNeuralNetworks?”]
对于二分类比较好理解。
但是我对这个方法持保留态度。
先看下边这两类,我们只需要一条斜线就可以完成映射。
所以不需要隐藏层,直接input到output即可。
对于这样要靠两个方向的直线才能分开的这样想:一个神经元只能学习一条方向的直线,所以两个方向需要两个神经元,最后把两个方向的神经元拼起来获得最后的分割线。
以此类推,第一个隐藏层学到单方向的直线,第二个隐藏层将两条线拼接,以此类推直到最后都拼接起来。
但是对于这个我存在一个疑问,二分类问题本来就很简单了,需要那么多层隐藏层吗?我觉得根本没必要那么多层隐藏层。
虽然从理论上说,层数越多拟合函数越强,但是实际上更深的层数可能会带来过拟合的问题,同时也会增加训练难度,使模型难以收敛。
隐藏层数量
从上边我们可以得到一个结论:在神经网络中,当数据需要非线性分离的时候才需要隐藏层。
什么是线性?^[《线性代数的几何意义》任广千]
对于隐藏层的层数我找到一个说法:
Table:DeterminingtheNumberofHiddenLayers^[HeatonResearch:TheNumberofHiddenLayers]
NumHiddenLayers
Result
none
Onlycapableofrepresentinglinearseparablefunctionsordecisions.
1
Canapproximateanyfunctionthatcontainsacontinuousmappingfromonefinitespacetoanother.
2
Canrepresentanarbitrarydecisionboundarytoarbitraryaccuracywithrationalactivationfunctionsandcanapproximateanysmoothmappingtoanyaccuracy.
\>2
Additionallayerscanlearncomplexrepresentations(sortofautomaticfeatureengineering)forlayerlayers.
翻译过来就是:
没有隐藏层:仅能表示线性可分离函数或决策。
1可以近似任何包含从一个有限空间到另一个有限空间的连续映射的函数。
2可以使用有理激活函数将任意决策边界表示为任意精度,并且可以将任何平滑映射近似到任何精度。
\>2可以学习的复杂特征。
多分类
如果二分类可以按照上述方法进行计算,那多分类如何搞?
现在比较常见的方法是根据输入层和输出层的大小进行估算。
现在假设:
输入层大小为$n$
输出层分为$m$类
样本数量为$s$
一个常数$c$
常见的观点有隐藏层数量$h$:
$h=\frac{s}{c(n+m)}\quadc\in[2,10]$
$h=\sqrt{n+m}+c\quadc\in[1,10]$
$h=\sqrt{nm}$
$h=\log_2n$
$h=1.5*n$
$h=1.5*(n+m)$
$h<2n$
……
还有一些其他的观点但是我个人不太同意:
$min(m,n)
这不是个例,通常在CNN中都是使用先增大后减小的隐藏层数量,并且隐藏层的大小都大于$max(n,m)$。
我是萝莉安,我好忙。
:cry:
赞
收藏
评论
分享
微博
QQ
微信
举报
上一篇:一个MATLAB分类模型的入门例子#51CTO博主之星评选#
下一篇:一文搞懂决策树!#51CTO博主之星评选#
举报文章
请选择举报类型
内容侵权
涉嫌营销
内容抄袭
违法信息
其他
具体原因
包含不真实信息
涉及个人隐私
原文链接(必填)
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M
取消
确认
已经收到您得举报信息,我们会尽快审核
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
全部评论
(0)
最热
最新
相关文章
初学者想问:人工神经网络中要使用多少隐藏层、多少隐藏单元?
对于这个问题我之前查阅了各种文章写了个精简的综合版,可以看这里:神经网络中如何确定隐藏层的层数和大小(https://blog.51cto.com/Lolitann/5160316),本文主要是对当是的一个参考文章进行翻译。
正文人工神经网络...
感知机
神经网络
人工神经网络
如何配置神经网络中的层数和节点数
向AI转型的程序员都关注了这个号?大数据挖掘DT机器学习公众号:datayx相关文章:人工神经网络有两个重要的超参数,用于控制网络的体系结构或拓扑:层数和每个隐.
数据
神经网络
感知器
数据集
时间序列
具有单隐藏层的二分类神经网络
搭建神经网络我们要搭建的神经网络模型如下图构建神经网络的一般方法是:1.定义神经网络结构(输入单元的数量,隐藏单元的数量等)。
2.初始化模型的参数3.循环实施前向传播计算损失实现向后传播更新参数...
深度学习
数据
神经网络
数据集
梯度下降
神经网络与机器学习笔记—核方法和径向基函数网络(下)
径向基函数(RBF)网络结构,基于产值理论输入层,由m0个源节点组成,其中m0是输入向量x的维数。
隐藏层,由和训练样本的大小N相同个数的计算单元组成,每个单元都从数学上用一个径向基函数描述:.
基函数
数据
插值
卷积神经网络的卷积核大小、个数,卷积层数如何确定呢?
向AI转型的程序员都关注了这个号?大数据挖掘DT机器学习公众号:datayx卷积神经网络的卷积核大小、卷积层数、每层map个数都是如何确定下来的呢?看到有些答案.
卷积
卷积核
预处理
过拟合
深度学习
吴裕雄python神经网络——TensorFlow训练神经网络:不使用隐藏层
importtensorflowastffromtensorflow.examples.tutorials.mnistimportinput_dataINPUT_NODE=784#输入节点OUTPUT_NODE=10#输出节点BATCH_SIZE=100
git
损失函数
tensorflow
初始化
反向传播
6、构建具有隐藏层得2类分类神经网络
目标:构建具有单隐藏层的2类分类神经网络。
使用具有非线性激活功能激活函数,例如tanh。
计算交叉熵损失(损失函数)。
实现向前和向后传播。
一、准备软件包numpy:是用Python进行科学计算的基本软件包。
sklearn:为...
数据
神经网络
初始化
数据集
梯度下降
浅层神经网络
我们能看到输入值,也能看到输出值,但是隐藏层的值我们是无法看到的之前我们利用x来表示输入特征,现在我们也可以使用来表示,它意味着网络中不同层的值会传递给后面的层输入层将x的值传递给.
神经网络
激活函数
初始化
向量化
梯度下降
单隐藏层的神经网络
导入所需库importnumpyasnpfromsklearn.model_selectionimporttrain_test_splitfromsklearn.metricsimportmean_squared_error初始化参数definit_(n_x,n_h,n.
神经网络
神经网络隐含层的物理意义
本文解释了神经网络隐含层的物理意义
神经网络
隐藏层
Softmax回归
神经网络结构设计指导原则——输入层:神经元个数=feature维度输出层:神经元个数=分类类别数,默认只用一个隐层如果用多个隐层,则每个隐层的神经元数目都一样
神经网络结构设计指导原则http://blog..net/ybdesire/article/details/52821185http://blog..net/ybdesire/article/details/52821185下面这个神经网络结构设计指导原则是Andr
机器学习
深度学习
神经网络
.net
神经网络BP算法C和python代码
详BP原理和神经网络的相关知识,请参阅:神经网络和反向传播算法推导首先是前向传播的计算:输入:首先为正整数n、m、p、t,分别代表特征个数、训练样本个数、隐藏层神经元个数、输出层神经元个数。
当中(1#include#...
i++
神经网络
权值矩阵
#define
#include
【树叶识别】基于matlabPNN神经网络树叶类别【含Matlab源码798期】
一、简介1概述1.1模式分类的贝叶斯决策理论2概率神
matlab
神经网络
深度学习
数据
matlab图像处理
TF之DNN:TF利用简单7个神经元的三层全连接神经网络【2-3-2】实现降低损失到0.000以下
TF之DNN:TF利用简单7个神经元的三层全连接神经网络实现降低损失到0.000以下(输入、隐藏、输出层分别为2、3、2个神经元)目录输出结果实现代码输出结果实现代码#-*-coding:utf-8-*-importtensorflowastfimport...
TF
人工智能
【手写数字识别】基于matlabGUIRBM神经网络手写数字识别【含Matlab源码1109期】
一、简介1RBM模型结构玻尔兹曼机是一大类的神经网络模型,但是在实际...回到RBM的结构,它是一个个两层的神经网络,如下图所示:上面一层神经元组成隐藏层(hiddenlayer),用h向量隐藏层神经元的值。
下面一层的神经元
概率分布
激活函数
手写体
数字识别
matlab图像处理
【机器学习基础】三层神经网络
本文介绍了传统的三层神经网络模型,首先介绍了网络中的神经单元概念,将一个神经单元视为一个逻辑回归模型。
因此,神经网络可以看作是逻辑回归在(宽度,深度)上的延伸;然后,前向传播是一个复合函数不断传播的...
神经网络
激活函数
损失函数
深度学习
感知机
LolitaAnn
关注
私信
近期评论
MapReduce#yyds干货盘点#
大佬就是大佬,可望不可及,给你三连分享了,互关吗???
LabelSemanticAwarePre-trainingforFew-shotTextClassification
我理解了。
是为了说明效果提升不是因为测试集在训练集中出现过是吧。
非常感谢。
ApproximateGraphPropagation
好
一文搞懂决策树!#51CTO博主之星评选#
大佬写的真好,互粉一波
简洁实现RNN循环神经网络#51CTO博主之星评选#
收藏并分享了,互关吗?大佬
近期文章
1.MapReduce#yyds干货盘点#
2.Paxos算法推导详解|BasicPaxos
3.PageRank算法简介
4.别出心裁!不用负样本的对比学习
5.对比学习之UnsupervisedLearningofVisualFeaturesbyContrastingClusterAssignments
热门文章
图解transformer
初学者想问:人工神经网络中要使用多少隐藏层、多少隐藏单元?
学术党必备:Zotero一键导出BibTex参考文献
ApproximateGraphPropagation
诸神黄昏时代的对比学习
热评好文
一文搞懂决策树!#51CTO博主之星评选#
LabelSemanticAwarePre-trainingforFew-shotTextClassification
你这公式功能保熟吗?#聊一聊WuKong编辑器#
ApproximateGraphPropagation
简洁实现RNN循环神经网络#51CTO博主之星评选#
七日热门
深度学习学习——股票深度学习模型
【深度学习】深度学习之LSTM
【深度学习】深度学习相关网站
读深度学习《深度学习简介》
【深度学习】深度学习为何“deep”
深度学习的深度学习路程
深度学习教程|深度学习概论
深度学习学习——
机器学习之深度学习---深度学习之我见
深度学习——05、深度学习框架Caffe
相关标签
全部
cnn卷积神经网络输入层
opencv中的神经网络
python中的神经网络模块
python中神经网络的代码
python和matlab神经网络
python的神经网络
python神经网络二层隐藏层
tensorflow和神经网络的关系
卷积神经网络输入层
卷积神经网络全连接层
文章目录
第1章
二分类问题
第2章
隐藏层数量
第3章
多分类
签到领勋章
返回顶部
51CTO博客
首页
关注
热榜
订阅专栏
学堂
精培
开源社区
CTO训练营
51CTO
班级博客
登录注册
手机随时阅读
新人专享大礼包¥24
写文章
搜索历史
清空
热门搜索
查看【
】的结果
Copyright©2005-202251CTO.COM
版权所有京ICP证060544号
关于我们
官方博客
意见反馈
了解我们
全部文章
在线客服
网站地图
热门标签
友情链接
开源基础软件社区
51CTO学堂
51CTO
延伸文章資訊
- 1[地圖] 深度學習世界的魔法陣們 - iT 邦幫忙
- 2Day 12: 人工神經網路初探深度學習 - iT 邦幫忙
深度學習是多層人工精神網路或多層感知器的另一種稱呼,還有多種不同型態的深度學習 ... 為了學習需求而做運算,但你可以依據現實世界的案例自行決定需要的層數。
- 3深度學習- 維基百科,自由的百科全書 - Wikipedia
深度學習的好處是用非監督式或半監督式(英語:Semi-supervised learning)的特徵學習和分層特徵提取高效演算法來替代手工取得特徵。 表徵學習的目標是尋求更好的表示方法 ...
- 4速記AI課程-深度學習入門(一) - 高智敏
另外,除了層數以外,前面提到的網路架構也是重點之一,最常見的是 ... 而GD應用在深度學習,又有個專有名詞,稱為反傳遞演算法(Backpropagation)。
- 5神经网络中如何确定隐藏层的层数和大小 - 51CTO博客
在前馈神经网络中,隐藏层的数量和层数的确定尚无依据,一般是由经验决定。 ... 对于这样要靠两个方向的直线才能分开的这样想:一个神经元只能学习 ...