2009年2月6日金曜日

XOR(排他的論理和)でニューラルネットワークで解いてみる


%----------------- MATLABソース -----------------%
%訓練のための入力データ(XOR)
P = [ 0 0 1 1; 0 1 0 1 ];
%ターゲットデータ(XOR)
T = [0 1 1 0];
%ニューロンモデル
net=newff(minmax(P),[3,1],{'tansig','purelin'},'traingd');
%訓練パラメータ
net.trainParam.show = 50;
net.trainParam.lr = 0.05;
net.trainParam.epochs = 900;
net.trainParam.goal = 1e-5;
%訓練
net = train(net, P, T);
%シミュレーション
S = sim(net,P)
%----------------- MATLABソース -----------------%
実行結果

S =

0.0013 1.0008 0.9954 0.0040