全3960文字
PR

 「AI(人工知能)の民主化」と呼んでいいほど、AIを自ら開発・運用しようという機運が高まっている。データサイエンティストではない一般的なビジネスパーソンが統計や機械学習アルゴリズムに自ら触れ、データを分析してその結果を業務に活用し始めている。実際にアルゴリズムに触れる機会が増えたと感じる読者も多いだろう。

 一方で、「アルゴリズムが色々とあり過ぎて、どこから勉強を始めるべきか分からない」といった悩みの声をよく聞く。そこで本特集はコンサルティングファームで働く現役データサイエンティストの視点から、ビジネスに使える最新のアルゴリズムを10種類選んで紹介する。

 データサイエンスで利用されるアルゴリズムには、一つ一つ違った特性があり、業務シーンによって向き不向きがある。そこで本特集ではビジネスに使えるアルゴリズムを、以下の4項目の観点で評価した。

  1. 簡便性……専門知識が不要で、すぐに実装できること
  2. 汎用性……1つのアルゴリズムでさまざまな業務課題が解け、習得の効率が良いこと
  3. データ取得性……アルゴリズムで使うデータを集めやすいこと
  4. 可読性……アルゴリズムの実装結果を、分かりやすく説明・報告できること

 具体的に紹介するのは、次の10種類のアルゴリズムだ。

■本連載で取り上げるアルゴリズム10選
分類アルゴリズム取り上げる回
教師なし学習k-means今回
教師なし学習主成分分析今回
教師なし学習潜在クラス分析今回
教師あり学習LightGBM第2回
教師あり学習ベイズモデリング第2回
因果推論Causal Forest第2回
時系列分析Prophet第3回
時系列分析ベイズ構造時系列モデル第3回
時系列分析Temporal Fusion Transformer第3回
最適化計算混合整数最適化第4回

 この特集を通じて、データサイエンスの専門知識がない人でも、「自分の業務に統計や機械学習を導入できるのでは」と考えるきっかけを得てほしい。自分自身で実際にアルゴリズムを試すことで、新しい業務プロセスを思い付いたり、データサイエンスの限界を知ったりできるだろう。すべてのビジネスパーソンにとってデータサイエンスが身近になることを期待している。

 今回は機械学習の中でも使用頻度の高い「教師なし学習」のアルゴリズムを紹介する。

 教師なし学習は、一連のデータからその背景にある隠れたパターンや構造を見つけ出すアプローチだ。目的となる変数がないため、データ間の近さや類似度などから分析をする。一方の教師あり学習は、目的となる変数が決まっており、その値に影響を与えている要素を推計する。

教師なし学習(クラスタリング、次元削減)

 ビジネスシーンで使うポピュラーな教師なし学習のアルゴリズムの用途は、「クラスタリング」と「次元削減」の2つに大別できる。顧客の属性を記録した表形式のデータがあった場合に、表の縦方向、つまり顧客をいくつかのグループにまとめるのがクラスタリング、表の横方向、つまり顧客の属性に関するデータ項目をまとめるのが次元削減だ。

教師なし学習アルゴリズムの用途「クラスタリング」と「次元削減」のイメージ
教師なし学習アルゴリズムの用途「クラスタリング」と「次元削減」のイメージ
(出所:野村総合研究所)
[画像のクリックで拡大表示]

■k-means

ポイント評価
簡便性★★★
汎用性★★☆
データ取得性★★★
可読性★☆☆

 ビジネスシーンでクラスタリングを適用する際に最もよく使うアルゴリズムが「k-means」だ。例えば顧客を「セグメント分け」したいときなどに用いる。分析者が顧客をセグメント分けする「答え」を持っていなくても、似た行動をする顧客をアルゴリズムで自動的に分類するといった用途に適している。

 k-meansでは、クラスターをランダムに設定し、各クラスターの重心と各データの距離を計算して、各データに最も近いクラスターを割り当てる。これを繰り返すことで、各データを最適なクラスターに割り当てる。

 k-meansの最大の特徴は簡便性だ。実装は簡単で計算も速いため、どんな環境でも利用できる。Pythonなどを使って自分でプログラムを書くこともできるが、オープンソースのPython用ライブラリー「scikit-learn」を使えば簡単に実装可能だ。Excelなどで動く有償ソフトウエアでも多変量解析の手法としてk-meansを含んだものが提供されている。使用するに当たっては分類するクラスターの数、繰り返し計算を行う回数、初期値の設定など多少の調整は必要だが、比較的容易に対応できる。データの件数が少ない場合も問題なく動作するため、誰でも活用する機会がある。

k-meansを活用する際に注意すべき点

 実務におけるk-meansの課題は、分析結果の可読性が低いことだ。「クラスターがどのような基準で構成されているか」を知るのは容易ではない。実際に顧客をクラスタリングするなら、「プレミアム志向で価格感度が低い顧客」や「同一商品ばかりをリピートする顧客」といった分かりやすい行動パターンに従って顧客を分類したいところだ。しかしk-meansではクラスターの解釈が難しいため、このような分析には向いていない。

 分析結果の可読性が低いため、k-means単独で解ける業務課題というのは、実際にはかなり少ない。それでもk-meansがビジネスシーンでよく使われるのは、他の機械学習手法と組み合わせて使いやすいからだ。

 例えば、「まず店舗をk-meansでクラスタリングし、続いて店舗クラスターごとに売上高に関する時系列予測モデルをつくる」といった使い方が多い。k-meansによってあらかじめ分析対象を適切なクラスターに分類しておけば、各クラスターの特性を反映した精度の高い予測モデルをつくれる。