神经网络

本文介绍了神经元模型,其中每个神经元有多个输入和权重,并且需要激活值超过阈值才能继续传播。Sigmoid函数常用于替代阶跃函数。接着讨论了感知机和多层网络,解释了感知机的局限性和多层网络解决非线性问题的能力。反向传播算法(BP)用于更新权重和阈值,通过训练数据减少误差。最后,讨论了全局最小和局部最小问题以及避免策略,如早停、增加惩罚项和使用启发式算法。
摘要由CSDN通过智能技术生成

神经元模型

  1. 一个神经元要接受多个输入,每个输入都带有一个权值,来调整该输入对结果影响程度。输入到一个神经元后,每个神经元又有一个阈值。只有输入该神经元的信息之和大于该阈值,才会激活该神经元,和脑神经元一样,激活后,才会继续往后传播。每个神经元(不包括输入层)都符合M-P模型。  
  2. 理想的f函数是阶跃函数,。但是由于该函数具有不连续,不光滑等性质,常用Sigmoid函数替代。。因为该函数可以保证输出值在(0,1)之间,所以也叫“挤压函数”。

感知机与多层网络

  1. 具有2层网络的神经网络叫做“感知机”。包括输入层和输出层。其中只有输出层具有M-P模型。感知机权重的调整方式:。其中y为训练样例(x,y)中的y,yhat为输出值。直到输出值与真实值相等,权重才不会调整。但由于感知机只有1层M-P(即输出层),学习能力有限,只能处理2分问题(线性分类问题)。对于非线性划分,应用感知机,不会收敛。加入一个隐层,即可进行非线性划分。这种神经网络也称为“多层前馈神经网络”。
  2. 神经网络的学习过程是通过训练数据来调整神经元之间的权重以及每个神经元的阈值。

反向传播算法(BP)

  1. 在(0,1)范围内初始化神经网络的权值和阈值。根据M-P模型计算出输出值,之后,和真实值计算出差值。对差值求权值和阈值的偏导,根据偏导来更新权值和阈值。要进行n次迭代,知道满足一定条件才停止。(条件为人为定义的)
  2. 如果使用标准BP算法,则和随机梯度下降类似,用每条数据进行权值和阈值的更新。更新的非常频繁,对不同样例的更新可能会出现“抵消”现象。因此,为达到误差极小值,需要进行多次迭代。
  3. 如果使用累积BP算法,则和标准梯度下降类似,用全部数据进行权值和阈值的更新。更新不是非常频繁。在很多任务中,一般先应用累积BP算法,累计误差降到一定程度后,进一步下降非常慢后,再应用标准BP,可以得到更好的解。尤其数据集D非常大时更明显。
  4. 如何设置隐藏层神经元的数目?试错法。
  5. BP神经网络容易导致过拟合,纠正方法有2种:1)早停:将数据集分为训练集和测试集。用训练集进行训练,求权值和阈值,用测试集进行预测,如果训练集误差降低同时测试集误差升高,则停止训练。返回具有最小验证误差的权值和阈值。 2)增加惩罚项:。其中E为累计误差,m为数据条数,w为权重和阈值,为折中项。在(0,1)间取值。常通过交叉验证来估计。

全局最小和局部最小

  1. 神经网络有可能会处于局部最小。避免局部最小方法:1)以多种不同参数初始化,取最小解作为最终参数。2)模拟退火算法:在每一步都以一定概率接受比当前解更差的结果,从而有助于跳出局部最小值。在每步迭代过程中,接受“次优解”的概率随着时间的推移而逐渐降低。从而保证算法稳定。3)随机梯度下降,因为加入随机因素,可以跳出局部最小。4)遗传算法 
  2. 以上这些算法大多数是启发式的,理论上目前都缺乏保证。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值