この記事では、機械学習のプロセス(手順)について、その全体像と各プロセスにおける要点を具体例をもとに解説します。
<目次>
機械学習プロセスの全体像
機械学習においては一般的に、様々な「モデル」や、モデルを使った「学習」に多くの注目が集まりますが、モデルや学習は機械学習プロセス全体の構成要素の一部に過ぎません。
モデルを構築し、実際の業務プロセスに組み込む(実務において使用する)ことをゴールとした場合、機械学習のプロセスは、問題の理解・データ収集・前処理・モデルの構築・評価といった手順から成る学習フェーズと、構築したモデルを業務プロセス(システム)に組み込み推論器として稼働させるまでを担う推論フェーズに分けることができ、全体として以下のような手順で構成されます。
澁井 (2021) を参考に、Intelligence In Society作成
学習フェーズには、①問題の理解、②データの理解・収集、③学習モデルの選定、④データの前処理、⑤モデルの構築(学習)、⑥モデルの性能評価の6つのプロセスが含まれます。
学習フェーズは、実験・検証の手順を繰り返しながら反復的に進んでいく作業で、各プロセスで得られた情報をもとに前のプロセスに戻るということ繰り返しながら段階的にモデルの改善を進めていく作業です。
一方、推論フェーズは、⑦モデルのシステムへの組み込み、⑦システムの評価から構成されます。推論フェーズは、構築したモデルを業務プロセスやシステムに組み込み、本番データに対して推論結果を出す仕組みとして稼働させるプロセスです。運用プロセス構築やソフトウェアエンジニアリングの要素を強く持っており、「MLOps」として議論される内容の中心的な領域に該当します。
ここで重要な点は、機械学習プロセスは全体を通じて研究開発の要素が強く、手戻りを含む反復のプロセスであるという点です。以下はCRISP-DM(Cross-Industry Standard Process for Data Mining)と呼ばれるデータ分析の標準プロセスの一つを示したものですが、機械学習を含むデータ分析のプロセスにおける反復的な特徴が分かりやすく表現されています。
Provost (2014) をもとに、Intelligence In Society作成
機械学習におけるこの研究開発的な性格は、事前に仕様が定義され、基本的に一方通行で進む一般的なシステム開発などとは大きく異なる点です。以下では、特に学習フェーズの手順を中心に、各プロセスの要点を解説します。
各プロセスの要点
①問題の理解
機械学習プロセスでまず取り組むべきことは、解決するべき問題を理解し、定義することです。ここでの問題とは、事業やビジネス上の解決すべき問題ですが、重要な点は、事業上の問題と機械学習によって解くべき問題とはイコールではないということです。機械学習によって解くべき問題は、事業上の問題をデータサイエンスの問題に落とし込むことで新たに定義される必要があります。
機械学習によって解決できる問題は、事業上の問題全体の一部であることがほとんどです。そのため、事業上の問題を理解し、それをどのように解決するのかを示した簡易なシナリオをまず作成した上で、その中のどの部分が機械学習によって達成できるのかを整理します。
例えば、ある事業において「売上などの経営数値に対する精度の高い将来予測が立てられない」という問題があると聞いたデータサイエンティストが、「3か月先の経営指標を予測するモデル」を開発したとします。しかし、仮により本質的なニーズが、「将来予測をもとに、投資の最適化を図りたい」というものだった場合、単に売上などを予測をするモデルではこのニーズを満たすことができません。
この問題に対しては、投資の成功確率、成功した場合の収益、収益化するまでの期間などから、各投資別の期待収益を予測するような仕組みが必要です。それをどのようなシナリオで実現し、そのためにどのような機械学習モデルが必要となるかを検討することが、機械学習を使って事業上の問題を解決するために必要な前提条件となります。
②データの理解・収集
問題を理解した上で次に行うことは、データの理解と収集です。問題の解決に必要なデータがすぐに利用可能な状態で存在することは滅多になく、多くの場合、利用可能なデータをもとに実現できることやその結果の信頼性には一定の制限がかかります。
モデルの構築に利用するデータは、顧客データ、取引データ、商品データ、マーケティングデータなど、定義や信頼性が同じではない複数のデータソースを組み合わせる必要があることも多く、また、過去のデータが取得できる期間の違いは、モデルの学習に利用できるデータの質や量に影響を与えます。
既存のデータだけでは問題の解決に資するモデルの構築が難しい場合は、データ取得のための追加投資を判断する必要があり、データソースごとにデータ取得にかかる費用とそこから得られる効果を見積もることは、このプロセスの重要なポイントです。
また、多くの場合、データの理解が進むに従って問題とその解決方法に対する理解も変化するため、①問題の理解と②データの理解・収集の両プロセスは並行して進められます。
③学習モデルの選定
上記プロセスが整理できた上で、学習モデルの選定を行います。最適なモデルは実際に学習・評価を行わなければ分からない部分もあるため、必ずしも候補を一つに絞る必要はありません。モデルによって複雑さや計算量は異なるため、モデルの使用目的に応じて候補を絞ります。
例えば、上記例のような社内の意思決定に使用するモデルであれば、1回の推論にかかる時間は多少長くても問題ありませんが、一般ユーザーがインタラクティブに使用するアプリケーションで稼働するモデルでは、推論に必要な時間は非常に重要な要素となります。
機械学習が解く問題ごとの、代表的な機械学習モデルには以下のようなものが挙げられます1。
| 機械学習で解く問題の種類 | 典型的なユースケース | 代表的なモデル |
| 予測 | 需要予測や購入確率の予測 | 線形回帰、ロジスティック回帰、ブーストツリー、時系列予測、深層学習 |
| 分類 | 優良顧客の判別 | ロジスティック回帰(分類)、ブーストツリー、深層学習 |
| クラスタリング | 属性が似たユーザーの分類 | K-means |
| 行列分解 | 商品のレコメンデーション | Matrix Factorization |
| 次元削減 | データの可視化 | 主成分分析 (PCA) |
| 時系列 | 商品の需要予測 | ARIMA |
④データの前処理
モデルを選定したら、学習を行うための準備として、データの前処理を行います。取得したデータが、そのままの形でモデルの学習に使用できることはまずありません。テーブルデータであれば、欠損値の補完や数値の標準化、正規化などが行われますが、必要な前処理は選択したモデルによって異なり、例えばニューラルネットは決定木系のモデルに比べてより多くの前処理が必要となります。
画像データでは画像サイズやRGB値の調整、文章データでは形態素解析やTF-IDFの作成といった作業が前処理として必要です。学習に使用しないデータの削除や、データの結合・変換による新たな特徴量の作成といった作業もこの前処理に含まれ、これらの前処理の質が、次ステップのモデルの学習の精度に大きな影響を与えます。
⑤モデル構築(学習)
モデルの学習においては、情報の「リーク」に対して十分に注意する必要があります。特に、実際に予測を行う時点では使用できないはずの情報が、学習データに含まれてしまっていないかには注意が必要です。
例えば、仮に先の例で3か月後の売上を予測するモデルを作る場合、予測対象月の前々月~同月の商談件数や広告宣伝費といった情報は本来予測に使用できませんが、学習時にそれらの情報を使ってモデルを構築してしまう、という誤りは非常に起こりやすいリークの例です。
学習によってモデルの性能を高めていく際に最も重要なポイントは、過学習(オーバーフィッティング)を回避することです。過学習とは、一見すると意味があるように見えるにも関わらず、汎化性能(未知のデータに対する予測能力)の向上に寄与しない偶然生じたパターンを見つけ出し、それを学習してしまうことを意味します。
過学習が発生すると、予測モデルの構築において重要な汎化性能が、学習データに過剰に適合する過程で犠牲にされるため、「学習データに対しては高い精度で予測ができるが、新たな未知のデータに対しては高い精度が得られない」という状況が生じます。
過学習を回避しながら、モデルパラメータのチューニングや、学習データの調整・変更などを行っていくことで、モデルの性能を十分な水準まで高めていくことが重要であり、そのために有効な方法が、次のステップで解説する「交差検証」です。
⑥モデルの性能評価
学習したモデルは、学習データとは別の評価・検証用のデータセット(バリデーションデータ)を用いて性能の評価を行うことで、過学習を回避しながら汎化性能の改善を行います。この際に有効な方法が、交差検証(クロスバリデーション)です。
交差検証では、学習データをランダムに分割し、そのうちの一つをモデルの評価、その他をモデルの学習に使用する「ホールドアウト法」による分割を複数回行い、各回の学習と評価に用いるデータを順番に入れ替えながらモデルを構築します。
作成:Intelligence In Society
一般的に、モデルの評価スコアは、評価用データの分割のされ方によって変動するため、データを学習用と評価用に一度だけ分割して性能評価を行う方法では、たまたま評価用データに都合よく適合したモデルが、最良のモデルと判断されてしまうリスクがあります。これに対し交差検証では、全データが必ず一度モデルの評価に使用されることで、より信頼性の高い汎化性能の推定を行います。
機械学習モデルの評価指標には、モデルが取り組むタスクに応じて様々なものが存在しており、タスクの種類やデータの特性に合わせて適切なものを選択します。データの特性によっては、一般的に用いられる指標が不適切なものとなるケースがあるため注意が必要です。
例えば、正答率 (accuracy) は、「全ての予測のうち、正しい予測の割合」を表し、「精度」とも呼ばれ広く用いられますが、WEB広告のクリック率のように、陽性となる(クリックされる)確率が非常に低い予測対象では、単純に「全て陰性」と予測することで99%以上の非常に高い正答率を出すことができてしまいます。
このようなケースでは、F1スコアなどの他の指標を用いる必要があります。機械学習モデルの評価指標として代表的なものには、以下のようなものが挙げられます。
| タスクの種類 |
評価対象または、 |
評価指標 |
| 回帰 | 誤差の大きさ | RMSE、RMSLE、MAE、R2 (決定係数) |
| 誤差率 |
MAPE |
|
| 二値分類 | 陽性か陰性か | 正答率 (accuracy)、適合率 (precision)、再現率 (recall)、F1スコア |
| 陽性である確率 | logloss、PR曲線、平均適合率、ROC曲線、AUC |
モデルの性能評価と合わせて重要な点が、構築したモデルが、当初明らかにした事業上の問題を解決するものになっているかを確認することです。仮にモデルの予測性能が十分高いものであったとしても、事業上の問題を解決するシナリオの中で期待された役割を果たすものでなければ意味がありません。
機械学習によるアウトプットを、定性・定量の両面から評価し、組織の意思決定の改善などを通じて事業上の問題の解決に資するかを、事業のステークホルダーの視点から総合的に評価することが必要です。
ここまで、機械学習のプロセス(手順)について、その全体像と各プロセスにおける要点を解説しました。
当記事に関連するトピックについての詳細は、以下のページをご覧ください。
また、機械学習に関する全ての記事は以下のページからご覧いただけます。
注記:
1. 饗庭、他 (2025) をもとに作成
参考文献:
◦Foster Provost, Tom Fawcett (2014) 『戦略的データサイエンス入門―ビジネスに活かすコンセプトとテクニック』O’Reilly Japan
◦澁井雄介 (2021) 『AIエンジニアのための機械学習システムデザインパターン』翔泳社
◦Shearer, C. (2000) “The CRISP-DM model: The new blueprint for data mining.” Journal or Data Warehousing, 5(4), 13-22.
◦饗庭秀一郎、他 (2025) 『改訂新版 Google Cloudではじめる実践データエンジニアリング入門』技術評論社