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

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

采纳的回答

Naoya
Naoya 2023-11-6
学習済モデルを 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 个)

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!