回帰学習器の「予測と実際のプロット」について

4 views (last 30 days)
Gyuyoung Yoon
Gyuyoung Yoon on 7 Mar 2020
Commented: michio on 21 Sep 2021
回帰学習器を用いて、回帰モデルを作成中です。
11個の説明変数に対して、1個の目的変数を予測する近似式を作成、2500個のデータセットを用いて学習させています。
学習モデルはガウス過程回帰であり、交差検証の分割数は5分割にしています。
学習のあと得られた近似式の予測精度を確かめるため、「予測と実際のプロット」使ってプロットを表示させました。
そのあと、モデルをエキスポートして同一データセットを使って予測値を算出して、プロットさせると前述の「予測と実際のプロット」の結果と一致しません。
回帰学習器で出力させた「予測と実施のプロット」とモデルをエキスポートさせて予測値を算出した結果とが一致しないのはなぜでしょうか。
交差検証のため、5分割して学習させていることが影響しているようですが、「予測と実施のプロット」で表示させている予測とはどんな値でしょうか。
よろしく教えてください。

Answers (1)

michio
michio on 7 Mar 2020
  2 Comments
Isamu
Isamu on 16 Sep 2021
↑のリンクを拝見し、プロットの再現方法自体は理解できました。
しかし、Gyuyoung Yoonさんのご指摘のように、「予測と実施のプロット」で表示されているプロットがどんな値なのかについては説明がございませんでした。
「予測と実施のプロット」で表示されている値は、どういった値なのでしょうか。
michio
michio on 21 Sep 2021
「予測と実際のプロット」はモデルの予測結果("予測"、y 軸)と学習データ値(”実際”、x軸)を表示しています。
> そのあと、モデルをエキスポートして同一データセットを使って予測値を算出して、プロットさせると前述の「予測と実際のプロット」の結果と一致しません。
については、Gyuyoung Yoonさんのご指摘の通り交差検証が影響しています。デフォルトの設定だと、アプリ上では交差検証の結果がプロットされています。一方でエキスポートしたモデルは全データで学習したモデルなので、同じデータセットで予測結果を計算すると、アプリ上とは違う結果になります。
例えば交差検証の代わりに「再代入検証」を選択するとアプリ上のプロットと、学習済みモデルをエキスポートして同じデータセットに対しての予測結果のプロットは一致するかと思います。
交差検証を選択した際のアプリ上での”予測結果”とは何か
話を単純にするため2分割交差検証を考えて学習データを data1 と data2 に分けます。アプリ上では、data1 で学習したモデルでの data2 に対しての予測、data2 で学習したモデルでの data1 に対しての予測結果が表示されます。ただ、エキスポートされるモデルは data1 + data2 を併せたデータで学習されたモデルになります。

Sign in to comment.

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!