コース: AI 入門

過学習や学習不足に対処する

コース: AI 入門

過学習や学習不足に対処する

息子が3歳の時、寝る前に 歯磨きをしてシャワーを浴びるよう 教えました。 その後幼稚園から電話があり、 「昼寝の前に歯磨きとシャワーを要求して 困る」と言われました。 昼寝の前はしなくてもいいと 息子に説明すると、 しぶしぶ承諾しました。 思えば最初のルールが単純すぎて、 家ではよくても外では 通用しなかったのです。 それでルールを少し複雑にしました。 幼稚園と、祖父母の家と、飛行機では、 歯磨きとシャワーは要らないと教えました。 このように変数を追加するたびに、 息子は不機嫌になっていきました。 AI の教師あり学習でも、 システムはこれと同じ問題に直面します。 訓練データで構築した単純なルールは、 もっとサイズの大きなテストデータに うまくあてはまらないのです。 息子の場合と同じです。 家の中ではうまく行っても、 家の外には通用しないのです。 これをデータの学習不足といいます。 これに対し、ルールを複雑にしすぎると、 些末な違いに捉われすぎて大局が 見えなくなります。 息子も複雑すぎるルールに 苛立っていました。 これをデータの過学習といいます。 家の売買を仲介するウェブサイトで 考えてみましょう。 物件の価格を試算することは 重要な仕事です。 例えば、床面積、所在地、浴室洗面所の数、 寝室の数という4つの変数で、 ナイーブベイズを使うとします。 最近成約した物件のデータについて、 4つの予測変数を個別に評価すれば 正確に予測するモデルができます。 ただし、このモデルは、訓練データの中から 4つの予測変数しか使っていないので、 学習モデルは単純です。 常に歯磨きとシャワーをするという ルールぐらい単純なので かなりの学習不足状態で、 訓練データ以外の多くの物件には うまくあてはまらないと見るのが 妥当でしょう。 しかも、不動産価格のデータは もともと分散が大きいという 性質を持っています。 同じ地域の、同じような床面積や 間取りであっても、売却価格が異なる家が たくさんあります。 近いグループを見つけにくいので、 もっと多くの予測変数を追加する という対応が考えられます。 例えば、眺望、設備の新しさ、床材、 徒歩での利便性といった予測変数を 加えていけば、 アルゴリズムはそれだけ 多くの変数を考慮に入れるため、 予測が非常に複雑になります。 データの過学習になった状態です。 正確な予測にするためには、 もっと変数同士の関係を考慮に入れた 分析にする必要があります。 学習不足と過学習の問題に、 万能解はありません。 訓練データによる学習では、 シンプルなルールを どこまで複雑化すれば正確な 予測になるかを考えて、 2つの最適なバランスを決めることが ポイントとなります。

目次