【西瓜书】5.神经网络

1.概念
  • 有监督学习
  • 正向传播:输入样本---输入层---各隐层---输出层
  • 反向传播:误差以某种形式在通过隐层向输入层逐层反转,并将误差分摊给各层的所有单元,以用于修正各层的权值
  • 激活函数:也叫阶跃函数,目的是引入非线性因素,有很多种激活函数,如sigmoid,relu,使用情景如下
  • 激活函数作用:如果没有激活函数,则不管有几个隐藏层,都只能表示线性切割,即与单层神经网络相同,而通过使用激活函数,神经网络的每一层都可以学习输入数据的非线性变换,这使得整个网络能够逼近任何复杂的函数。解释如下图。
1.感知机(处理二分类问题)
1.1.概念及与线性回归模型的比较
1.2.梯度下降思想调整感知机参数w和b:

(1)损失函数为误分点到超平面距离的和

书上推理补充:

3.多层前馈神经网络
3.1.思想:

任意复杂连续函数都是n个一般线性函数的叠加,即感知机相当于一个线性函数,那增加n个隐层就可表示任意复杂连续函数。

3.2.区分

(1)感知机为单层网络

(2)加一个隐层为两层网络 ,也叫单隐层网络

3.3.误差逆传播算法BP算法

(1)用于多层前馈神经网络或其他类型网络,采用链式法则 计算各层参数的梯度,然后使用梯度下降法来更新参数,以减小误差。

(2)损失函数为每个预测y值与样本实际y值之差绝对值的和

3.4.标准BP算法与累计BP算法

类似随机梯度下降(每次迭代中仅使用一个样本来计算梯度)、标准梯度下降(整个数据集来计算梯度)

  • 标准BP算法:更新频繁;需要更多次数迭代
  • 累计BP算法:读取整个训练集后才更新,频率低;更快获得较好解(数据集大更明显)
3.5.过拟合解决方案

过拟合表现:训练误差 持续降低测试误差 可能上升

(1)早停:

  • 若训练误差降低但测试误差上升,则停止
  • 返回最小测试误差的权重和偏置(阈值)

(2)正则化:

  • 增加描述网络复杂度的部分,eg权重和阈值的平方和,想要这部分也小一点,别太复杂
  • 损失函数变为了\lambda*经验误差+(1-\lambda)*网络复杂度,其中经验误差就是我们上面一直用的损失函数,即预测y与实际y值的差和
4.全局最小与局部极小

在神经网络中,我们对样本进行训练,对于训练得到的结果,我们通过损失函数计算调整权重和阈值,在这个过程中,不管是感知机还是多层前馈网络使用的都是梯度下降策略,希望找到损失函数在某个参数(权重或阈值)方向上的是极小值的点,也就是寻找损失函数在某参数上偏导为0的点,若不为0,则调整该参数使得在损失函数上的取值向最低点靠近。在这个过程中,涉及到一个全局最小和一个局部极小的概念,即如果有多个极小点,那么根据梯度下降很可能找到的是一个局部最小点,而不是全局最小点。解决方案如下:

  • 多组不同参数值的神经网络出发
  • 模拟退火算法,每一步有一定概率接受比当前更差的结果
  • 随机梯度下降,在梯度为0时计算出来的梯度仍可能不为0
5.其他神经网络

(1)PBF网络:单隐层、径向基函数作为隐层神经元激活函数

(2)ART 网络:无监督学习策略、输出神经元相互竞争,每一时刻仅有一个神经元被激活、可塑性-稳定性

(3)SOM 网络:竞争型、无监督神经网络、将高维数据映射到低维空间(通常为2维)同时保持输入数据在高维空间的拓扑结构

(4)级联相关网络

(5)Elman 网络:不同于前馈神经网络,elman是一种递归神经网络,神经元的输出反馈回来作为输入信号

(6)Boltzmann 机:基于能量的模型

6.深度学习模型

模型深度和宽度都较大,其中增加隐层的数目比增加隐层神经元的数目更有效,由于复杂则难以直接用经典算法(例如标准BP算法)进行训练。

训练方法:

(1)无监督逐层训练:预训练(训练时将上一层隐层结点的输出作为输入)+微调(一般使用BP算法),可以先找到局部看起来比较好的设置, 然后再基于这些局部较优的结果联合起来进行全局寻优

(2)权共享:一组神经元使用相同的连接权值,卷积神经网络就是这样

**卷积神经网络:

(1)卷基层:含n个特征映射,每个特征映射为由多个神经元构成的"平面"

(2)采样层:汇合层,减少数据量的同时保留有用信息

(3)连接层:每个神经元被全连接到上一层每个神经元, 本质就是传统的神经网络

激活函数采用修正线性函数relu;可用bp算法训练;每一层的权值都相同,好训练

相关推荐
花月C4 分钟前
算法 - 差分
人工智能·算法·机器学习
拆房老料4 分钟前
深入解析提示语言模型校准:从理论算法到任务导向实践
人工智能·算法·语言模型
rengang667 分钟前
352-Spring AI Alibaba OpenAI DashScope 多模态示例
java·人工智能·spring·多模态·spring ai·ai应用编程
音视频牛哥7 分钟前
RTMP/RTSP/WebRTC/SRT/HLS/DASH/GB28181/WebTransport/QUIC协议规范深度分析
人工智能·计算机视觉·音视频·webrtc·大牛直播sdk·dash·webtransport
张较瘦_8 分钟前
[论文阅读] AI+ | AI如何重塑审计行业?从“手工筛查”到“智能决策”:AI审计的核心逻辑与未来路径
论文阅读·人工智能
不爱学英文的码字机器14 分钟前
深度解析《AI+Java编程入门》:一本为零基础重构的Java学习路径
java·人工智能·后端·重构
B站计算机毕业设计之家16 分钟前
python图像识别系统 AI多功能图像识别检测系统(11种识别功能)银行卡、植物、动物、通用票据、营业执照、身份证、车牌号、驾驶证、行驶证、车型、Logo✅
大数据·开发语言·人工智能·python·图像识别·1024程序员节·识别
晨非辰22 分钟前
《数据结构风云》递归算法:二叉树遍历的精髓实现
c语言·数据结构·c++·人工智能·算法·leetcode·面试
mailangduoduo27 分钟前
命令行传参及调试——vscode平台
c++·人工智能·vscode·代码调试·命令行传参
ProgrammerPulse28 分钟前
超融合架构下,如何智能调度让每台虚拟机都“跑得更快”?
人工智能·云计算