Neural Network Toolboxでバックプロパゲーション(Back-Propagation)型ネットワークの中間層(隠れ層)の値を確認することはできますか?
1 回表示 (過去 30 日間)
古いコメントを表示
MathWorks Support Team
2013 年 10 月 25 日
回答済み: MathWorks Support Team
2013 年 10 月 25 日
Neural Network Toolboxでバックプロパゲーション(Back-Propagation)型ネットワークの中間層(隠れ層)の値を確認することはできますか?
採用された回答
MathWorks Support Team
2013 年 10 月 25 日
生成されたnetworkオブジェクトのoutputConnectプロパティを編集することで中間層の値を出力することができます。
例えば、下記のような入力層2ユニット, 中間層3ユニット, 出力層1ユニットを持つ、3層バックプロパゲーション型ネットワークで確認してみます。
P = [0 1 0 1;0 0 1 1]; % 入力信号
T = [0 1 1 0]; % 教師信号
% バックプロパゲーション型ネットワークの作成
net = newff(minmax(P),[3 1],{'logsig' 'logsig'});
net = train(net,P,T); % ネットワークの学習
ここで、networkオブジェクトのoutputConnectプロパティを確認すると、下記実行例のように1x2のベクトルが出力されます。
>> net.outputConnect
ans =
0 1
1番目のインデックスは中間層のフラグを示し、2番目のインデックスは出力層のフラグを示します。デフォルトでは、出力層が出力するように設定されています。
中間層を出力する場合は、下記実行例のようにoutputConnectプロパティを編集した後、シミュレーションを行います。
>> net.outputConnect = [1 0]; % シミュレーションの実行結果の出力を中間層に設定
>> H = sim(net,P) % シミュレーション
H =
0.9589 0.7112 1.0000 1.0000
0.0000 0.0360 0.0036 0.9853
0.0058 0.9940 0.9977 1.0000
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Deep Learning Toolbox についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!