Location : Home > Languages > Perl > Package Title : AI::LibNeural |
![]() |
AI::LibNeural - ニューラル・ネットワークのライブラリーの Perl 拡張
use AI::LibNeural; my $nn = AI::LibNeural->new( 2, 4, 1 ); # 論理的 AND を教える $nn->train( [ 0, 0 ], [ 0.05 ], 0.0000000005, 0.2 ); $nn->train( [ 0, 1 ], [ 0.05 ], 0.0000000005, 0.2 ); $nn->train( [ 1, 0 ], [ 0.05 ], 0.0000000005, 0.2 ); $nn->train( [ 1, 1 ], [ 0.95 ], 0.0000000005, 0.2 ); my $result = $nn->run( [ 1, 1 ] ); # 結果は ~ 0.95 のはず。 $result = $nn->run( [ 0, 1 ] ); # 結果は ~ 0.05 のはず。 $nn->save('and.mem');
C++ で書かれたニューラルネットワークライブラリ libneural の Perl への拡張である。
Perl オブジェクトとして libneural ライブラリへのアクセサを提供する。libneural はフィードフォワード・バックプロパゲーション ニューラルネットワークを実装した C++ のライブラリである。
インタフェースは極めて単純で、バックプロパゲーションの知識を習得するのに数分しかかからないだろう。
$nn = AI:LibNeural->new()
新たに空の AI::LibNeural オブジェクトを生成する。load メソッドが直後に来なければならない。
$nn = AI::LibNeural->new(FILENAME)
指定されたメモリファイルから新たに AI::LibNeural オブジェクトを生成する。
$nn = AI::LibNeural->new(INTPUTS,HIDDENS,OUTPUTS)
入力ノード INPUTS・隠しノード HIDDENS・出力ノード OUTPUTS から新たに AI::LibNeural オブジェクトを生成する。
$nn->train([I1,I2,...],[O1,O2,...],MINERR,TRAINRATE)
N を入力の数、M を出力の数として、所与の入力 I1-IN に対し期待される出力を O1-OM とした時に学習サイクルを完了する。MINERR は達成すべき出力における平方誤差平均である。TRAINRATE は使用された学習率である。
(O1,O2) = $nn->run([I1,I2,...])
過去の学習に基づく、所与の入力(I1-ON)に対する出力(O1-OM)を計算する。ネットワークが学習を終了後に呼び出されること。
NUM = $nn->get_layersize(WHICH)
特定のレイヤ WHICH におけるノードの数を取得する。WHICH は ALL, INPUT, HIDDEN, OUTPUT である。通常はネットワークはファイルからロードされるため。
status = $nn->load(FILENAME)
status = $nn->save(FILENAME)
ネットワークのノード構成・重みをメモリからロードし格納する。FILENAME はメモリが格納/取得できるファイルの場所でなければならない。
デフォルトではなし。
Ross McFarland, <rmcfarla at neces dot com>
Perl. libneural のドキュメント
私が書いたコードは以前に見たモジュールを参考にしている。もしあなたが原著作者であるならばそれを私に示してくれればクレジットに載せる。
Copyright (C) 2003 by Ross McFarland
本プログラムはフリーソフトウェアであり、Free Software Foundation により公開された GNU General Public License (version 2 またはユーザの考えに基づきそれ以降のバージョン)の条件の下で修正/再配布してもよい。
本プログラムは有用であると考え配布されているが、 MERCHANTABILITY または FITNESS FOR A PARTICULAR PURPOSE で保証されていたとしても無保証である。詳しくは GNU General Public License を参照のこと。
本プログラムに関しては GNU General Public License のコピーを入手すべきである。もし手元になければ the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. まで連絡を。
![]() |
Updated : 2008/01/25 |