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

조회 수: 1 (최근 30일)
hitoku
hitoku 2020년 5월 11일
댓글: michio 2020년 5월 13일
ニューラルネットワークにおける学習アルゴリズムはどのように確認すればよいでしょうか?
例えば以下のコードでは、
[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関数の様にレーベンバーグ・マルカート法逆伝播などの学習アルゴリズムを関数として書き出すことはできないでしょうか?

채택된 답변

michio
michio 2020년 5월 12일
浅い多層ニューラル ネットワークの学習と適用学習アルゴリズムの項にあるアルゴリズムの一覧が参考になるかもしれません。
リンク先の構文に
net.trainFcn = 'trainlm'
などと記載があると思いますが、net.trainFcn で使用される学習アルゴリズムを確認できます。
例えば
edit trainlm
と実行すると関数の中身も確認できますが、お役に立ちますでしょうか。
  댓글 수: 2
hitoku
hitoku 2020년 5월 12일
回答ありがとうございます。
アルゴリズムの一覧および変更方法等は調べれば確認できるのですが、具体的なアルゴリズムについては参考文献が掲示されるのみで、MATLAB上でどのように動作しているかの確認の方法がないか思案していたのですが、
edit trainlm
等で関数の中身を確認することでアルゴリズムの確認もできました。
michio
michio 2020년 5월 13일
丁寧にご連絡頂きありがとうございました。お役に立ちましたら幸いです。

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Deep Learning Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!