学習済みの回帰ニュー​ラルネットワークにて​、任意の数値と等しい​、もしくは最も近い出​力値を探し、それに対​応する入力パラメータ​を特定する方法を教え​てください。

入力3つ、出力1つの回帰ニューラルネットワークを構築しました。
例えば、入力30、40、50の時、60が推定値として出力されます。
ここで、任意の数値を指定し、ニューラルネットワーク上でそれと等しい出力値を探し、それに対応する入力パラメータを特定する方法を教えていただきたいです。
(例)
任意の数値 80
   ↓
ニューラルネットワーク上で出力値が80、もしくはそれに最も近い出力値を探す。
(仮) 最も近い値 79 が見つかった。
   ↓
その出力値に対応する入力パラメータを特定する。
   ↓
出力値 79 に対応する入力パラメータ 50、75、60を特定。

 采纳的回答

Naoya
Naoya 2023-11-6

0 个投票

学習済モデルを 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

1 个评论

Y.T
Y.T 2023-11-6
ご回答ありがとうございました。

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Statistics and Machine Learning Toolbox 的更多信息

产品

版本

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!