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

4 ビュー (過去 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!