「教師なし学習」(Unsupervised Learning) は「教師あり学習」と並んで語られることが多いのですが、「教師あり学習」とは全く異なる機械学習の手法です。「教師なし」という言葉から、先進的なAIのイメージを持たれる方も多いと思いますが、どのような原理で何ができる機械学習の手法であるかを正確に説明できる方は少ないのではないでしょうか?
この記事では「教師なし学習」の基本的な原理と、実際には何に利用できるのかを機械学習の知識が無い方にもわかりやすく説明します。
また、「教師なし学習」と似ており、混同されることも多い「強化学習」との違いについても併せて説明します。
【目次】
・「教師なし学習」の原理
・「教師なし学習」の用途
- 不正取引検知
- 異常検知
- 購買分析
・「教師なし学習」の留意点:おむつとビール
・「強化学習」との違い
・まとめ:どの分析を行うべきか?
「教師なし学習」の原理
「教師なし学習」も「教師あり学習」と同様に過去のデータを分析するということでは変わりがありません。しかし、「教師あり学習」の場合、データから導き出されるべき「答え」(機械学習の用語では「目的変数」と呼びます)がデータに含まれるのに対し、「教師なし学習」では「答え」がデータには含まれません。
「答え」=「教師」が無いために「教師なし学習」と呼ばれます。
「教師あり学習」の典型的な使い方として、顧客データを分析して購入してくれそうな顧客を予測するというものがありますが、この場合には過去に購入してくれた顧客を「教師データ」として学習し、様々な顧客属性から購入確率を導き出すモデルを生成します。
一方で、「教師なし学習」の場合、「購入した」のような答えがあるわけではありません。
では「教師なし学習」では何を学習させ、何がわかるのでしょうか?
「教師なし学習」ではデータ間の関係を分析し、ある似た傾向を持つデータ群を取り出すことができます。この場合、特定の答えに関連する特徴を分析するわけではないので、何に対しての傾向が分析されるのかを事前に予測することができません。
「教師なし学習」を使って購買データを分析したとして、「商品A」を購買する顧客の特性が抽出されるかもしれませんし、特定の時間に購入される商品群が分析されるかもしれません。
「教師なし学習」では何らかの傾向をもったデータ群を取り出すことができますが、「何に対しての傾向」なのかは、分析結果を見た人間が判断する必要があります。
「教師なし学習」の用途
上記から想像できるように、「教師あり学習」に対し「教師なし学習」は使い方が難しい手法ですが、「教師あり学習」にはないメリットがあります。それは「人間では気づきにくいデータに潜んでいるパターン=コンテキストを洗い出す事ができる」ということです。
この特質を活かし、次のような用途で利用されています。
不正取引検知
金融取引や商品・サービスの売買で何か不正がある時、何らかの点で正常な取引とは異なる事があります。過去の正常な取引を「教師なし学習」で学習することにより、正常な取引とは異なるパターンが発生したときに、それを検知することが可能となります。
(不正というコンテキストを取引データから洗い出すことができる)
ここでなぜ「教師あり学習」ではなく、「教師なし学習」なのかということがポイントとなります。
「教師あり学習」で不正パターンを学習すると、過去にあった不正は検知できるのですが、今までになかった新たな不正方法を検知することができません。
これに対し「教師なし学習」では、今までにない未知の不正であった場合でも、正常な取引とは何らかの点で異なるということを検知できます。
そのために不正検知という目的には「教師なし学習」は適した方法であると言えます。
異常検知
上記の不正取引検知と同様の考え方で、何らかの設備や機械の異常を検知することができます。ただし、取引の不正とは異なり、設備や機械が通常と異なるパターンを示したからと言って、それがただちに何らかの異常を示しているとは言えません。これは設備や機械の場合、不正のような「明確な意図」があるわけではないため、通常とは異なるパターンを示すコンテキストが様々であるためではないかと思われます。
そのために「教師なし学習」で異常検知ができるかはケースバイケースであり、この用途で利用するのであれば、事前に十分な検討が必要となります。
購買分析
「教師なし学習」の用途としてはよく知られていますが、小売店のPOSデータを分析して、何らかの傾向を見出す、という使い方があります。
具体的には、何らかの似た傾向を示すデータのクラスターを[D2] 取り出すという分析になります。例えば、金曜日の夕方になると、トマトとパスタが一緒に買われることが多い、といったような分析です。(この場合は、金曜日の夜はトマト味のパスタを食べるクラスターがいるという解釈が可能です)
分析の結果、今まで気づかなかった隠れた購買パターンが見つかる可能性がありますが、分析結果の「意味」は人間が解釈する必要があります。様々な購買パターンが見いだされたとしても、その背景にあるコンテキストは様々なので、パターンの背景にある「意味」を見出すのは難しく、何か具体的なアクションに結びつくような知見が得られるかは事前にはわからない、という点には注意を払う必要があります。
「教師なし学習」の留意点:おむつとビール
「教師なし学習」の有名な事例として、アメリカのスーパーでの「おむつとビール」がありますが、この事例は端的に「教師なし学習」の難しさを語っています。
2002年にコンサルティング会社MindMeldの社長兼CEOのトーマス・A・ブリスコック(Dr. Thomas A. Blischok)氏がNCRのビジネスコンサルティング担当の副社長だった1992年ごろ、Osco Drugsという小売ストア・チェーンの25店舗のレジスタからトランザクションデータ(120万以上のマーケットバスケット・データ)を得て分析を行ったところ、「「午後5時から7時の間、消費者がおむつとビールを買うということを発見した」という事例です。
「赤ちゃんを持つ家庭の父親が買い物を頼まれ、おむつと一緒に自分のビールを買った」と解釈することができます。
確かに面白い発見なのですが、これがわかったからと言って何かアクションが打てるわけではありません。(中にはビールとおむつを並べたところ売上が伸びたという記事を見かけることがありますが、全くの誤認です。実際にはOsco Drugs社は何のアクションも行っていません)
このように「教師なし学習」では「何が出てくるのかわからないが、分析をしてみて何がわかるのかをみてみる」という分析になりがちです。
これは弊社が日頃から何度も強調しているところですが、データ分析はあくまで「ビジネス課題を解き、最適な意思決定を行う」ための物ですので、このような分析を目的とした分析では「教師あり・なし」を問わずあまり意味のある分析とはならないように思います。
従って「教師なし学習」を使いこなすには、先述の「不正検知」のような、何を分析してその結果をどう適用するのか、という事前の検討が重要だと思います。
「強化学習」との違い
「教師なし学習」と似た機械学習の分野で「強化学習」があります。
「強化学習」を「教師なし学習」の一部として取り扱っている記事もありますが、弊社では全く異なるものと考えていますので、最後に簡単に触れておきます。
「強化学習」はある「環境」の中で、目的として設定された「報酬(スコア)」を最大化するための行動を学習させる機械学習の手法です。
少々わかりにくいかもしれませんが、代表的な利用方法である自動運転を考えるとわかりやすいと思います。
運転をする中で障害物を避けることができれば「報酬」を与え、避けられない場合には「ペナルティ」を与える。これを様々なパターンでの学習を繰りかえす事で自動運転の精度が向上していきます。
この場合、未知の障害物であっても避けなければなりませんので、「教師あり学習」は使えません。特定の障害物を教師データとして使うわけではないため、「強化学習」も「教師なし学習」の一種と考えられるかもしれません。
しかしながら、「強化学習」の場合、何をすれば報酬が得られるかという行動への正解が存在するため、分析結果が何のパターンを示しているのかがわからない「教師なし学習」とは根本的に異なる機械学習であるということはお分かりいただけるのではないでしょうか?
まとめ:どの分析を行うべきか?
機械学習では「教師あり学習」「教師なし学習」「強化学習」など様々な手法があり、どれが良いのか迷うことも多いのではないかと思います。
しかし重要なのは、ビジネスの課題を解くために分析を行うという視点であり、決して最新の手法であるからとか、何か未知の発見があるのではないかという目的で分析を行ってもうまくいかない事が多いと思います。
何らかのビジネス課題があり、機械学習で解決ができるのではないかと思っているものの、何をどう分析してよいのか迷っているという場合にはailysにご相談ください。
グローバルで100社以上の企業に機械学習を提供してきた知見を活かして、最適な方法をアドバイスさせて頂きます。⇒ご相談はこちら でいつでもうけつけています。
何かお困りや迷っていることがあればいつでもご相談ください。
Comments