見出し画像

ワクワクから始めるAI・データ解析(6.AIモデル評価編)

この記事は初心者向けのノーコードAI構築ツール「Humanome CatData」(以下「CatData」)を使い、まずデータをさわってAIづくりをはじめよう、という連載の第6回となります。これまでの記事は以下のリンクからまとめてお読みいただけます。

前回は、前処理が終わったデータを使ったAIモデルの構築を行いました。

今回は、前回構築したAIモデルは実用に足る品質なのか?について確かめるため、性能評価を実施します。

スクリーンショット 2021-04-28 16.52.14

CatDataを使えば、AIモデル自体は簡単に作成できるのですが、できあがりは必ずしも納得の仕上がりになるとは限りません。そのため、実用的な精度が出るまで、作成条件を変えつつ試行錯誤する必要があります。

(1) AIモデル評価の流れ

スクリーンショット 2021-04-28 19.58.51

AIモデルの評価の流れは上図のとおりです。見たことのない単語がいくつかあると思いますので、順番に説明していきます。

画像3

前回の最後、AIモデルが完成したところまで戻ります。作ったモデルの精度は上記右側「評価結果」から確認することができます。ボタンを押すと詳細ページへ移動します。

「評価結果」のページでは、作成したモデルの精度を評価する「混同行列」と、予測する際にどの項目を重要視したのかを示す「変数の重要度」の2つのグラフが表示されています。

※ 注意
モデルの精度は、ランダムに実施される学習データとテストデータの振り分けられ方などによって変化します。そのため、この後に出てくる例とは精度が異なる可能性があります。

(2)「混同行列」で作成したモデルの精度をチェックする

混同行列(Confusion Matrix)とは、機械学習モデルの性能を表現する方法の一つです。与えた問題と、それに対するAIの回答を整理した表です。

マスの数は、予測したい目標の種類(「クラス」といいます)の数で決まります。今回は予想したいペンギンが3種類いるので3✕3=9マスとなります。X軸(横軸:Actual)は与えられた正解の数を、Y軸(縦軸:Predicted)は与えられた問題に対してAIモデルが回答した結果を示しています。

スクリーンショット 2021-04-28 20.26.07

上図を参考に、学習データ側を例にとって説明します。

左上の濃い緑のマスには「119」と書かれています。これは「アデリーペンギン119個体の内、AIは119個体をアデリーペンギンと予測した」ということを示します。また、「0」と書かれた左下の薄い緑のマスは「どのアデリーペンギンもジェンツーペンギンと予測されなかった」ということを示します。

混同行列の上に表示されている「精度」は「正解した数 / 与えられた問題数」で算出され、「1」となっている場合、全てのペンギンが正しく分類された(精度100%)ことを示しています。

さらに、テストデータの混同行列を確認してみましょう。

上段真ん中のマスに「4」と書かれています。ヒゲペンギン(Chinstrap)の個体に対し、AIがアデリーペンギンと間違って回答した事例が4個体あったことを示しています。同様に、ジェンツーペンギンの内、1個体がヒゲペンギンに間違えられています。

テストデータの精度は、割り振られた84個体中、AIの正解数が79個体だったため、79/84=0.94048 と記載されています。学習データでは精度100%を達成したモデルですが、テストデータ(見たことのない新しいデータ)の予想では少し間違ってしまうようです。

混同行列は、学習データ・テストデータともに、対角線上に濃い緑(合計と比較して値が大きい状態)が並ぶ状態が理想的です。今回のペンギンデータの解析では、作成したモデルが高い性能を持つため、対角線上に濃い緑の枠が並んでいます。

(3) 「過学習」とは

スクリーンショット 2021-04-30 20.50.18

一般的に、テストデータでの予測精度は訓練データに比べて下がるものですが、学習データでの予測精度と比べて、訓練データの精度が極端に低くなる状態がしばしば見られます。この状態を「過学習(オーバーフィット)」といいます。

過学習したモデルは、学習データに含まれる学習しなくてもいいような情報も学んでしまい、学習データに過剰に適応しています。そのため、訓練データを使った予測では精度が出るものの、訓練データとは異なる見知らぬデータ(テストデータ)では同水準の精度は出せません。

この見知らぬデータへの対応能力のことを「汎化性能」といいます。過学習したモデルは汎化性能がない、と称されます。

汎化性能を上げるには「十分な数の訓練データを準備する」「典型的なデータを網羅的に準備する」「利用するモデルを変更する」「モデルのハイパーパラメータを調整する」などの対策が考えられます。

過学習は例えるならば「驚異的にパターンを覚えられるものの、応用が全く効かない人」です。少し想像しにくいかもしれませんが、この人(Aさん)がカレーのレシピを学ぶ場合を考えます。

Aさんは「玉ねぎがLサイズのレシピ」と「玉ねぎがSサイズのレシピ」を正確に記憶しました。ところが、実際にカレーを作ろうとしたところ、Mサイズの玉ねぎしかありませんでした。

理想的には「MサイズはLサイズとSサイズの中間」と考えて、臨機応変に調整するでしょう。しかし、Aさんは「Mサイズの玉ねぎ?知らない!」となり、突然塩を10倍入れ始めたり、皮をむかずに玉ねぎを投入しました。そして、カレーは残念な仕上がりとなってしまいました。

本来は「玉ねぎ」としてレシピを考えれば、多少サイズが違っても美味しいカレーができます。しかし、Lサイズ用、Sサイズ用と必要以上に分類したレシピを過剰に学習したことで、融通の効かない状態になってしまいました。

(4) AIモデルは何を見て予測したのか

スクリーンショット 2021-04-29 19.48.11

今回、学習に利用したモデルのランダムフォレストは、予測性能が高いだけではなく、どの項目(「変数」といいます)を重要視して予測されたか?を算出できる、という特徴があります。

CatDataは、予測に利用した特徴が精度に及ぼした結果を「変数の重要度」にまとめて示しています。この数値が大きいほど、予想に際して重要な特徴となります。今回の例では「くちばしの長さ」「水かきの長さ」が非常に重要であることが確認できます。

スクリーンショット 2021-04-29 20.09.34

実際、可視化編①で確認したとおり、くちばしの長さと水かきの長さで可視化をすると、きれいにペンギンの種名ごとに分かれます。

しかし、このグラフをよく見ると、一部の個体はこの2つの値だけでは分類が難しそうです。ランダムフォレストは、くちばしの長さと水かきの長さに加えて、くちばしの高さや体重なども補完的に利用することで、より正確な分類を行っていることがわかります。

次回のお知らせ

前回から2回にわたって、AI構築とその評価方法についてご説明してきました。この一連の流れがAI構築の基本となります。

ぜひ、お手持ちのデータで、AI判定の可能性と弱点を体感してみてください。そして「AIを使ってできる新しいこと」を想像してください。手元でAIを作ることで、本編でいくつか登場した新しい用語も自然に理解できると思います。

次回は、AI構築の最大の目標「作ったモデルを使って、見知らぬデータから予測する」行程となります。ぜひ、次回もお読みください。


AI・DX・データサイエンスについてのご質問・共同研究等についてはお気軽にお問い合わせ下さい!

この記事が気に入ったらサポートをしてみませんか?