当前位置:网站首页>梅科尔工作室-深度学习第二讲 BP神经网络
梅科尔工作室-深度学习第二讲 BP神经网络
2022-08-11 05:23:00 【C_yyy89】
目录
前言
本文记录梅科尔工作室深度学习培训的第二讲-BP神经网络学习笔记,感谢义哥的讲解!
1.感知机
感知机是作为神经网络(深度学习)的起源的算法。因此,学习感知机的构造也就是学习通向神经网络和深度学习的一种重要思想。
1.1.什么是感知机?
感知机接收多个输入信号,输出一个信号。这里所说的“信号”可以想象成电流或河流那样具备“流动性”的东西。像电流流过导线,向前方输送电子一样,感知机的信号也会形成流,向前方输送信息。
2.什么是BP神经网络?
BP(BackPropagation)算法是神经网络深度学习中最重要的算法之一,是一种按照误差逆向传播算法训练的多层前馈神经网络,是应用最广泛的神经网络模型之一。了解BP算法可以让我们更理解神经网络深度学习模型训练的本质,属于内功修行的部分。
BP算法的核心思想:学习过程由信号的正向传播和误差的反向传播两个过程组成。
2.1.正向传播
输入层的神经元负责接受外界发来的各种信息,并将信息传递给中间层神经元,中间隐含层神经元负责将接收到的信息进行处理变换,根据需求处理信息,实际应用中可将中间隐含层设置为一层或者多层隐含层结构,并通过最后一层的隐含层将信息传递到输出层,这个过程就是BP神经网络的正向传播过程。
2.2.反向传播
当实际输出与理想输出之间的误差超过期望时,就需要进入误差的反向传播过程。它首先从输出层开始,误差按照梯度下降的方法对各层权值进行修正,并依次向隐含层、输入层传播。通过不断的信息正向传播和误差反向传播,各层权值会不断进行调整,这就是神经网络的学习训练。当输出的误差减小到期望程度或者预先设定的学习迭代次数时,训练结束,BP神经网络完成学习。
2.3.隐藏层注意点
如果隐含层中的神经元节点设置过少,结果可能造成神经网络的训练过程收敛变慢或者不收敛。如果隐层中节点过多,模型的预测精度会提高,但同时网络拓扑结构过大,收敛速度慢,普遍性会减弱。
隐藏层神经元的设置方法:
如果BP神经网络中输入层节点数为m个,输出层节点是为n个,则由下式式可推出隐藏层节点数为s个。其中b一般为1-9的整数。可以用MATLAB中的工具箱算出b的值。
3.BP神经网络的推导
3.1.正向传播计算过程
3.2.反向传播计算过程
n为学习率,设置为0.5,可以调整更新的步伐,合适的学习率能够使目标函数在合适的时间内收敛到局部最小值。学习率设置太小,结果收敛非常缓慢;学习率设置太大,结果在最优值附近徘徊,难以收敛,一般选取为0.01-0.8。
重复以上步骤,不断更新权重参数,得到新的输出值,输出值与期望值不断逼近。
3.3.何时结束?
1.设置最大迭代次数,比如使用数据集迭代100次后停止训练;
2.计算训练集在网络上的预测准确率,达到一定门限值后停止训练;
总结
以上就是本节课的全部内容,主要包括感知机和BP神经网络的推导过程。
边栏推荐
猜你喜欢
随机推荐
解决Glide图片缓存问题,同一url换图片不起作用问题
动画(其二)
【转载】图表:数读2022年上半年国民经济
docker搭建redis主从和哨兵模式集群
《现代密码学》学习笔记——第三章 分组密码 [三]分组密码的运行模式
IDEA本机连接远程TDengine不成功,终于配置成功
GBase 8s中IO读写方法
实例分析MySQL四种隔离级别的区别
使用TD-workbench管理tDengine数据库数据
>>开发工具:开发工具排名对比
RIP综合实验
《现代密码学》学习笔记——第五章 密钥分配与密钥管理
【sqlyog】【mysql】csv导入问题
>>数据管理:DAMA简介
Markdown编辑器
代币标准--ERC20协议源码解析
Nodered系列—使用node-red-node-mysql写入mysql详细步骤
《现代密码学》学习笔记——第三章 分组密码 [二] AES
Reconstruction and Synthesis of Lidar Point Clouds of Spray
Redis主从复制的搭建