MATLAB神经网络编程(六)——BP神经网络的训练函数

《MATLAB神经网络编程》 化学工业出版社 读书笔记
第四章 前向型神经网络 4.3 BP传播网络

本文是《MATLAB神经网络编程》书籍的阅读笔记,其中涉及的源码、公式、原理都来自此书,若有不理解之处请参阅原书


1,BP网络的创建函数。
(1)newcf 函数 功能:用来创建级联前向BP网络,调用格式:

net=newcf(P,T,[S1,S2……S(N-1)]{TF1,TF2..TFN},BTF,BLF,PF,IPF,OPF,DDF)

P,T为每组输入元素的最大值和最小值组成的R*2维矩阵;Si为第i层的长度,共计NI层;TFi为第i层的传递函数,默认为”tansig”;BTF为BP网络的训练函数,默认为”trainlm”;BLF为权值和阈值的BP学习算法,默认为”learngdm”;PF为网络的性能函数,默认为”mse”;IPF为行输入的处理单元矩阵,默认为”fixunknowns”、“removeconstantrows”、“mapinmax”;OPF为行输出的处理单元矩阵,默认为“removeconstantrows”或“mapminmax”DDF为函数的定义默认为”dividerand”。

参数TFi可以采用任意的可微传递函数,如tansig,logsig,purelin等;训练函数可以是任意的BP训练函数,如trainlm,trainbfg,trainrp和traingd等。注意BTF默认采用trainlm是因为该函数的速度很快,但是该函数的缺点是运行会消耗大量的内存;如果内存不足建议采用trainfg或者trainrp,虽然这两个函数速度慢,但是占用内存小。

(2)newff 函数 功能:用来创建BP网络,调用格式:

net=newff(P,T,[S1 S2……S(N-1)],{TF1,TF2..TFN},BTF,BLF,PF,IPF,OPF,DDF)

参数含义同上。

(3)newfftd 函数 功能:用来创建一个存在输入延迟的前向型网络,调用格式:

net=newfftd(P,T,ID,[S1 S2……S(N-1)],{TF1,TF2..TFN},BTF,BLF,PF,IPF,OPF,DDF)

参数含义同上。

2,神经元上的传递函数

传递函数是BP网络的重要组成部分;又称激活函数,必须是连续可微的;BP网络常常采用S型对数或者正切函数或线性函数。

(1)logsig 函数 功能:S型的对数函数,调用格式:

A=logsig(N,FP)
info=logsig(code)

N为Q个S维的输入列向量;FP为功能结构参数;A为函数返回值,位于区间(0,1)中。
函数公式:

logsig(n) = 1 / (1 + exp(-n))

函数例子:

         n = -5:0.1:5;
        a = logsig(n);
        plot(n,a)

结果:
10

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值