ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

init

ニューラル ネットワークの初期化

構文

net = init(net)

ヘルプの表示

help network/init と入力します。

説明

net = init(net) は、net.initFcn によって示されるネットワーク初期化関数と、net.initParam によって示されるパラメーター値に従って重み値とバイアス値が更新される、ニューラル ネットワーク net を返します。

ここでは、パーセプトロンを作成し、その入力、出力、重み、およびバイアスの次元が入力データおよびターゲット データと一致するように構成します。

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}

重みとバイアスは、パーセプトロン ネットワークによって使用される初期値である 0 に戻ります。

アルゴリズム

initnet.initFcn を呼び出し、パラメーター値 net.initParam に従って重み値とバイアス値を初期化します。

一般的に、net.initFcn'initlay' に設定されており、各層の重みとバイアスがその net.layers{i}.initFcn に従って初期化されます。

逆伝播ネットワークでは、net.layers{i}.initFcn'initnw' に設定されており、Nguye・Widrow 初期化手法を使用して層 i の重み値とバイアス値が計算されます。

その他のネットワークでは net.layers{i}.initFcn'initwb' に設定されており、それぞれの重みとバイアスが独自の初期化関数で初期化されます。最も一般的な重みとバイアスの初期化関数は rands です。この関数は、–1 ~ 1 のランダムな値を生成します。

R2006a より前に導入