BP网络以及深度学习分析.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
神经网络 1 BP网 图:三层BP网 信号正向传播和误差反向传播 k=1,2……l 有l个输出(l常常为1)。 中间隐层有m层: i=1,2,……m n个输入。j=1,2……m 其中Sigmoid函数: (单极性) 1.1 计算流程 不同样本误差: E=((T-Ok)*(T-Ok))/2; 一般使用 1.2 影响参数: 1.2.1 隐层节点数 nn= +a,其中 m 为输出神经元数, n 为输入神经元数, a 为[1,10]之间的常数。 nn= nn=2n+1; nn= 1.2.2 学习率 学习率,太大会影响训练稳定性,太小使训练收敛速度慢。一般在0.01--0.8之间。我取0.2 Emin一般在0.1--之间。 1.3 样本/输入 1.3.1 训练样本 训练样本数:M,为权值阈值总数,一般为连接权总数的5~10倍。 训练数据必须作平衡处理,不同类别的样本需要交叉输入,轮流输入--时间延长。 1.3.2 输入形式 字符:形状格填充、边缘距离 曲线:采样 变化大可以密集采样 输出: 不同的输出用不同的码表示 1.3.3 归一化: 样本分布比较均匀 [0,1]区间: [-1,1]区间: 其中 不均匀:对数 平方根 [coef,score,latent,t2] = princomp(x);(个人观点): x:为要输入的n维原始数据。带入这个matlab自带函数,将会生成新的n维加工后的数据(即score)。此数据与之前的n维原始数据一一对应。 score:生成的n维加工后的数据存在score里。它是对原始数据进行的分析,进而在新的坐标系下获得的数据。他将这n维数据按贡献率由大到小排列。(即在改变坐标系的情况下,又对n维数据排序) latent:是一维列向量,每一个数据是对应score里相应维的贡献率,因为数据有n维所以列向量有n个数据。由大到小排列(因为score也是按贡献率由大到小排列)。 coef:是系数矩阵。通过cofe可以知道x是怎样转换成score的。 1.4 权值/阈值 1.4.1 初始权值 初始权值足够小,初始值为1和-1的权值数相等。 1.4.2 权值学习算法 P99 traingd:标准梯度下降算法 traingdm:附加动量项 traingda:自适应学习速率,效果比上者好。 traingdx: 附加动量项、自适应学习速率 更好的算法如下: trainlm: trainscg: 权值学习算法 算法描述 traingd 标准BP traingda 可变学习率BP traingdm 附加动量的BP traingdx 附加动量、可变学习率BP traincgf Fletcher-Powell共轭梯度法 traincgp Polak-Ribiere共轭梯度法 traincgb Powell-Beale共轭梯度法 trainscg Scaled共轭梯度法 trainbfg BFGS拟牛顿法 trainoss 正割拟牛顿法 trainlm Levenberg-Marquardt法 trainrp 弹性BP 1.5 优化 1 提高训练速度:附加动量法: 其中 见P85 2 改为,一般=1 较大时,进入平坦区,令1 常用的改进方法有附加冲量项、自适应学习参数、模拟退火法等, 1.6 技巧 若show设为NaN ,则不显示训练过程 一篇论文中案例:初始权值不可过大过小。网络1的初始权值和偏差定为-0.25--0.25的随机数,网络2的定为-0.5--0.5的随机数。 目标误差:0.05 两个连续迭代过程平均相差小于, 样本数:200 1.7 常用函数归纳 1.7.1 train之前 net.trainParam.show=10; %show interval 25 %net.trainParam.showWindow=flase; net.trainParam.epochs=5000;%train times.default:10 net.trainParam.goal=0.0001;%0 net.trainParam.lr=0.2;%0.15 net.trainParam.max_fail=5;% max times of affirm failure net.trainParam.min_grad=1e-10;%min gradient net.trainParam.time=inf;%max train time net.trainParam.mc=0.95; %momentum factor when use traingdm,default:0.9 1.7.2

文档评论(0)

33894522 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档