過学習とは|その意味や問題点、対処における考え方

この記事では、機会学習における「過学習(オーバーフィッティング)」について、その意味や問題点、過学習への対処において重要な考え方を具体例をもとに解説します。

過学習とは何か

機械学習では、対象のデータセットの中から特定の「パターン」を見つけ出し学習することで、それをもとに新たな未知のデータに対して高い精度で予測が行えることを目指します。このような「未知のデータに対する予測能力」のことを、モデルの汎化性能と呼びます。

一方、モデルが学習するパターンの中には、学習対象のデータ上で「たまたま発生していた」だけで、それ以外のデータでは同様のパターンが見られない、つまり、モデルの汎化性能の向上に寄与しないパターンも含まれることがあります。

過学習(オーバーフィッティング、過剰適合)は、一見すると意味があるように見えるにも関わらず、汎化性能の向上に寄与しない偶然生じたパターンを見つけ出し、それを学習してしまうことを指します。

過学習の具体例

例えば、ある時点の天気と、気温、気圧、湿度、風向、風速の5つの変数に関する1000日分のデータから、天気が「晴れ」となる確率を予測する機械学習モデルを構築するケースを考えます。

決定木系の機械学習モデルでは、条件分岐を無限に増やすことができるため、1000件のデータ全てに対して1件ずつ合致する条件分岐を作ることができます。その結果、実際に晴れだった日については100%、晴れではなかった日については0%の予測確率を返し、学習データを完璧な精度で予測するモデルを作ることができます。

しかし、このモデルに対して学習データとは異なる新たなデータが与えられた場合、5つの変数全てが既存の条件分岐に合致するものでない限り、新たなデータに対する晴れの確率は常に0%と予測されます。これは、このモデルが学習データを「丸暗記」しただけのモデルであり、学習データに「過剰に適合」したことで、それ以外のデータに対しては全く汎化されていないモデルとなったことが要因です。

過学習の何が問題なのか

過学習が問題となる理由は、予測モデルの構築において重要となる「汎化性能」が、学習データに過剰に適合する過程で犠牲にされるためです。

予測モデルを作る際に学習の対象となるデータは、常に特定の母集団から何かしらの方法で抽出された有限個のサンプル集団です。一方、予測モデルを作る目的は、サンプル集団に対して高い精度で予測を行うことではなく、サンプル集団のもととなった母集団に対して予測を行うことです。

しかし、過学習が発生するケースでは、モデルが学習の過程で余計な疑似相関(見かけ上の相関)を次々に拾ってしまい、疑似相関を用いて「誤った汎化」を行ってしまいます。疑似相関とは、実際には因果関係が存在しないにも関わらず、因果関係があるように見える関係性を指します。

先ほどの決定系の予測モデルの例では、条件分岐を増やしてモデルを複雑にしていく過程で、母集団の特徴を一般的に表したものではない「疑似相関」がモデルに取り込まれ、誤った汎化による予測性の低下が生じています。

一般的に、モデルが正しいパターンを学習している間は、モデルの汎化性能は向上していきます。しかし、それがある程度完了し、余計な疑似相関まで学習し始めると、汎化性能は逆に低下していきます。学習によってモデルが複雑化する過程で、汎化性能が最も高くなる最適なポイントを見つけることが、良いモデルの構築において非常に重要となります。

過学習と汎化性能

作成:Intelligence In Society

過学習が生じる本質的な要因

テストや評価を複数回行い、その中から最も良い結果を採用するような手順を踏むことを「多重比較」と呼び、統計学における仮説検定では「多重検定」として問題視されることがあります。

例えば、サイコロを10回投げて偶数の目が出る回数を数える試行を100回行った場合、必ず数回は8回や9回といった高い確率で偶数の目が出る試行が生じます。この時、その高い確率は偶然に生じただけで、サイコロに特別な性能がないことは明らかですが、このような偶然得られた結果を用いて「このサイコロの特性に有意な傾向がみられる」と結論してしまうことを「多重比較の問題」と呼びます。

機械学習における過学習は、本質的にはこの多重比較の問題であると捉えることができます (Jensen&Cohen 2000)。過学習が生じている状況では、母集団に共通して見られ、母集団の予測に寄与するパターンではなく、データに偶然生じた傾向(ノイズ)をもとにモデルを学習してしまうことで、汎化性能が棄損されるという問題が発生します。

過学習への対処において重要な考え方

過学習を回避するためには、モデルの複雑さをコントロールすることで、学習データへの適合度合いとモデルの複雑さの間で適切なバランスを見つけることが必要です。過学習を回避するための方法には様々なアプローチが存在しますが、以下では、その中で特に重要な概念として、「バリエーション」と「正則化」について解説します。

バリデーション (validation)

過学習を回避するための最も基本的な考え方は、学習データとは異なるデータをもとに、モデルの予測性能を評価することです。最も一般的な方法は、学習データを、モデルの学習に用いるデータと、学習したモデルの評価に用いるデータ(バリデーションデータ)に分け、バリデーションデータに対する予測性能を適切な評価指標で評価します。

