全4023文字
PR

ビジネスに使えるアルゴリズムについて、汎用性や可読性など4項目で評価する。今回は教師なし学習のアルゴリズムを3つ取り上げた。k-means、主成分分析、潜在クラス分析について、それぞれ特徴を押さえよう。

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

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

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

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

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

教師なし学習のアルゴリズム

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

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

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

図 教師なし学習のアルゴリズムの用途
図 教師なし学習のアルゴリズムの用途
クラスタリングと次元削減の2つがある
[画像のクリックで拡大表示]

k-meansの特徴は簡便性

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

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

 k-meansの最大の特徴は簡便性だ。実装は簡単で計算も速いため、どんな環境でも利用できる。Pythonなどを使って自分でプログラムを書くこともできるが、オープンソースのPython用ライブラリー「scikit-learn」を使えば簡単に実装可能だ。Excelなどで動く有償ソフトウエアでも多変量解析の手法としてk-meansを含んだものが提供されている。

 使用に当たっては分類するクラスターの数、繰り返し計算を行う回数、初期値の設定など多少の調整は必要だが、比較的容易に対応できる。データの件数が少ない場合も問題なく動作するため、誰でも活用する機会がある。

図 教師なし学習アルゴリズムの例
図 教師なし学習アルゴリズムの例
4項目でアルゴリズムを評価
[画像のクリックで拡大表示]