総合情報サイト / マニュアル / AIの学習 / 精度評価の値について

精度評価の値について

「概要」や「精度評価」、「学習情報」タブに表示される予測精度の値の違いについて、学習用データセットをどのように使って学習し、精度を算出しているのか概説します。

■学習に使用するデータ

MatrixFlowではAIモデルを作成するとき、投入した学習用データセットを 学習の詳細設定 の「テストデータ比率」の指定に基づいて訓練データとテストデータに分割します。

例えば、学習用データセットが500行あり、テストデータ比率に0.1を指定したら、
訓練データ :450行
テストデータ:50行 に分割されます。

精度評価の値_1.png

■学習の進み方と学習中に求まる予測精度

学習は、訓練データのみを使って進みます。

<レシピに「AutoFlow」を利用している場合>

訓練データをさらにk個のまとまりに分割して、そのうちの1つを検証データとします。
残りの訓練データで学習を行いながら、最も精度良く予測ができるパラメータの組み合わせを探索します。

このとき、パラメータの組み合わせが適切なのかを検証するために、1試行ごとに検証データを使ってアルゴリズムに沿った精度評価値を算出します。
ここで気を付けたいのは、この精度評価値は訓練データと検証データを使って求めた値である点です。

これをアルゴリズムとパラメータを変えながら、レシピブロックAutoFlowの「試行回数」に指定した回数、繰り返します。

精度評価の値_2.png

このように過学習を防ぎながら、最も精度の高いパラメータの設定値を導きます。
求めた値の内、最高精度の評価値とそのハイパーパラメータは、「学習情報」タブの画面左側に表示されます。

精度評価の値_3.png

<「AutoFlow」以外の場合>

パラメータの自動探索機能は備えていませんので、訓練データを使って、レシピに手動で設定したパラメータ値で学習を行います。
そのため、「学習情報」タブには訓練データを使って求めた評価値は表示されません。

■モデル性能を表す予測精度の値

「試行回数」に指定した回数の試行が終わっても、未知のデータに対する予測精度は分かりません。
そこで、最後にテストデータ(学習に使用していない、AIモデルにとって未知のデータ)と、試行で導いた最高精度のパラメータを使って、モデル性能を評価する精度値を算出します。

この値は、「概要」と「精度評価」タブの「テストデータ正解率」(分類の場合)、または「テストデータ精度 (R2)」(回帰の場合)に表示されます。

精度評価の値_4.png

■まとめ

  • 「学習情報」タブの最高精度は、訓練データ+検証データで求めた値(AutoFlowのみ)
    パラメータの組み合わせが適切かを表す
  • 「概要」と「精度評価」タブの精度評価値は、テストデータで求めた値
    モデルの性能を表す
  • 異なるデータで求めた値のため、表示される値もそれぞれ異なる
  • モデルの性能を評価するには、テストデータで求めた「概要」と「精度評価」タブの精度評価値を参照する