[转]考拉BP神经网络的matlab实现学习历程(二)

本文探讨了BP神经网络中的核心概念,包括网络泛化能力的重要性、过拟合的现象及应对策略、学习速率的作用及其调整方法。此外,还讨论了权值与阈值的意义以及如何通过调整网络结构、初始值选取等手段提高BP网络逼近非线性函数的训练精度。

本节主要学习BP中几个容易混绕的概念和问题:什么是网络的泛化能力?过拟合是什么,怎么处理?学习速率有什么作用?神经网络的权值和阈值分别是个什么概念?用BP逼近非线性函数,如何提高训练精度?

什么是网络的泛化能力?

一个神经网路是否优良,与传统最小二乘之类的拟合评价不同(主要依据残差,拟合优度等),不是体现在其对已有的数据拟合能力上,而是对后来的预测能力,既泛化能力

网络的预测能力(也称泛化能力、推广能力)与训练能力(也称逼近能力、学习能力)的矛盾。一般情况下,训练能力时,预测能力也,并且一定程度上,随训练能力地提高,预测能力也提高。但这种趋势有一个极限,当达到此极限时,随训练能力的提高,预测能力反而下降,即出现所谓“过拟合”现象。此时,网络学习了过多的样本细节,而不能反映样本内含的规律。

过拟合是什么,怎么处理?

神经网络计算不能一味地追求训练误差最小,这样很容易出现“过拟合”现象,只要能够实时检测误差率的变化就可以确定最佳的训练次数,比如15000次左右的学习次数,如果你不观察,设成500000次学习,不仅需要很长时间来跑,而且最后结果肯定令人大失所望。

避免过拟合的一种方法是:在数据输入中,给训练的数据分类,分为正常训练用、变量数据、测试数据,在后面节将讲到如何进行这种分类。
其中变量数据,在网络训练中,起到的作用就是防止过拟合状态。

学习速率有什么作用?

学习速率这个参数可以控制能量函数的步幅,并且如果设为自动调整的话,可以在误差率经过快速下降后,将学习速率变慢,从而增加BPNN的稳定性。
此时训练方法采用

net.trainFcn = 'traingda'; % 变学习率梯度下降算法
 net.trainFcn = 'traingdx'; % 变学习率动量梯度下降算法

可以定义一个变动的学习速率,如

p = [-1 -1 2 2; 0 5 0 5];
t = [-1 -1 1 1];
net = newff(p,t,3,{},'traingda');
net.trainParam.lr = 0.05;
net.trainParam.lr_inc = 1.05;
net = train(net,p,t);
y = sim(net,p)

在后面的拟合例题中,我们也将用到学习速率这个参数。

神经网络的权值和阈值分别是个什么概念?

第一节中,我们已经谈到了权值和阀值的概念。这里我们更深入的说明一下,因为他们很重要,关系到网络最后的结果。权值和阈值是神经元之间的连接,将数据输入计算出一个输出,然后与实际输出比较,误差反传,不断调整权值和阈值。

假如下面两个点属于不同的类,须设计分类器将他们分开

p1=[1 1 -1]’;
p2=[1 -1 -1]’;

这里用单层神经元感知器,假设初始权值

w=[0.2 0.2 0.3]

同时假设初始阀值

b=-0.3

输出 a1 a2

a1=hardlims(w*p1+b)
a2=hardlims(w*p2+b)

如果不能分开,还须不断调整w,b

用BP逼近非线性函数,如何提高训练精度

(1)调整网络结构
增加网络的层数可以进一步降低误差,提高精度但会使网络复杂化,从而增加网络的训练时间。精度的提高实际上也可以通过增加隐层神经元的数目来获得,其效果更容易观察和掌握,所以应优先考虑

(2)初始值选取
为了使误差尽可能小 ,需要合理选择初始权重和偏置,如果太大就容易陷入饱和区,导致停顿 。一般应选为均匀分布的小数,介于 (-1,1) 【即归一化处理】。

(3)学习速率调整
学习速率的选取很重要 ,大了可能导致系统不稳定,小了会导致训练周期过长、收敛慢,达不到要求的误差。一般倾向于选取较小的学习速率以保持系统稳定,通过观察误差下降曲线来判断。下降较快说明学习率比较合适,若有较大振荡则说明学习率偏大。同时,由于网络规模大小的不同,学习率选择应当针对其进行调整。采用变学习速率的方案,令学习速率随学习进展而逐步减少,可收到良好的效果。

(4)期望误差
期望误差当然希望越小越好,但是也要有合适值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值