【正解の解説】
データが追加される都度、モデルのパラメータが逐次的かつリアルタイムに更新されるため、ストリームデータ処理に最も適している。
バッチ学習は、料理に例えると「材料をすべて揃えてから一気に大鍋でカレーを作る」ような方法です。これに対し、選択肢Aの内容は「味見をしながらスパイスを随時足していく」オンライン学習の特徴そのものです。バッチ学習では新しいデータが来るたびに全データをまとめて再計算するため、リアルタイムな更新には向いていません。
【その他の選択肢の解説】
学習用データをまとめて一度にモデルへ入力するため、計算資源の効率的な利用が可能であるが、大規模データではメモリ要件が高くなる。
これはバッチ学習のまさに最大のメリットとデメリットを正確に言い表した正しい記述です。図書館の本を1冊ずつ読むのではなく、一度に全部の棚を写真に撮って分析するようなものであり、GPUの性能を限界まで引き出して効率よく学習できる一方で、データが巨大化しすぎるとメモリがあふれてフリーズしてしまうというトレードオフを抱えています。
一度にすべてのデータを用いて最適化を行うため、データ分布が大きく変化しない静的な環境において高い予測精度を達成しやすい。
過去のデータを総動員してじっくり全体像を分析するため、世の中の状況があまり変わらない安定した環境においては、非常に安定した高い予測精度を発揮します。これもバッチ学習の正しい性質を説明した選択肢であり、トレンドが激しく変わる動的な環境には弱いという裏返しでもあります。
新しいデータが到着するたびに過去のデータも含めて再学習を行う必要があり、データ量の増加に伴い計算コストが増大する課題がある。
バッチ学習の本質的な弱点を突いた正しい記述です。毎日増え続けるすべての過去データを引っ張り出してゼロから計算し直す必要があるため、企業のデータが大きくなればなるほど、学習にかかる時間と電気代(計算コスト)が雪だるま式に膨れ上がってしまい、運用が現実的でなくなるという実務上の大きな悩みを抱えています。