バッチ学習【batch learning】
概要

機械学習では、モデルによる予測と正解の隔たりである誤差関数が小さくなるように、訓練データから求めた値に基づいてモデル内部のパラメータ更新を行う。バッチ学習では、用意されたデータセットのすべてのデータを用いて誤差関数の勾配(修正すべき方向を示す値)を求め、パラメータの更新を行う。
データセット全体の傾向を反映した勾配に基づいて更新を行うため、最適解に向かって安定的に収束しやすいとされる。一方、すべてのデータをメモリに読み込んで計算を行うため、データの規模によっては現実的でない場合がある。新しい訓練データを追加する場合はデータ全体を再計算しなければならず、迅速に反映させることは難しい。
一方、訓練データからランダムに一つのデータを選んで勾配計算を行うというプロセスを何度も繰り返す手法を「オンライン学習」という。一回に一つのデータのみが必要なため計算資源を節約でき、逐次新しいデータを追加してモデルに反映するといった操作が可能となる。バッチ学習とオンライン学習の中間で、訓練データから少数のデータを選んで計算を行う手法は「ミニバッチ学習」と呼ばれる。
(2025.12.3更新)