機械学習の2つの壁「分類モデルの選定」と「過学習」への対処法:AI基礎解説(2/2 ページ)
さまざまなデータを用いた機械学習でスマートな製品開発を目指す上で課題になるのが、「分類モデルの選定」と「過学習」への対応だ。本稿では、分類モデルと過学習について概説するとともに、基礎的な対処法について説明する。
過学習への対応
過学習は、あるモデルがデータセットに適合していても、新しいデータに対してうまく一般化しない場合に発生します。特に、そのモデルを使って機械学習を行っている担当者自身がデータ収集を行っていない場合、学習データが不十分であることが多いため、過学習を回避するのは困難です。過学習を回避する最善の方法は、モデルの多様性と複雑性を正確に反映するために十分な学習データを使用することです。
エンジニアや科学者が過学習を避けるには、データの正則化(regularization)と汎化(generalization)という追加的な2つの手法があります。
正則化は、モデルが個々のデータポイントに過度に依存することを防ぐ技術です。正則化アルゴリズムは、モデルに追加情報を導入し、モデルをより分かりやすく正確にすることで、多重共線性と冗長な予測変数を処理します。これらのアルゴリズムは通常、モデルの係数を最小化に追加したり、粗さのペナルティーを含んだりなど、複雑さに対するペナルティーを適用することで動作します。
汎化では、利用可能なデータを3つのサブセットに分割し、交差検証(cross-validation)を行います。最初のサブセットは機械学習を行うための学習セット(training set)であり、2番目のサブセットは検証セット(validation set)です。検証セットの誤差は、学習プロセス中に監視され、モデルが正確になるまで微調整されます。3番目のサブセットはテストセット(test set)で、学習セットと検証セットを用いた機械学習を終えた後、モデルが学習セットと検証セットに対して過学習していないことを確認するためのものです。
過学習を防ぐ交差検証の手法は幾つかありますが、ここでは以下の6つを紹介します。
- k-分割(k-fold)
- テストセットを分割した後、残りのデータをほぼ同じサイズのランダムに選ばれたk個の部分集合(または折り目)に分割します。部分集合の1部を学習セット、残りの部分集合を検証セットに用います。各学習セットに対して検証セットが確実に適用され、このプロセスはk回繰り返されます
- ホールドアウト(holdout)
- データを指定された比率で3つのサブセットに分割します
- リーブワンアウト(leave-one-out)
- データ件数が少ない場合に適した手法です。k-分割について、テストセットを除いたデータの件数分だけ部分集合への分割を行います
- ランダム反復サブサンプリング(repeated random subsampling)
- ランダムにデータを分離するモンテカルロ法の繰り返しを実行し、全ての実行にわたって結果を集約します
- 層化(stratify)
- 学習セットとテストセットの両方が、応答またはターゲットでほぼ同じクラスの割合を持つようにデータを分割します
- 再代入(resubstitution)
- 学習セットと検証セットを分離せずに、学習セットを検証に使用します。この方法は、パフォーマンスを過度に楽観的に見積もってしまうことが多く、十分なデータがある場合は避けなければなりません
機械学習の初心者も熟練者も、分類モデルの選定と過学習の課題に直面します。機械学習を取り巻く課題は難しく感じるかもしれませんが、適切なツールを活用し、ここで取り上げた検証方法を活用することで、エンジニアや科学者が実世界のプロジェクトに機械学習をより簡単に適用できるようになります。
筆者プロフィール
阿部 悟(あべ さとる) MathWorks Japan インダストリーマーケティング部 部長
1989年から、本田技術研究所 基礎研究所で超低エミッションエンジン、希薄燃焼エンジンなどの制御システム基礎研究、Formula-1、Indy Carレースの電装システム開発部門で開発をリーディング。2003年からはContinental、AVLなどサプライヤーサイドでエンジン、ボディー、シャシーなどの電装製品の開発に従事。2012年から現職。これまでの経験を生かして業界マーケティング活動を通してモデルベース開発の推進に尽力している。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 機械学習とディープラーニング、どちらを使えばいいのか
研究開発プロジェクトを先に進めるためにどのようなAI技術を使用すればいいのだろうか。本稿では、その一助とすべく、機械学習とディープラーニング(深層学習)の違いについて概説し、それぞれをどのように適用すべきかについて説明する。 - 「AI駆動システム」が急速に成長、2020年に注視すべき5つのAIトレンドとは
2020年は「AI駆動システム」の年になる。AIが低消費電力、低コストの組み込み機器へ導入されるようになり、強化学習がゲームから実世界の産業用途へと移行するにつれて、新たなフロンティアが成長をけん引するだろう。 - 組み込みAIは必要不可欠な技術へ、推論に加えて学習も視野に
2017年初時点では芽吹きつつあった程度の組み込みAI。今や大きな幹にまで成長しつつあり、2019年からは、組み込み機器を開発する上で組み込みAIは当たり前の存在になっていきそうだ。 - AIと機械学習とディープラーニングは何が違うのか
技術開発の進展により加速度的に進化しているAI(人工知能)。このAIという言葉とともに語られているのが、機械学習やディープラーニングだ。AIと機械学習、そしてディープラーニングの違いとは何なのか。 - 機械学習はどうやって使うのか――意外と地道な積み重ね
前編では、AI(人工知能)と機械学習、ディープラーニングといった用語の説明から、AIを実現する技術の1つである機械学習が製造業を中心とした産業界にも徐々に使われ始めている話をした。後編では、機械学習を使ったデータ分析と予測モデル作成について説明する。 - 機械学習で入ってはいけないデータが混入する「リーケージ」とその対策
製造業が機械学習で間違いやすいポイントと、その回避の仕方、データ解釈の方法のコツなどについて、広く知見を共有することを目指す本連載。第1回では「リーケージ」について取り上げる。 - 機械学習による逆問題への対処法、材料配合や工程条件を最適化せよ
製造業が機械学習で間違いやすいポイントと、その回避の仕方、データ解釈の方法のコツなどについて、広く知見を共有することを目指す本連載。第2回は、製造業で求められる材料配合や工程条件の予測に必要な、機械学習による逆問題への対処法ついて取り上げる。 - 世界を変えるAI技術「ディープラーニング」が製造業にもたらすインパクト
人工知能やディープラーニングといった言葉が注目を集めていますが、それはITの世界だけにとどまるものではなく、製造業においても導入・検討されています。製造業にとって人工知能やディープラーニングがどのようなインパクトをもたらすか、解説します。