Miyazawa’s Pukiwiki
MATLAB Note/Neural Network Toolbox/その他のネットワーク
はすでに存在します。
開始行:
#contents
**エルマンネットワーク [#i8b17418]
-[[リファレンス:http://dl.cybernet.co.jp/matlab/support/m...
-エルマンネットワークは、時系列学習ができるリカレントネッ...
-単語獲得、文法獲得のモデルとしても研究されています。
--[[エルマンネットの学習事例:http://www.twcu.ac.jp/~asaka...
--[[子供の語彙獲得戦略のモデル化に関する研究:http://kussh...
-【例1】 過去の時系列データの学習
--例えば、以下のような入力ベクトルに対して、~
INPUT =
0 1 1 0 1 1 1 1 0
以下のような応答を得たいとします。~
OUTPUT =
0 0 1 0 0 1 1 1 0
すなわち、「入力ベクトルで1が2回以上連続して与えられたと...
--エルマンネットワークの訓練は、以下のようにします。~
#geshi(matlab){{
%入力ベクトルを作成
P = [0 1 1 0 1 1 1 1 0]
Pseq = con2seq(P) %Pをエルマンネットワ...
%ターゲットベクトル(教師データ、望ましい応答のベクトル...
T = [0 (P(1:end-1)+P(2:end) == 2)] %P内で2回続けて1があ...
Tseq = con2seq(T) %Tをエルマンネットワ...
%ネットワークを生成
%入力ベクトルは0から1の範囲内、5個の中間層tansigニューロ...
net = newelm([0 1],[5 1],{'tansig','logsig'});
%訓練
net.trainParam.epochs = 100; %訓練回数100エポック...
net = train(net,Pseq,Tseq);
%結果を確認
P = [0 1 1 0 1 0 1 1 0 1 1 0]
Pseq = con2seq(P);
Yseq = sim(net,Pseq);
Y = seq2con(Yseq); %セル配列形式を同時...
Y = Y{1,1} %結果を出力
}}
--学習結果は以下のようになります。(入力ベクトル=P、ネッ...
P =
0 1 1 0 1 0 1 ...
Y =
0.1431 0.1036 0.6315 0.2082 0.5628 0.1791 0.39...
--1が2回以上連続して与えられたとき、Yの応答値が大きくなっ...
--同じ入力ベクトル「1」に対する応答でも、毎回値が異なって...
-【例2】 将来の入力データの予測
--例えば、以下のような入力ベクトルに対して、以下のような...
INPUT =
0 1 1 0 1 1 1 1 0
OUTPUT =
1 1 0 1 1 1 1 0 0
OUTPUTは次回のINPUTの値です。すなわち、「1が与えられたと...
--エルマンネットワークの訓練は、以下のようにします。~
#geshi(matlab){{
%入力ベクトルを作成
P = [0 1 1 0 1 1 1 1 0]
Pseq = con2seq(P)
%ターゲットベクトル(教師データ、望ましい応答のベクトル...
T = [1 1 0 1 1 1 1 0 0]
Tseq = con2seq(T)
%ネットワークを生成
net = newelm([0 1],[5 1],{'tansig','logsig'});
%訓練
net.trainParam.epochs = 100;
net = train(net,Pseq,Tseq);
%結果を確認
P = [0 1 1 0 1 0 1 1 0 1 1 0]
Pseq = con2seq(P);
Yseq = sim(net,Pseq);
Y = seq2con(Yseq);
Y = Y{1,1} %結果を出力
}}
--学習結果は以下のようになります。(入力ベクトル=P、ネッ...
P =
0 1 1 0 1 0 1 ...
Y =
0.7188 0.9724 0.3087 0.9880 0.9699 0.9570 0.99...
--次回に1が与えられるとき、Yの応答値が大きくなっているこ...
-【例3】 単語境界の獲得シミュレーション
**LVQ [#j564318b]
-[[リファレンス:http://dl.cybernet.co.jp/matlab/support/m...
終了行:
#contents
**エルマンネットワーク [#i8b17418]
-[[リファレンス:http://dl.cybernet.co.jp/matlab/support/m...
-エルマンネットワークは、時系列学習ができるリカレントネッ...
-単語獲得、文法獲得のモデルとしても研究されています。
--[[エルマンネットの学習事例:http://www.twcu.ac.jp/~asaka...
--[[子供の語彙獲得戦略のモデル化に関する研究:http://kussh...
-【例1】 過去の時系列データの学習
--例えば、以下のような入力ベクトルに対して、~
INPUT =
0 1 1 0 1 1 1 1 0
以下のような応答を得たいとします。~
OUTPUT =
0 0 1 0 0 1 1 1 0
すなわち、「入力ベクトルで1が2回以上連続して与えられたと...
--エルマンネットワークの訓練は、以下のようにします。~
#geshi(matlab){{
%入力ベクトルを作成
P = [0 1 1 0 1 1 1 1 0]
Pseq = con2seq(P) %Pをエルマンネットワ...
%ターゲットベクトル(教師データ、望ましい応答のベクトル...
T = [0 (P(1:end-1)+P(2:end) == 2)] %P内で2回続けて1があ...
Tseq = con2seq(T) %Tをエルマンネットワ...
%ネットワークを生成
%入力ベクトルは0から1の範囲内、5個の中間層tansigニューロ...
net = newelm([0 1],[5 1],{'tansig','logsig'});
%訓練
net.trainParam.epochs = 100; %訓練回数100エポック...
net = train(net,Pseq,Tseq);
%結果を確認
P = [0 1 1 0 1 0 1 1 0 1 1 0]
Pseq = con2seq(P);
Yseq = sim(net,Pseq);
Y = seq2con(Yseq); %セル配列形式を同時...
Y = Y{1,1} %結果を出力
}}
--学習結果は以下のようになります。(入力ベクトル=P、ネッ...
P =
0 1 1 0 1 0 1 ...
Y =
0.1431 0.1036 0.6315 0.2082 0.5628 0.1791 0.39...
--1が2回以上連続して与えられたとき、Yの応答値が大きくなっ...
--同じ入力ベクトル「1」に対する応答でも、毎回値が異なって...
-【例2】 将来の入力データの予測
--例えば、以下のような入力ベクトルに対して、以下のような...
INPUT =
0 1 1 0 1 1 1 1 0
OUTPUT =
1 1 0 1 1 1 1 0 0
OUTPUTは次回のINPUTの値です。すなわち、「1が与えられたと...
--エルマンネットワークの訓練は、以下のようにします。~
#geshi(matlab){{
%入力ベクトルを作成
P = [0 1 1 0 1 1 1 1 0]
Pseq = con2seq(P)
%ターゲットベクトル(教師データ、望ましい応答のベクトル...
T = [1 1 0 1 1 1 1 0 0]
Tseq = con2seq(T)
%ネットワークを生成
net = newelm([0 1],[5 1],{'tansig','logsig'});
%訓練
net.trainParam.epochs = 100;
net = train(net,Pseq,Tseq);
%結果を確認
P = [0 1 1 0 1 0 1 1 0 1 1 0]
Pseq = con2seq(P);
Yseq = sim(net,Pseq);
Y = seq2con(Yseq);
Y = Y{1,1} %結果を出力
}}
--学習結果は以下のようになります。(入力ベクトル=P、ネッ...
P =
0 1 1 0 1 0 1 ...
Y =
0.7188 0.9724 0.3087 0.9880 0.9699 0.9570 0.99...
--次回に1が与えられるとき、Yの応答値が大きくなっているこ...
-【例3】 単語境界の獲得シミュレーション
**LVQ [#j564318b]
-[[リファレンス:http://dl.cybernet.co.jp/matlab/support/m...
ページ名:
既存のページ名で編集する