継続的機械学習

IBM での研究結果として、生物学の自然淘汰から着想を得た継続的機械学習 が、自動分類ノードおよび自動数値ノードで使用可能です。

モデル化で不都合なこととして、時間の経過とともにデータが変更されることが原因で、モデルが古くなることがあります。これは一般的に、モデル・ドリフト概念ドリフト と呼ばれます。モデル・ドリフトを効果的に克服できるように、SPSS Modeler は継続的自動機械学習機能を備えています。

モデル・ドリフトとはどのようなものでしょうか? 履歴データに基づいてモデルを作成した場合、モデルは行き詰まることがあります。多くの場合、入力される新しいデータは常に、古い履歴データでは捉えることのできない新しいバリエーション、新しいパターン、新しい傾向を持っています。この問題を解決するために、IBM では、種の自然淘汰と呼ばれる、生物学の有名な現象から着想を得ました。モデルを種として、データを自然として考えます。自然が種を選択するのと同様に、データがモデルを選択できるようにする必要があります。モデルと種には 1 つの大きな違いがあります。すなわち、種は進化しますが、モデルは作成後、静的です。

種が進化するには、2 つの前提条件があります。1 つ目は遺伝子の突然変異、2 つ目は集団です。ここで、モデル化の観点からは、1 つ目の前提条件 (遺伝子の突然変異) を満たすために、新しいデータの変化を既存のモデルに導入する必要があります。2 つ目の前提条件 (集団) を満たすために、モデルを 1 つだけではなく、複数使用する必要があります。何によって複数のモデルを表すことができるでしょうか? アンサンブル・モデル・セット (EMS) です。

次の図は、EMS が進化する方法を示しています。図の左上の部分は、ハイブリッド・データ区分を持つ履歴データを表しています。ハイブリッド・データ区分により、豊かな初期の EMS が得られます。 図の右上部分は、使用可能になった新しいデータ・チャンクを表しており、両側に垂直のバーがあります。左側の垂直バーは現在のステータスを表しており、右側の垂直バーはモデル・ドリフトのリスクがある場合のステータスを表しています。継続的機械学習の新しいラウンドごとに、モデルの進化とモデル・ドリフトの回避のために、2 つのステップが実行されます。

まず、既存の学習データを使用して、アンサンブル・モデル・セット (EMS) を構成します。その後、新しいデータ・チャンクが使用可能になったら、その新しいデータに対して新しいモデルが作成され、EMS にコンポーネント・モデルとして追加されます。EMS 内の既存のコンポーネント・モデルの重みが、新しいデータを使用して再評価されます。この再評価の結果として、重みの高いコンポーネント・モデルを現在の予測用に選択し、重みの低いコンポーネント・モデルを EMS から削除できます。このプロセスでは、モデルの重みとモデル・インスタンスの両方について EMS を更新するため、時間の経過に伴うデータに対する避けられない変更に対処するために柔軟かつ効率的に進化することになります。

図 1. 継続的自動機械学習
継続的自動機械学習

アンサンブル・モデル・セット (EMS) は、生成された自動モデル・ナゲットです。自動モデル化ノードと生成された自動モデル・ナゲット間に更新リンクが存在し、それによってそれらの間の更新関係が定義されます。継続的自動機械学習を有効にすると、新しいデータ資産が自動モデル化ノードに継続的にフィードされ、新しいコンポーネント・モデルが生成されます。モデル・ナゲットは、置き換えられるのではなく、更新されます。

次の図は、継続的機械学習シナリオにおける EMS の内部構造の例を示しています。現在の予測では、上位 3 つのコンポーネント・モデルのみが選択されています。各コンポーネント・モデル (ラベルは M1、M2、M3) について、2 種類の重みが保持されています。現在のモデルの重み (CMW) は、新しいデータ・チャンクでのコンポーネント・モデルのパフォーマンスを示しています。累積のモデルの重み (AMW) は、最近のデータ・チャンクに対するコンポーネント・モデルの総合的なパフォーマンスを示しています。AMW は、CMW および以前の AMW の値を使用して反復的に計算され、それらの間のバランスを取るためのハイパー・パラメーターであるβがあります。AMW を計算する式は、指数移動平均 と呼ばれます。

