MATLAB Answers

ニューラルネットワー​クにおける学習アルゴ​リズムの確認方法

조회 수: 4(최근 30일)
hitoku
hitoku 11 May 2020
댓글: michio 13 May 2020
ニューラルネットワークにおける学習アルゴリズムはどのように確認すればよいでしょうか?
例えば以下のコードでは、
[X,T] = simpleseries_dataset;
net = layrecnet(1:2,10);
[Xs,Xi,Ai,Ts] = preparets(net,X,T);
net = train(net,Xs,Ts,Xi,Ai);
view(net)
Y = net(Xs,Xi,Ai);
perf = perform(net,Y,Ts)
規定の学習アルゴリズムであるレーベンバーグ・マルカート法逆伝播が実行されていることがわかります。
以下の関数等で学習後のニューラルネットワークの構造は確認できますが、
genFunction(net,'preditction_layrecnet_Fcn','MatrixOnly','yes');
これらの重み更新が具体的にどのように行われているのかを確認する方法は無いのでしょうか?
genFunction関数の様にレーベンバーグ・マルカート法逆伝播などの学習アルゴリズムを関数として書き出すことはできないでしょうか?

  댓글 수: 0

댓글을 달려면 로그인하십시오.

채택된 답변

michio
michio 12 May 2020
浅い多層ニューラル ネットワークの学習と適用学習アルゴリズムの項にあるアルゴリズムの一覧が参考になるかもしれません。
リンク先の構文に
net.trainFcn = 'trainlm'
などと記載があると思いますが、net.trainFcn で使用される学習アルゴリズムを確認できます。
例えば
edit trainlm
と実行すると関数の中身も確認できますが、お役に立ちますでしょうか。

  댓글 수: 2

hitoku
hitoku 12 May 2020
回答ありがとうございます。
アルゴリズムの一覧および変更方法等は調べれば確認できるのですが、具体的なアルゴリズムについては参考文献が掲示されるのみで、MATLAB上でどのように動作しているかの確認の方法がないか思案していたのですが、
edit trainlm
等で関数の中身を確認することでアルゴリズムの確認もできました。
michio
michio 13 May 2020
丁寧にご連絡頂きありがとうございました。お役に立ちましたら幸いです。

댓글을 달려면 로그인하십시오.

추가 답변(0개)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!