金融業務へのAI(人工知能)適用に関するノウハウを「パターン」として整理した『金融AI成功パターン』(日経BP、2023年)では、7つの基本パターンと、5つの上級パターンを紹介している。同書からさまざまな場面に適用できるノウハウとして、本連載では機械学習の基本とライフサイクルを取り上げ、連載の後半では「7つの基本パターンの概要」を抜粋して解説する。今回のテーマは「機械学習ライフサイクルの(2)学習データの準備」である。(技術プロダクツユニットクロスメディア編集部)
金融機関におけるビジネス的なAI活用では、教師あり学習を中心に考えていけば多くのテーマに対応することができますので、教師あり学習のライフサイクルを紹介します。教師あり学習のステップは、一般的に下記のような流れになります。
- (1)テーマの決定
- (2)学習データの準備
- (3)モデリング
- (4)精度評価
- (5)機械学習モデル解釈
- (6)デプロイ
- (7)運用監視
- (8)再学習・切り替え
今回は(2)学習データの準備について説明します。
機械学習において「学習データの準備」はとても重要なプロセスであり、5つのステップに分解できます。順番に説明します。
ステップ1 データの収集・結合
必要と考えられるデータを、さまざまなデータベースや他のシステムから収集します。本当に必要なデータかどうかは機械学習モデルを作るまで分からないことが多いため、この段階では仮説に基づきデータを集めることになります。この際、注意すべきこととして、そもそも分析に利用してよいデータであるということはもちろんですが、機械学習モデルを実際に運用するときに、同質なデータが準備できるかという点が挙げられます。
また、さまざまなシステムが動く金融機関では、データソースが複数のシステムにまたがることも多く、その結果、データを一意に定めるキーの定義が違うことを疑う必要も出てきます。どこまでのデータが結合可能か、名寄せなどのステップを踏めば結合可能かを検討しなくてはなりません。あまりにデータベースの結合コストが高い場合には、一旦そのデータなしに次のステップに進みます。
機械学習は良くも悪くもどのデータが本当に必要かは後になってからしか分からないため、必死に時間とコストをかけたデータが大して必要なかったということはよくあります。データへの当たりを付けるため、あるいは誤った形でデータを収集していないかを確認するために、データを基礎集計したり表やグラフにまとめたりする(可視化する)工程があります(探索的データ解析)。探索的データ解析によって、結合が正しくされているか、外れ値に違和感がないか、欠損値が多くないか、分布が想定通りかなどをチェックします。
ステップ2 ターゲットデータの準備
無事に必要そうなデータが1つの塊になったら、設定されたテーマに基づき、データの粒度やターゲットの期間を決め、ターゲットデータを準備します。このとき、必ずターゲットデータを基礎集計し、特性を分析します。データ定義上、極端に発生件数が少ないものをターゲットとしていたり、もともと実施したかったテーマに対してデータを持っていなかったりした場合には、テーマ設定からやり直します。ターゲットデータが違えば全く違う機械学習プロジェクトとなるため、後続の処理すべての考えをリセットする必要があります。
ステップ3 パーティショニング
次にパーティショニングを実施します。機械学習では、機械学習アルゴリズムを学習データに適用して機械学習モデルを作ります。その際に、構築した機械学習モデルの精度を検定する必要があります。この検定に利用するデータを「検定データ」と呼び、学習データと検定データを分けることを「パーティショニング」と呼びます。学習データだけではなく、検定データもなるべく運用で実際に使うデータを意識して設定することが重要です。
例えば、若年層データだけで学習した機械学習モデルを、運用において高齢層データに適用しても精度が出ません。100年前のデータで学習した機械学習モデルもきっと役に立たないでしょう。特に、数%の精度向上が重要なテーマでは、どの領域で学習して検定した機械学習モデルかがとても重要となります。
学習データと検定データの分け方は、先に紹介した教師あり学習の種類ごとに違いがあり、交差検定など、学習データと検定データをシャッフルしながらより検定を安定させる手法などもあります。自動機械学習(AutoML:Automated Machine Learning)を使う場合には、パーティショニングの切り分けは大方自動化されていますが、仮に誤ったパーティショニングが自動設定された場合には、役に立たない機械学習モデルが生成されてしまいます。