新しいデータ・チャンクが使用可能になると、SPSS Modeler はまず、それを使用していくつかの新しいコンポーネント・モデルを作成します。この例の図では、モデル 4 (M4) は、初期モデル作成プロセス時に計算された CMW および AMW を使用して作成されています。次に、SPSS Modeler は新しいデータ・チャンクを使用して、既存のコンポーネント・モデル (M1、M2、および M3) の測定を再評価し、再評価結果に基づいて、それぞれの CMW および AMW を更新します。最後に、SPSS Modeler は CMW および AMW に基づいてコンポーネント・モデルを並べ替え、それに従って上位 3 つのコンポーネント・モデルを選択できます。

この図では、CMW は正規化された値 (合計 = 1) を使用して記述されており、AMW は CMW に基づいて計算されています。SPSS Modeler では、簡素化するために、CMW および AMW の表示に絶対値 (評価-重み付き測定から、例えば精度を引いた値に等しい) が選択されます。

図 2. EMS の構造
EMS の構造
なお、以下に示すように、各 EMS コンポーネント・モデルに対して 2 つのタイプの重みが定義されます。両方のタイプの重みとも、上位 N 個のモデルの選択およびコンポーネント・モデルのドロップアウトに使用できます。
  • 現在のモデルの重み (CMW) は、新しいデータ・チャンクでの評価精度など、新しいデータ・チャンクに対する評価を使用して計算されます。
  • 累積のモデルの重み (AMW) は、CMW と既存の AMW の両方を組み合わせて計算されます (例えば、指数加重移動平均 (EWMA))。

    AMW を計算するための指数移動平均の式:
    AMW を計算するための指数移動平均の式

SPSS Modeler では、自動分類ノードを実行してモデル・ナゲットを生成した後に、継続的機械学習用の以下のモデル・オプションを使用できます。

  • モデル更新中の継続的な自動機械学習の有効化: 継続的機械学習を有効にする場合は、このオプションを選択します。継続的自動モデルの学習には、一貫したメタデータ (データ・モデル) を使用する必要があることに留意してください。このオプションを選択した場合、以下に示す他のオプションも有効になります。
  • 自動的なモデルの重みの再評価の有効化: このオプションは、モデルの更新時に評価測定 (例えば、精度) を計算して更新するかどうかを制御します。このオプションを選択した場合、(モデルの更新時に) EMS の後に自動評価プロセスが実行されます。 これは、通常、データの現在の状態を反映するために、新しいデータを使用して既存のコンポーネント・モデルを再評価する必要があるためです。その後、EMS コンポーネント・モデルの重みが再評価結果に従って割り当てられ、重みを使用してコンポーネント・モデルが最終的なアンサンブル予測に寄与している比率が判別されます。デフォルトでは、このオプションが選択されます。
    図 3. モデルの設定
    モデルの設定
    図 4. フラグ型対象
    フラグ型対象
    図 5. セット型対象
    セット型対象
    以下に、自動分類ノードでサポートされる CMW および AMW を示します。
    表 1. サポートされる CMW および AMW
    対象の種類 CMW AMW
    フラグ型対象 全体精度
    曲線下の領域
    累積精度
    累積 AUC
    セット型対象 全体精度 累積精度

    以下の 3 つのオプションは、AMW (最近のデータ・チャンク期間におけるコンポーネント・モデルのパフォーマンスを評価するために使用されます) に関連したものです。

  • モデルの重みの再評価中の累積因子の有効化: このオプションを選択した場合、モデルの重みの再評価時に AMW の計算が有効になります。AMW は、ノード・プロパティーで調整できる上記の AMW の式で定義されている累積因子βに関連した、最近のデータ・チャンク期間における EMS コンポーネント・モデルの総合的なパフォーマンスを表します。このオプションが選択されていない場合、CMW のみが計算されます。デフォルトでは、このオプションが選択されます。
  • モデル更新中の累積限度に基づくモデル リダクションの実行: モデルの更新時に、AMW の値が指定した限度を下回っているコンポーネント・モデルを自動モデル EMS から削除する場合は、このオプションを選択します。自動モデル EMS が重くなり過ぎないようにするために、役に立たないコンポーネント・モデルを破棄するのに役立ちます。
    累積限度値の評価は、アンサンブル法として「評価-重み付き票決」が選択されている場合に使用される重み付きの測定に関連しています。下記を参照してください。
    図 6. 対象
    対象

    評価-重み付き測定で「モデル精度」を選択した場合、累積精度が指定した限度を下回るモデルが削除されるので注意してください。また、評価-重み付き測定で「曲線下の領域」を選択した場合、累積 AUC が指定した限度を下回るモデルが削除されます。

    デフォルトでは、自動分類ノードの評価-重み付き測定では、「モデル精度」が使用され、フラグ型対象の場合はオプションの AUC ROC 測定があります。

  • 累積評価-重み付き票決の使用: 現在のスコアリング/予測で AMW を使用する場合は、このオプションを選択します。それ以外の場合は、CMW がデフォルトで使用されます。このオプションは、アンサンブル法として「評価-重み付き票決」が選択されている場合に有効になります。

    フラグ型対象では、このオプションを選択することで、評価-重み付き測定で「モデル精度」を選択した場合、現在のスコアリングを実行するための AMW として「累積精度」が使用されます。 あるいは、評価-重み付き測定で「曲線下の領域」を選択した場合、現在のスコアリングを実行するための AMW として「累積 AUC」が使用されます。このオプションを選択せず、評価-重み付き測定で「モデル精度」を選択した場合、現在のスコアリングを実行するための CMW として「全体精度」が使用されます。「曲線下の領域」を選択した場合、現在のスコアリングを実行するための CMW として「曲線下の領域」が使用されます。

    セット型対象では、この「累積評価-重み付き票決の使用」オプションを選択した場合、現在のスコアリングを実行するための AMW として「累積精度」が使用されます。それ以外の場合は、現在のスコアリングを実行するための CMW として「全体精度」が使用されます。

