主要内容

init

初始化神经网络

说明

init_net = init(net) 返回一个神经网络 net,其权重值和偏置值根据 net.initFcn 指定的网络初始化函数和 net.initParam 指定的参数值进行更新。

有关此函数的详细信息,请在 MATLAB 命令提示符下键入 help network/init

示例

示例

全部折叠

此示例说明如何使用 init 函数重新初始化感知器网络。

创建一个感知器并对其进行配置,使其输入、输出、权重和偏置维度与输入数据和目标数据匹配。

x = [0 1 0 1; 0 0 1 1];
t = [0 0 0 1];
net = perceptron;
net = configure(net,x,t);
net.iw{1,1}
net.b{1}

训练该感知器以更改其权重值和偏置值。

net = train(net,x,t);
net.iw{1,1}
net.b{1}

init 重新初始化这些权重值和偏置值。

net = init(net);
net.iw{1,1}
net.b{1}

权重和偏置再次为零,这是感知器网络使用的初始值。

输入参数

全部折叠

输入网络,指定为网络对象。要创建网络对象,请使用 feedforwardnetnarxnet 等函数。

输出参量

全部折叠

init 重新初始化后的网络,以网络对象形式返回。

算法

init 调用 net.initFcn 以根据参数值 net.initParam 初始化权重值和偏置值。

通常,net.initFcn 设置为 'initlay',它根据其 net.layers{i}.initFcn 初始化每层的权重和偏置。

反向传播网络将 net.layers{i}.initFcn 设置为 'initnw',它使用 Nguyen-Widrow 初始化方法计算第 i 层的权重值和偏置值。

其他网络将 net.layers{i}.initFcn 设置为 'initwb',它使用自己的初始化函数初始化每个权重和偏置。最常见的权重和偏置初始化函数是 rands,它生成介于 –1 和 1 之间的随机值。

版本历史记录

在 R2006a 之前推出

另请参阅

| | | | | | |