top of page

教師あり学習で失敗しないためのキーポイントとは?教師あり学習はなぜ失敗するのか、その要因と対策方法をわかりやすく解説(その2)



以前教師有学習の概要についての説明をしましたが、今回はさらに踏み込んで、教師あり学習をビジネスに適用する際に抑えるべきポイントについて解説します。

その1では、失敗パターンのひとつ「当たり前の結果が出ただけで新たな知見が得られない」について原因と対策を解説しましたが、その2ではもうひとつの典型的な失敗パターン「今までExcelで行っていた簡単な分析と精度が大して変わらなかった」について詳しく解説していきます。

失敗パターン2:今までExcelで行っていた簡単な分析と精度が大して変わらない


<失敗の原因>

大きく次の2つが考えられます。

① Excelでのターゲットの抽出条件が目的変数に影響する要因として十分だった。

② 目的変数に大きく影響する因子が説明変数に含まれていなかった。


それぞれについて詳しく見ていきましょう。


①「Excelでのターゲットの抽出条件が目的変数に影響する要因として十分だった」


まず、①の「Excelでのターゲットの抽出条件が目的変数に影響する要因として十分だった」は理屈の上ではあり得るのですが、実際にはこれが原因であることはほとんどなく、➁の「目的変数に大きく影響する因子が説明変数に含まれていなかった」が大半であると思います。


例えば、銀行などでとある教育ローンのターゲットを予測するの、Excelを使って、「年齢」、「子供の有無」でセグメントを行い、DMを出したとします。実はこの教育ローンに申込むかどうかで一番大きな要因が「年齢」と「子供の有無」だったとすると、機械学習で分析を行っても、同様に「年齢」と「子供の有無」が大きな要因として抽出され、キャンペーンを実施した場合には、Excelとほぼ同じような成約率となるでしょう。


ただし、実際にはこのように2つ程度の説明変数によって目的変数が決まってしまうというケースは稀だと思いますし、そもそもそのような状況であればわざわざ機械学習を使うまでもないと思います。それがわからないのから機械学習で分析をすることがほとんどだと思いますので、①のパターンは現実的にはあまりないのではないかと思います。

(この場合であっても機械学習であれば人毎に予測スコアがつくので、より確度の高い人だけに絞り込むことができるというメリットはあります)


➁「目的変数に大きく影響する因子が説明変数に含まれていなかった」


では続いて➁の「目的変数に大きく影響する因子が説明変数に含まれていなかった」について考えていきましょう。


機械学習の教師あり学習とは、簡単に言えば、「説明変数」と「目的変数」の間の関係性を読みとき、それを数式化するということです。これにより、それぞれの「説明変数」がどのように「目的変数」に影響しているのかがわかるので、これを使って予測を行うことができます。


ここで重要なポイントは、与えられた「説明変数」のみを使って「目的変数」との関係性を読みとくという事です。別の言い方をすれば、「目的変数」に影響を与える要素がきちんと「説明変数」として「変数化されている」必要があるということです。


少しわかりにくいと思うので、具体的な例を挙げて説明したいと思います。

とある銀行でカードローンの申込を促進するキャンペーンで機械学習を使ってターゲッティングをしようとしています。そのために、それぞれの顧客の取引履歴を「説明変数」、カードローンの申込有無を「目的変数」として学習を行います。


カードローンに申込んだ「顧客A」の方の取引履歴は次のような物でした。


日付     金額  区分  残高      適用

2023.10.01        198,036,136 繰越

2023.10.02 39,100,020 入金 237,136,156 現金

2023.10.03 7,500,000 出金 229,636,156  振込

2023.10.05 3,500,000 出金  226,136,156 振込

2023.10.08   1,200,000 入金 227,336,156 現金

2023.10.10 50,000,000 出金 177,336,156 振込

2023.10.12 2,800,000 出金  174,536,156 振込


この例から「顧客A」は一カ月間の間入出金の回数がかなり多いということがわかります。

振り込みを始めとする出金の回数が多い顧客がカードローンへの申込みが多いとするならば、このAさんはカードローンのターゲットに当てはまっていると言えます。


しかしながら、このデータを使って学習をさせた場合、説明変数は「日付」「金額」「区分」「残高」「適用」になりますが、そのなかに「回数」を示す変数はありませせん。

人間の目で見れば、Aさんの入出金回数が多いことは一目瞭然なのですが、機械学習のシステムにはそれがわかりません。そのために入出金回数が重要な要素であることを読みとくことができないのです。


これを解決するにはあらたに「月毎の入金回数」「月毎の出金回数」という変数を新たに作る必要があります。これ自体は既にあるデータをまとめるだけなので、それほど大変な作業ではないと思いますが、これにより機械学習システムが「出金の回数」と目的変数であるカードローンの申込みの関係を読みとく事ができ、より正確な予測を行うことができるようになります。


上記の例からお分かりいただけるかと思いますが、機械学習はあくまでも与えられた「説明変数」と「目的変数」の関係を読みくだけですので、そこに明示的に存在しない項目が目的変数に大きな影響を与えているような場合には正確な予測ができません。


今ある「説明変数」が変数として十分なのか、あるいはそうでないのかを自動的に判定することができないため、予測精度が良くない場合、ビジネス上の経験から表面的に表れていないが実は影響を与えていそうな要素が無いかを考え、それを新たな説明変数として追加するという事を考える必要があります。(この場合には、新たなデータを追加するか、先ほどの出金回数の例のように説明変数を組みあわせて作成するかのどちらかになります)


以上が教師あり学習での失敗する要因「目的変数に大きく影響する因子が説明変数に含まれていなかった」の説明となります。これを解決するには、機械学習というより、その分野でのビジネス知見やそれまでの機械学習の経験が大きく効いてくる分野となるため、実ビジネス部門や今まで機械学習を担当してきた分析の専門家など複数部門の専門家の知見を合わせることによりこの問題を解決することが可能です。


失敗しない機械学習「READY AI」


株式会社ailysは今まで数多くの金融機関でのAI分析を支援してきた経験を元に、全自動でAI分析を実現する「READY AI」を開発しました。

READY AI」は、カードローンなどの商品のアップセルなどの目的毎に、最適な変数を自動的に計算して作り出し、データ分析を行うことができます。

そのために、今まで複数の専門家の知見や以前のデータ分析の経験がない場合でも、最適な分析を行い高い精度での予測を行うことが可能です。


READY AI」が利用できるのは金融業界に限定されますが、もし金融業界の方で「失敗しないデータ分析」にご興味があれば、気軽にご相談下さい

bottom of page