継続的自動機械学習では、自動モデルを再作成することで、自動モデル・ナゲットは常に進化し続けます。これにより、データの現在の状態を反映した最新の更新バージョンが確実に得られます。SPSS Modeler は、各コンポーネント・モデルの現在の重みに従って、EMS 内の異なる上位 N 個のコンポーネント・モデルを選択する柔軟性を備えており、異なる期間で変化するデータに対応します。

注: 自動数値ノードは、大幅に単純化されたケースであり、自動分類ノードのオプションのサブセットが提供されます。
図 7. 自動数値ノード
自動数値ノード

この例では、通信業界で継続的機械学習を使用して、行動を予測して顧客を維持します。

以下のフローでは、データ資産に、前月に契約を解除した顧客に関する情報 (Churn 列) が含まれています。毎月新しいデータが使用可能になるため、このシナリオは、継続的機械学習に適しています。この例では、1 月 (Jan) のデータを使用して初期自動モデルを構成し、2 月 (Feb) のデータを使用して、継続的機械学習によって自動モデルを強化しています。

図 8. 通信での例
通信での例
フローの上部のブランチで、データ資産ノードの後に、重要でないフィールドをフィルターで除外するためのフィルター・ノードがあります。ブランチの最後に、自動分類モデル化ターミナル・ノードがあります。このノードのエキスパート設定で、学習プロセスで使用するアルゴリズムを選択します。この例では、3 つのアルゴリズム (ロジスティック回帰、ベイズ・ネットワーク、ニューラル・ネットワーク) を選択します。次に、フローを実行して、自動モデル・ナゲットを生成します。
では、自動モデル・ナゲット内に何があるのかを確認してみましょう。選択した 3 つのアルゴリズムの 3 つのコンポーネント・モデルが含まれていることが分かります。コンポーネント・モデルごとに、複数の評価測定 (精度や曲線下の領域など) が生成されています。これらの評価測定は、学習データ (1 月のデータ・セット) に対するコンポーネント・モデルのパフォーマンスを示しています。現在のアンサンブル予測で使用するコンポーネント・モデルを選択できます。
図 9. 評価測定
評価測定

