MATLAB中的神经网络,初始权重

use*_*507 4 matlab neural-network

我用newff(...)在MATLAB中创建了神经网络.当您使用相同的输入和输出进行训练时,不同运行的训练结果会有所不同.我知道它正在发生,因为每次运行它时权重都不同.我的问题是每次训练我的NN时如何使初始权重相同,这样我才能得到相同的结果?另外,是否可以从训练No1中保存一些重量,后者用它训练No2,以及如何?

TNX

Amr*_*mro 6

生成可重现的结果,您需要在代码开头手动将随机数生成器设置为相同的种子/状态.这可以通过多种方式完成(取决于您拥有的MATLAB版本):

旧款式:

rand('twister',1234)
Run Code Online (Sandbox Code Playgroud)

更新的风格:

RandStream.setGlobalStream( RandStream('mt19937ar','Seed',1234) );
Run Code Online (Sandbox Code Playgroud)

R2011a中引入了一个新功能,简化了最后一次调用:

rng(1234,'twister')
Run Code Online (Sandbox Code Playgroud)

后一种语法是推荐的方法.