Main Content

Neural Net Time Series

動的ニューラル ネットワークを使用した非線形時系列問題の求解

説明

Neural Net Time Series アプリでは、3 種類の非線形時系列問題を解くために、動的なニューラル ネットワークの作成、可視化、学習ができます。

このアプリを使って次のことを実行できます。

  • 次の 3 種類のニューラル ネットワークを作成する。NARX ネットワーク、NAR ネットワーク、および非線形入出力ネットワーク。

  • ファイルまたは MATLAB® ワークスペースからデータをインポートするか、サンプル データ セットの 1 つを使用する。

  • 学習セット、検証セット、およびテスト セットへのデータの分割。

  • ニューラル ネットワークの定義と学習。

  • 平均二乗誤差と回帰分析を使用したネットワーク性能の評価。

  • 自己相関プロットや誤差のヒストグラムなどの可視化プロットの使用による結果の解析。

  • 結果を再現したり、学習プロセスをカスタマイズしたりするための MATLAB スクリプトの生成。

  • MATLAB Compiler™ および MATLAB Coder™ ツールによる配布に適した関数の生成、および Simulink® Coder での使用に向けた Simulink へのエクスポート。

Neural Net Time Series app

Neural Net Time Series アプリを開く

  • MATLAB ツールストリップ: [アプリ] タブの [機械学習および深層学習] にあるアプリ アイコンをクリックします。

  • MATLAB コマンド プロンプト: ntstool と入力します。

アルゴリズム

Neural Net Time Series アプリには、ニューラル ネットワークに学習させるために使用できる組み込みの学習アルゴリズムが用意されています。

学習アルゴリズム説明
レーベンバーグ・マルカート法

レーベンバーグ・マルカート法の最適化に従って重みとバイアスの値を更新します。レーベンバーグ・マルカート学習は、他の手法よりも多くのメモリを必要としますが、多くの場合、最も高速な学習アルゴリズムです。

このアルゴリズムを実装するために、Neural Net Time Series アプリでは関数 trainlm を使用しています。

ベイズ正則化

ベイズ正則化は、レーベンバーグ・マルカート法の最適化に従って重みとバイアスの値を更新します。その後、誤差と重みの二乗の結合を最小化して、正しい結合を判定し、適切に汎化を行うネットワークを生成します。このアルゴリズムは通常、時間がかかりますが、ノイズを含むデータ セットや小さなデータ セットに汎化するのに適しています。

このアルゴリズムを実装するために、Neural Net Time Series アプリでは関数 trainbr を使用しています。

スケーリング共役勾配法逆伝播

スケーリング共役勾配法逆伝播は、スケーリング共役勾配法に従って重みとバイアスの値を更新します。大規模な問題では、スケーリング共役勾配法を使用することを推奨します。この方法では、レーベンバーグ・マルカートまたはベイズ正則化で使用されるヤコビアン計算よりもメモリ効率の高い勾配計算が使用されるためです。

このアルゴリズムを実装するために、Neural Net Time Series アプリでは関数 trainscg を使用しています。