先の決定木系の予測モデルの例では、ノード数(ツリーのサイズ)を変化させることで、バリデーションデータに対する予測精度がどう変化するかを観察します。ノード数を増やすに従って汎化性能が向上している場合は、ノード数をさらに増やすことでより高い汎化性能が期待できる一方、逆の場合はすでに過学習が始まっていることを示す情報となります。

これらの情報をもとに、バリデーションデータに対する予測性能が最も高くなるようにノード数を調整することで、過学習を回避し、汎化性能を最大化することを目指します。

バリデーション

作成:Intelligence In Society

なお、学習データをランダムに分割し、そのうちの一つをモデルの評価、その他をモデルの学習に使用する手法を「ホールドアウト法」と呼びます。このホールドアウト法による分割を複数回行い、各回の学習と評価に用いるデータを順番に入れ替えながらモデルの学習と評価を行う「交差検証(クロスバリデーション)」が、より信頼性の高いバリデーションの手法として広く用いられています。

交差検証とホールドアウト法

作成:Intelligence In Society

交差検証に関する詳細は、以下のページをご覧ください。

正則化 (regularization)

過学習を回避するため方法として重要なもう一つの考え方は、正則化 (regularization) です。機械学習では、モデルの複雑さが増すほど過学習のリスクが高まるため、モデルは出来るだけシンプルであることが望ましいと考えられます。

正則化は、モデルの「データに対する適合度」のみを最適化するのではなく、モデルの「データに対する適合度」と、モデルの「シンプルさ」の組み合わせを最適化することを目的とします。

具体的には、以下のような式をもとに、「モデルの適合度」から「モデルの複雑さに対するペナルティ」を差し引いたものを最大化するパラメータの集合 (w) が、最適なものとして選択されます。

argwmax [ (𝐱,𝐰)λ(𝐰) ]arg_wmax\ [\ 適合度(\textbf{x}, \textbf{w})-λ・ペナルティ(\textbf{w})\ ]

 

ここで、x特徴ベクトル、λは最適化においてペナルティをどの程度重要視するかという重み付けを表します。また、argwmax は、[ ]内の数式で表される値を最大化するwを求めることを意味します。ペナルティを計算する関数には、以下の2つがよく用いられます。

L2正則化(L2ノルム):
ペナルティの計算にパラメータwの重み(係数)の2乗和を用います。重みの絶対値が大きいパラメータに対して、大きなペナルティを課すことで、モデルが過剰適合することを防ぎます。

L1正則化(L1ノルム):
重みを2乗せず、重みの絶対値の和を用います。L1正則化では多くのパラメータの係数がゼロになるため、より重要なパラメータの選別などを目的として用いられることもあります。

上記の式から、過学習をコントロールしてモデルの汎化性能を高めるには、ペナルティ自体の重み付けを決めるλの値が重要となることが分かります。各種の機械学習モデルには、それぞれの正則化項を調節(チューニング)するパラメータが設定されており、これらの値を変更しながらバリデーションの結果を確認することで、最適化を行います。

パラメータのチューニングを行う方法には、グリッドサーチと呼ばれる手法やその代替手法が用意されており、モデルを最適化する手段として広く用いられています。

グリッドサーチとその代替手法の詳細については、以下の記事をご覧ください。

ここまで、機会学習における「過学習(オーバーフィッティング)」について、その意味や問題点、過学習への対処において重要な考え方を解説しました。

当記事に関連するトピックについての詳細は、以下のページをご覧ください。

また、機械学習に関する全ての記事は以下のページからご覧いただけます。

参考文献:
◦Jensen, D.D., Cohen, P.R. (2000) “Multiple Comparisons in Induction Algorithms.” Machine Learning 38, 309–338
◦Foster Provost, Tom Fawcett (2014) 『戦略的データサイエンス入門―ビジネスに活かすコンセプトとテクニック』O’Reilly Japan

最近の記事
特集1
特集2
  1. 過学習とは|その意味や問題点、対処における考え方

  2. グリッドサーチとは|その意味・目的や代替手法

  3. 交差検証(クロスバリデーション)とは|その意味、目的、利点や主な手法

  1. ロジスティック回帰とは|オッズとの関係性、線形回帰との相違点

  2. 因果推論|自然実験とは、その意味・分析手法と具体例

  3. TF-IDFとは|算出方法と分析の具体例

  1. 外生要因とは|その意味・種類と対処法

  2. ロジックモデルとは|その目的と種類、具体例

  3. プロセス評価とは|その意味・目的と実施方法

よく読まれている記事
  1. 1

    アウトカムとは|アウトプットとの違いと設定方法

  2. 2

    ランダム化比較試験(RCT)とは|その意味・目的と実施方法

  3. 3

    ロジックモデルとは|その目的と種類、具体例

  4. 4

    因果推論|SUTVA条件とは

  5. 5

    因果推論とは|その意味、目的と具体的手法

関連記事