• Column
  • データ活用力をDataOpsで高める

機械学習モデルを継続的に活用し続けるコツ【第4回】

山田 邦晴(日鉄ソリューションズ 技術本部 システム研究開発センター インテリジェンス研究部 主務研究員)
2021年1月8日

(2)原因を調査する

 モニタリングで予測精度が劣化したりデータの傾向が変化したりしていれば、その原因を調査する。

 予測精度が劣化すると業務での利用が難しくなる。予測精度に影響が出るのは、データの傾向が変化したことが原因だ。予測が大きくズレているとしたら、過去のデータや、そのときの状況にないことが起きているからである。現在と過去のデータや状況を見比べて原因を調査する必要がある。

 機械学習モデルを開発した人と、原因を調査する人は別になることが多い。そのため、事前に以下の準備をしておくとよい。

・現時点で利用しているモデルのバージョン、学習時のデータや前提条件(業務ルールなど)を記録・管理し、モデルのトレーサビリティーを担保する
・機械学習に利用した過去のデータと現時点で予測に利用しているデータを比較したときに、異常や傾向の変化が発生したタイミングや、その変化が予測に与える影響が分かるような仕組みを用意する
・なぜ、その予測結果になったのかを説明できる仕組みを用意する

 モニタリングおよび原因調査の結果を確認し、モデルを改善する必要があるかどうか、改善する場合はどのような方法がよいかを検討する。例えば、データに問題があった場合、データを修正して再予測を実施する、あるいは、その予測は業務で利用しないといった対応が考えられる。

 キャンペーンやセールといった一時的な変化が原因であれば、その期間だけ業務側の人員が手動で予測結果を増減するなどの対応も考えられる。特殊な状況で発生したデータを再学習すると、それ以降の予測に悪影響を与える危険性があるため、学習対象から除外することも検討した方がよい。

 一時的な原因ではなく、業務環境の変化に応じて精度の劣化が継続する場合は、機械学習モデルを改善する必要がある。

 モニタリングと同様に原因調査も、業務側とIT側の人員が連携し、データの観点と業務の観点の両方から調査を進められるように、あらかじめ体制を組んでおくことが重要になる。

(3)機械学習モデルを改善する

 精度が劣化する原因は様々だ。だが、再学習でモデルの精度を改善するために検討すべきポイントは、以下の3つである。

学習対象のデータの追加と削除

 通常、異常データは学習対象から除外した方がよい。一時的に傾向が異なるデータについても、学習に不十分なデータ量しかない場合は除外する。今後、同様の一時的な状況が発生する可能性があり、その際の予測精度を上げたい場合は、その状況を表現する新しいデータを追加し、再学習した上で予測精度を検証する。

学習期間の調整

 あるタイミングで業務が変わったり、データの傾向が大きく変化した場合、それ以前のデータが学習に利用できず、変化後のデータのみで学習することが考えられる。最新のデータを利用するように期間をずらしながら定期的に再学習することもある。

業務の変更への対応

 業務の変更は度々発生し、予測が外れる原因になりやすい。例えば、新しいジャンルの商品が追加される、店舗の営業時間が変わる、店舗への配送の日時が変わるといった変更が発生すると、モデルで予測している対象や期間に影響し、モデルの再作成が必要になる。

 特定した原因に応じて、上記項目を含む改善方法を検討し、モデルの再学習や検証を実施して、精度が改善するかを確認する。その結果として精度の改善が見込める場合は、業務へ新しいモデルを適用する。

改善する仕組みを事前に構築しておく

 上述した(1)~(3)のプロセスを、需要予測を例にまとめたのが図2だ。予測対象や判断基準、適用する業務などに合わせた変更は必要だが、このようなプロセスや判断のポイントを整備し、モデル改善のフローと体制を事前に構築しておくことが重要である。

図2:機械学習モデルで需要を予測している際に、モデルを継続的に改善するためのプロセス

 機械学習モデルの業務適用後に、こうした改善プロセスを継続的に繰り返すことで、環境の変化に合わせてモデルを日々進化させ、業務で活用し続けることができ、ひいては業務の効率化・高度化につながっていく。

 今回は、DataOpsで機械学習モデルを業務へ適用した後も継続して活用し続けるための仕組みやプロセスについて紹介した。次回は、企業のデータ活用力を強化するための取り組みについて紹介する。

山田 邦晴 (やまだ・くにはる)

日鉄ソリューションズ 技術本部 システム研究開発センター インテリジェンス研究部 主務研究員。2006年新日鉄ソリューションズ(現・日鉄ソリューションズ)入社後、ITインフラの設計構築、データ分析基盤の運用に従事。2015年より現職。現在は、機械学習やデータ活用に関する研究開発、データ分析者育成の推進を担当している。