フローの上部のブランチで、データ資産ノードの後に、重要でないフィールドをフィルターで除外するためのフィルター・ノードがあります。ブランチの最後に、自動分類モデル化ターミナル・ノードがあります。このノードのエキスパート設定で、学習プロセスで使用するアルゴリズムを選択します。この例では、3 つのアルゴリズム (ロジスティック回帰、ベイズ・ネットワーク、ニューラル・ネットワーク) を選択します。次に、フローを実行して、自動モデル・ナゲットを生成します。

累積評価測定も確認できます。これらの累積測定は、最近のデータの変更でのコンポーネント・モデルのパフォーマンスを示すものであり、特定の期間におけるモデルの総合的パフォーマンスを認識できるため、継続的機械学習用です。これは初期自動モデルであるため、累積測定の初期値が、関連する現在の測定と同じであることが分かります。デフォルトでは、評価測定は学習データに対して計算されます。したがって、ある程度のオーバーフィットが存在する可能性があります。これを回避するために、自動分類ノードには、交差検証によってより安定した評価測定を計算する作成オプションが用意されています。

次に、最終的なアンサンブル予測がどのように生成されるのかを見てみましょう。自動モデルのプロパティーを開くと、「アンサンブルのフラグ型対象 (Ensemble Flag Targets)」の下に学習対象 churn フィールドがあります。このフィールドは yes/no フラグ型対象です。「アンサンブルのセット型対象 (Ensemble Set Targets)」(2 つを超える値が含まれているセット型対象フィールド用) の下に、「アンサンブル法」ドロップダウンがあります。このドロップダウンでは、複数のオプションが使用可能です (例えば、「多数決票決」は各コンポーネント・モデルが票決するための 1 つのチケットを保持することを意味し、「確信度-重み付き票決」は各コンポーネント・モデルの予測の確信度フィールドが票決の重みとして使用され、確信度が高い方が最終的なアンサンブル予測に対して大きい影響を及ぼすことを意味します)。同様に、継続的機械学習への対応を改善できるように、「評価-重み付き票決」が使用可能です。これにより、コンポーネント・モデルの評価測定 (例えば、モデル精度や曲線下の領域) が票決の重みとして使用されるようになります。フラグ型対象の場合、「評価-重み付き票決」が使用されている場合に票決の重みとして特定の評価測定を選択するためのオプションもあります。セット型対象の場合、現在サポートされているのは「精度」のみです。

図 10. セット型対象およびフラグ型対象
セット型対象およびフラグ型対象
「アンサンブル共通 (Ensemble Common)」設定の下に、継続的機械学習をオンにする場所があります。次に、2 月のデータを使用して、どうなっているかを確認できます。2 つの異なるアルゴリズムを選択して、既存のコンポーネント・モデルのアルゴリズムを区別できます。その後、フローを再作成して自動モデルのコンテンツを表示すると、2 つの新しいコンポーネント・モデル (C5 と C&RT) が追加されていることが分かります。また、既存のコンポーネント・モデルの評価測定が再計算されていることも分かります。CMW の測定と AMW の測定の両方とも、前と異なっています。ここで、それらを元の自動モデルにおける対応する測定と比較できます。
図 11. 評価測定
評価測定

今度はどうなりましたか? 強化された自動モデルでは、優先する評価測定を選択し、その測定で順序付けて上位 N 個のコンポーネント・モデルを取得できます。次に、上位 N 個のコンポーネント・モデルを使用して、今後の予測分析要求の最終的なアンサンブル予測に寄与できます。また、「アンサンブル法」「評価-重み付き票決」が選択されている場合、「アンサンブル共通 (Ensemble Common)」設定のオプション「累積評価-重み付き票決の使用」を選択するだけで、累積測定を票決の重みとして使用できます。選択解除されている場合、評価-重み付き票決で CMW の測定がデフォルトで使用されます。

継続的機械学習では、自動モデルは継続的に新しいデータ・チャンクに対して再作成されるため、常に進化し続けます。そのため、モデルは、データの現在のステータスを反映した最新のバージョンになります。これにより、各コンポーネント・モデルの現在または累積の評価測定に従って、EMS 内の異なる上位 N 個のコンポーネント・モデルを選択する柔軟性を備え、異なる期間で変化するデータに対応できます。