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

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

Accepted Answer

Naoya
Naoya on 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
  1 Comment
Y.T
Y.T on 6 Nov 2023
ご回答ありがとうございました。

Sign in to comment.

More Answers (0)

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!