オンライン学習

Online Learning

オンライン学習(Online Learning)とは、データを1つずつ逐次的に受け取り、その都度モデルを更新していく学習方式です。データがストリームとして到着する環境や、データが大きすぎてメモリに載らない場合に有効です。

バッチ学習との違い

バッチ学習がすべてのデータを使って一括で学習するのに対し、オンライン学習は新しいデータが到着するたびにモデルを更新します。環境の変化に素早く適応でき、メモリ効率が良いという利点があります。

表:オンライン学習の要点まとめ
ひとことで言うとデータが届くたびに、その都度モデルを少しずつ更新していく方式。
どこで使う需要が刻々と変わる価格設定、不正検知、ニュース推薦。
注意点直近データに引っ張られやすく、異常データで一気に壊れるリスクがある。

活用例

リアルタイムのレコメンデーション、広告クリック予測、センサーデータの処理、金融市場の予測など、時間とともにデータの傾向が変化する場面で活用されています。

図:オンライン学習の動き
1新しいデータ到着1件ずつ流れてくる
▶
2すぐ予測現在のモデルで対応
▶
3正解が判明結果が後から分かる
▶
4その場で更新少しだけ学習
↺ データが来るたび1〜4をくり返す

概念ドリフト

時間経過に伴いデータの統計的性質が変化する「概念ドリフト」への対処がオンライン学習の重要な課題です。古いデータの影響を徐々に減衰させる手法などが使われます。