学習済みの回帰ニューラルネットワークにて、任意の数値と等しい、もしくは最も近い出力値を探し、それに対応する入力パラメータを特定する方法を教えてください。
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
入力3つ、出力1つの回帰ニューラルネットワークを構築しました。
例えば、入力30、40、50の時、60が推定値として出力されます。
ここで、任意の数値を指定し、ニューラルネットワーク上でそれと等しい出力値を探し、それに対応する入力パラメータを特定する方法を教えていただきたいです。
(例)
任意の数値 80
↓
ニューラルネットワーク上で出力値が80、もしくはそれに最も近い出力値を探す。
(仮) 最も近い値 79 が見つかった。
↓
その出力値に対応する入力パラメータを特定する。
↓
出力値 79 に対応する入力パラメータ 50、75、60を特定。
0 Kommentare
Akzeptierte Antwort
Naoya
am 6 Nov. 2023
学習済モデルを net として、ネットワークの目標出力を y
例)
>> y = 0.342;
とする時、ネットワーク出力 "net(x)" と目標値 "y" の差を最小化するような入力 x を求めればよいので、以下例のように fminsearch() を使って 入力値 x0 を推定することができます。
>> x0 = fminsearch( @(x) abs(net(x)-y).^2, rand(3,1))
x0 =
0.3531
1.3784
0.6363
試しに x0 を net() に適用して推論してみますと、目標値 "y" と同等の値を得ることが確認できます。
>> net(x0)
ans =
0.3420
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!