顔で学ぶ「分類」の力:主成分分析とクラスタリング【理論編】

私たちは日常的に、さまざまな場面で「分類を行い」、また「分類されて」います。
たとえば年齢はその典型です。「高齢層」「中高年」「若年層」など、人を年齢という1つの軸で分けて表現するのは、非常に分かりやすい分類の例と言えるでしょう。

しかし、現実のビジネスの世界では、年齢だけでなく複数の要素を組み合わせて分類することが求められます。特にマーケティング分野では、顧客の属性や行動データをもとに分類を行い、戦略に活かすケースが数多く見られます。

たとえば:

  • 購買履歴に基づいて「価格志向」や「高付加価値志向」に分類し、広告を出し分ける
  • 顧客の年齢・来店頻度・購入カテゴリをもとにセグメンテーションを行う
  • 顧客ロイヤルティ(継続性)に応じてCRM戦略を最適化する

このように、属性情報を活用した分類は、顧客理解や施策の最適化に直結する重要な手段です。

分類するための方法

分類をしようとしたとき、課題になるのは情報の多次元性です。

たとえば顧客のデータには、「年齢」「性別」「住所」「購買履歴」「Web閲覧履歴」など、複数の軸があります。 こうしたデータを人間の直感だけで整理・分類するのは非常に困難です。

人間が直感的に把握できるのはせいぜい2次元(縦と横)まで。
そのため、多次元のデータを扱うには数値的に「本質的な違いを抽出」して、低次元に要約する技術が必要です。

以下は一般的な軸の整理や分類に関する手法です。今回は主成分分析とクラスタリングに関して説明をしていきます。

手法目的特徴
主成分分析(PCA)多次元データの要約と可視化軸の整理(集約)に活用します
クラスタリング自動的にグループを発見するKMeansや階層クラスタリングなど
判別分析与えられたグループに新しいデータを分類ロジスティック回帰やSVMなど

主成分分析:軸を集約する

主成分分析(PCA:Principal Component Analysis)とは、複数の属性情報を、少数の「主成分」に集約し、データの本質を可視化するための統計手法です。

たとえば顧客データに「年齢」「性別」「年収」「購買履歴」「Web閲覧履歴」といった複数の項目があるとします。ここで仮に、

  • 多くの顧客はWebを見てから商品を購入している
  • 年齢と年収には強い相関がある
  • 顧客の大多数は男性である

といった傾向が見られた場合、これらの情報は次のような2つの主成分に要約できるかもしれません:

  • 「年齢と年収(≒経済力)」
  • 「Web閲覧と購買(≒関心度・行動傾向)」

このように、相関の高い複数の属性を統合し、本質的な情報を少数の軸に圧縮するのが主成分分析の役割です。

ちなみに、各主成分が元のデータの情報(分散)をどれだけ説明しているかは、「寄与率」という指標で示すことができます。

たとえばこの例では、第2主成分の寄与率が40%、第1主成分が30%であれば、第2主成分のほうがより多くの情報を保持しているといえます。つまり、このケースでは第2主成分のほうが第1主成分よりも重要な成分だと解釈できます。

クラスタリング(Clustering)

クラスタリング(Clustering)とは、与えられたデータの中から、似たもの同士を自動的にグループ(クラスタ)に分ける手法です。
あらかじめ分類の正解(ラベル)が与えられていないデータに対して、「このデータとあのデータは似ている」といった類似性に基づいて構造を見つけ出すのが特徴です。

たとえば、顧客データに「年齢」「購買金額」「来店頻度」などの項目が含まれていたとします。
クラスタリングを行うことで、以下のような顧客グループに自動的に分類される可能性があります:

  • 価格に敏感で来店頻度が高い“リピート志向層”
  • 購買単価は高いが来店頻度は低い“ハイエンド層”
  • 若年層で購買は少ないもののWeb閲覧が活発な“将来顧客層”

このように、クラスタリングを用いることで、「複数の属性の組み合わせ」に基づく潜在的な顧客グループ(セグメント)を、人手を介さずアルゴリズムが自動的に抽出してくれます。

上記は、クラスタリングによって形成されたグループを視覚的にイメージ化したものです。

顧客の分類においては、それぞれの顧客がいずれかのクラスタに属することになり、属性的に似ている(距離的に近い)顧客同士が同じクラスタに分類されます

特に主成分分析と組み合わせることで、視覚的にどのようなクラスタが存在しているかを直感的に把握できるため、データ分析やマーケティング施策の設計において非常に有効です。

今回のケースの紹介:8人の女性の顔を分類してみる

今回、筆者は分類手法を実感するために、AIによって生成された8人の女性の顔画像を用いて分類を行ってみました。

顔認識ライブラリを使用して、各画像から128次元の顔特徴ベクトルを抽出し、それを属性情報の代わりとして使用しました。
つまり、「この顔の情報を128種類の数値的な特徴に分解した」と考えることができます。この128の特徴が具体的に何を意味しているのかを明確に説明するのは困難ですが、イメージとしては、顔の輪郭やパーツの配置、目鼻立ち、表情の違いなどを数値化したものと捉えていただければよいでしょう。

さて、今回はここまでとして次回からこの顔の情報をもとに今回紹介した主成分分析、クラスター分析を実施していくこととします。

最後に!

データ解析やデータ活用の話があればぜひご相談ください。

コメント