組込み可能なニューラルネットワークライブラリ
NAG データマイニング コンポーネントではニューラルネットワークの計算を行うための 各種機能が提供されています。NAG データマイニング コンポーネントはC言語, C++, Java, VBA(Excel)など様々な環境からご利用いただけます。またWindows, Linux, Solaris など様々なOSをサポートします。 NAG データマイニング コンポーネントについての詳細は こちらをご参照下さい。
NAGが提供するニューラルネットワークの機能
NAGのデータマイニング コンポーネントでは多層パーセプトロン ニューラルネットワークの機能が提供されます。 多層パーセプトロン ニューラルネットワーク(multi-layer perceptron (MLP)) は図に示されるような有向グラフ として表現される柔軟性の高い非線形モデルです。
この図は一つの隠れ層を持つフィードフォワードMLPを示しています。MLP では計算ノードは円で表され、円同士をつなぐ線分は重みを表します。入力層は独立変数の数分のノードから構成され
ます。一方、出力層には従属変数の数だけのノードがあります。隠れ層中のノード数はユー
ザが指定しますが、これによってMLP モデル中のフリーパラメータ数が規定されます。
入力層のノードは独立変数の値を取り、これに重みをかけます。隠れ層や出力層のノードは1つ前の階層内の ノードで接続されているものからの寄与を合計し、それに対し伝達関数(transfer function) を適用します。伝達関数としてはS字状(sigmoidal (logistic)) 関数、双曲正接(hyperbolic tangent) 関数、 1次関数といったものが用いられます。
多層パーセプトロン ニューラルネットワークにおけるフリーパラメータを最適化するプロセスはトレーニングと呼ばれます。トレーニングにおいてはニューラルネットワークの予測値とトレーニングデータの値との差(誤差)の2乗和を最小化する処理が行われます。通常誤差関数の曲面は非常に複雑なものとなります。
【NAGのデータマイニングコンポーネントのドキュメント】
イントロダクションガイド
ユーザーガイド
提供されるニューラルネットワーク関数(サブルーチン)
nagdmc_mlp - 多層パーセプトロンモデルの計算を行うこの関数(サブルーチン)はMLPモデルの計算に使用されます。 フリーパラメータに対し乱数値を用いることによって数多くの初期条件を試すよう 指示することができます。この場合、これら初期の最適化に関する最良値は メインの最適化プロセスに対する初期値として使用されます。 ユーザは初期の最適化の数と最適化プロセスにおける反復回数とを制御できます。
nagdmc_predict_mlp - 多層パーセプトロンモデルを用いて予測値を計算する
この関数はnagdmc_mlpから返されるMLPモデル情報が与えられたとき、新たな データレコードに対する予測を計算する機能を提供します。
その他データマイニング機能一覧