一:输入层、隐藏层、输出层;二、隐藏层的层数

简介: 一:输入层、隐藏层、输出层;二、隐藏层的层数

一:输入层隐藏层输出层



BP神经网络主要由输入层隐藏层输出层构成,输入和输出层的节点数是固定的,不论是回归还是分类任务,选择合适的层数以及隐藏层节点数,在很大程度上都会影响神经网络的性能。


image.png

  • 没有隐藏层:仅能够表示线性可分函数或决策
  • 隐藏层数=1:可以拟合任何“包含从一个有限空间到另一个有限空间的连续映射”的函数
  • 隐藏层数=2:搭配适当的激活函数可以表示任意精度的任意决策边界,并且可以拟合任何精度的任何平滑映射
  • 隐藏层数>2:多出来的隐藏层可以学习复杂的描述(某种自动特征工程)


输入层和输出层的节点数量很容易得到。 输入层的神经元数量等于待处理数据中输入变量的数量,输出层的神经元的数量等于与每个输入关联的输出的数量。但是真正的困难之处在于确定合适的隐藏层及其神经元的数量


二、隐藏层的层数



概括来说就是多个隐藏层可以用于拟合非线性函数。


因此,对于一般简单的数据集,一两层隐藏层通常就足够了。但对于涉及时间序列或计算机视觉的复杂数据集,则需要额外增加层数。单层神经网络只能用于表示线性分离函数,也就是非常简单的问题,比如分类问题中的两个类可以用一条直线整齐地分开。


层数越深,理论上拟合函数的能力增强,效果按理说会更好,但是实际上更深的层数可能会带来过拟合的问题,同时也会增加训练难度,使模型难以收敛


因此我的经验是,在使用BP神经网络时,最好可以参照已有的表现优异的模型,如果实在没有,则根据上面的表格,从一两层开始尝试,尽量不要使用太多的层数。


在CV、NLP等特殊领域,可以使用CNN、RNN、attention等特殊模型,不能不考虑实际而直接无脑堆砌多层神经网络。尝试迁移和微调已有的预训练模型,能取得事半功倍的效果


image.png


目录
相关文章
一张图理解javaEE层与层之间的关系
一张图理解javaEE层与层之间的关系
|
3月前
|
前端开发 IDE 数据库连接
ThinkPHP6 模型层的模型属性,表映射关系,以及如何在控制层中使用模型层和模型层中的简单CRUD
本文详细介绍了ThinkPHP6中模型层的使用,包括模型属性设置、表映射关系、以及如何在控制层中使用模型层进行CRUD操作。
ThinkPHP6 模型层的模型属性,表映射关系,以及如何在控制层中使用模型层和模型层中的简单CRUD
|
4月前
|
机器学习/深度学习 编解码 计算机视觉
CNN 中卷积层和池化层的作用
【8月更文挑战第15天】
315 0
|
数据采集 机器学习/深度学习 PyTorch
Pytorch学习笔记(5):torch.nn---网络层介绍(卷积层、池化层、线性层、激活函数层)
Pytorch学习笔记(5):torch.nn---网络层介绍(卷积层、池化层、线性层、激活函数层)
863 0
Pytorch学习笔记(5):torch.nn---网络层介绍(卷积层、池化层、线性层、激活函数层)
|
7月前
|
机器学习/深度学习 数据采集 自然语言处理
【Conv】万金油一样的卷积层!使用卷积层替代全连接层与池化层
【Conv】万金油一样的卷积层!使用卷积层替代全连接层与池化层
370 1
|
7月前
|
机器学习/深度学习 算法框架/工具
池化层和全连接层
池化层和全连接层
|
机器学习/深度学习 计算机视觉
卷积层提取特征
卷积层提取特征
139 1
|
机器学习/深度学习 PyTorch 算法框架/工具
【PyTorch】什么时候使用数组形式创建多个卷积层
【PyTorch】什么时候使用数组形式创建多个卷积层
97 0
|
网络协议 网络架构
计算机网络的7层、4层和5层模型
在计算机网络的基本概念中,分层次的体系结构是最基本的。
217 0
|
机器学习/深度学习 数据挖掘 计算机视觉
卷积神经网络基础--输入层、卷积层
局部连接和权值共享是卷积层的两个最主要的特征:为提取数据的特征信息,需把数据中潜在的具有相关性的信息抽象化,便于进行以上两个特征操作。
400 0
卷积神经网络基础--输入层、卷积层