matlab怎么训练神经网络,matlab神经网络训练方法

如何快速学习matlab BP神经网络

如何快速学习matlabBP神经网络我不知道你是要深入的了解其原理,还是只是用用而已……对于我来说,我基本上是着眼于BP神经网络的应用,分类啊,拟合(预测)啊。

而对于原理,我只能说我不是很了解,看过一些,但是似懂非懂。

综合,我推荐《MATLAB神经网络43个案例分析》这本书吧,大部分是着眼于应用,即直接调用MATLAB的函数来实现神经网络的搭建,训练,应用,而这本书的第一章给出了自己实现BP神经网络的例子和程序(不调用MATLAB的神经网络方面的函数)要深入原理的话,读原码最好了,不过读matlab工具箱的原码比较繁杂,你可以看这个简化版的:

谷歌人工智能写作项目:神经网络伪原创

想用小波神经网络Matlab编程,怎么学?一下子让我看程序我一点都看不懂啊。。。。

好文案

你必须得了解神经网络吧,光那个训练函数及newff就够你琢磨半天的,然后在分析小波吧,如果没学过的肯定也得下下功夫了,其实就这两部分,建议单独各自找个例子代码运行一下,比较直观的学习我觉的是matlab学好的捷径,事在人为,没有什么好办法,只要你下那么一点点功夫,总比玩局dota要有成就感的多,放心这2部分的例子数不胜数,多看看没坏处的!

只是建议,还是那句事在人为,多学点没坏处!

MATLAB中BP神经网络的训练算法具体是怎么样的

先用newff函数建立网络,再用train函数训练即可。

1)正向传播:输入样本->输入层->各隐层(处理)->输出层注1:若输出层实际输出与期望输出(教师信号)不符,则转入2)(误差反向传播过程)2)误差反向传播:输出误差(某种形式)->隐层(逐层)->输入层其主要目的是通过将输出误差反传,将误差分摊给各层所有单元,从而获得各层单元的误差信号,进而修正各单元的权值(其过程,是一个权值调整的过程)。

BP算法实现步骤(软件):1)初始化2)输入训练样本对,计算各层输出3)计算网络输出误差4)计算各层误差信号5)调整各层权值6)检查网络总误差是否达到精度要求满足,则训练结束;不满足,则返回步骤2)注:改进算法—增加动量项、自适应调整学习速率(这个似乎不错)及引入陡度因子。

有什么基础才能学习matlab神经网络 10

想自学MATLAB,应该怎么学?谁能说下详细步骤啊

matlab各版本之间操作上差距不大,界面基本相同,熟练了一个版本之后其他的任意版本就都会用了。

另外matlab一般每年更新两个版本一般上半年一个版本下半年一个版本截止到今天(2013年7月17日)最新版本是matlab2013a。

版本更新的时候软件的主体不会有大的改变,更改部分主要是toolbox里面的各种专业工具箱(比如统计、图像、模糊、神经网络等等),其实就是一些函数的升级,你会发现如果你按照7.0的教程敲代码,但是你用的2013a,经常会出现“我按照书上敲得,怎么还是出错啊”这种情况。

所以初学的话尽量软件和教程的版本相同比较好。以后熟练了再随便换版本。至于学习的步骤,无他,唯熟练尔。

学习matlab的基本语法(输入输出,矩阵基本运算、矢量化运算等)看书,自己敲书上的代码(最好不要直接copy随书光盘里的代码文件,然后点个run,这样真没劲)仔细阅读每行代码,弄清楚每行代码的意思跟英语汉语一样,任何一门语言都要多练多用才能熟练,编程语言也一样。

其实你看10遍书,不如亲自用matlab写一个程序。尤其是用于自己的科研中。多看别人的代码(不是你同学的,真正的高手除外),学着调试代码,对能力提升非常有帮助!!!!

尽量避免用for和while之类的循环,如果你发现某人写的matlab代码里面有太多的for,而且for和end之间代码量不是很大,基本上可以把这个人的matlab水平评为入门。

哪怕他matlab使用了很多年,写过很多程序,但是他连matlab矢量运算都没掌握。循环和矢量化运算的速度差距最高可以到100倍以上最后祝好好学习,天天向上!

有哪位大神知道BP神经网络变学习率学习算法在Matlab中怎么实现啊?

额。。。一种启发式的改进就是,为学习速率选用自适应值,它依赖于连续迭代步骤中的误差函数值。

自适应调整学习速率的梯度下降算法,在训练的过程中,力图使算法稳定,同时又使学习的步长尽量地大,学习速率则是根据局部误差曲面作出相应的调整。

当误差以减小的方式趋于目标时,说明修正方向正确,于是步长(学习速率)增加,因此学习速率乘以增量因子Ir_inc,使学习速率增加;而当误差增加超过设定的值C倍时,说明修正过头,应减小步长,因此学习速率乘以减量因子Ir_dec,使学习速率减少.其他情况学习速率则不变。

Matlab里有对应的变学习速率的函数。

bpnet=newff(x,[60,4],{'logsig','logsig'},'traingda');%'traingda'表示自适应学习速率调整方法=50;=0.01;%预设值的学习速率bpnet.trainParam.epochs=3000;=0.247;bpnet.trainParam.Ir_inc=1.05;%增加的学习速率倍数,默认为1.05bpnet.trainParam.Ir_dec=0.7;%减少的学习速率倍数,默认为0.7bpnet.trainParam.max_perf_inc=1.04;%误差函数增加为迭代前的1.04时,减少学习速率。

默认为1.04[bpnet]=train(bpnet,p,t);savebpnet;%%%%%%%%%%%%%%%%%%%%。

matlab中神经网络怎么使用

 

你可能感兴趣的:(matlab,神经网络,开发语言)