クラスタリングとクラス分類
クラスタリング結果の活用方法として、とても有効な方法の1つとして、既存のクラス分類と比較するということがあります。
間違ったクラスタリングの活用法としてよくありがちなのが、ユーザーが頭の中で客観的分類だと信じている特定の"分類"と一致するようなクラスタリングを得ようとするというのがあります。SOMや新しいクラスタリング・アルゴリズムの研究でもよく見られる間違いなので、ユーザーがこうした間違いをするのも仕方がないのですが、これは1960年代70年代頃にすでに「醜いアヒルの仔の定理」として議論済みです。
「醜いアヒルの仔の定理」は、当時のパターン認識の研究、すなわち現在の機械学習の先駆者である渡辺慧先生が提唱されたもので、物事の分類というのは、何らかの「観点」があってはじめて成り立つものであって、それを抜きにして、分類が客観的(アプリオリ)に存在しているわけではない、という話です。観点とは、結局、どの属性が他の属性よりもどれだけ重要であるかということです。そして、渡辺慧先生は、「クラスタ分析の効用は、有用な新しい分類を発見することにある」と結論づけています。
ここでクラスタとクラスについて考えてみたいと思います。データには、量的変数と質的変数があります。量的変数は連続の値を持つ変数で、質的変数は複数のカテゴリ値を持つ変数です。質的変数のカテゴリ値は「クラス」と同じ意味として捉えることができます。クラス分類モデルは、ある特定の質的変数を目的変数として、そのカテゴリ値を他の変数を用いたモデルで再現するモデルです。クラス分類モデルは、質的変数の数だけ可能です。
一方、クラスタリング(クラスタ分析)は、目的変数を設定せずに、複数の変数を説明変数として用いて、多次元空間上のデータポイント間の距離をもとにして、データポイントの塊を検出しています。複数の変数による合成的な分類を作成しているとも言えます。どの変数を計算に含めるかで結果が変わるのを積極的に利用して道具的に活用するのがクラスタリングの極意です。(ちなみに、通常の統計ソフトの階層型クラスタ分析では、説明変数に量的変数しか採用できないのですが、Viscoveryでは量的・質的の両方の変数を用いてクラスタリングができます。)
クラスタリングのイメージ
クラスタリングとクラス分類
つまり、クラスタリングとユーザーが頭の中で考えるクラス(分類)は異なるのが普通であり、それを一致させようとする苦労する必要はありません。むしろ、虚心坦懐な態度で、それを積極的に利用することを考えるべきなのです。すなわち、1つのクラスタに異なるクラスが混在したり、逆に同じクラスが異なるクラスタを形成していたりします。そこには、何かの理由があるはずで、それが新しい発見につながるかもしれないですし、実用上はそこから新しいセグメンテーションを作成して、異なる処置を割り振ることができます。
たとえば、品質管理では良品と不良品を分けますが、不良品にはさまざまなパターンや要因があります。それを識別することで、単に良品と不良品に分類するよりも高度な知見に到達できるのです。
特殊なケースとして、クラスタリングの結果と特定のクラス分類とが一致することはありえます。しかし、それがクラスタリングの目的では、ぜんぜんないのです。「改良型のSOMのクラスタリングで、フィッシャーのアヤメのデータが正しく分類できた」という論文を見かけたりするのですが、まったく基本中の基本から理解できていないナンセンスです。アヤメのデータは、判別分析のためのデータで、最初からクラス分類ができるように変数が用意されているので、それをクラスタリングするとアヤメの種の判別結果と一致するのは当たり前なのです。
クラスタリングの目的は、クラス分類と一致する結果を得ることではありません。それでは、何の発見もありません。クラスタ(cluster)とクラス(class)は、別のものです。クラスタリングの目的は、既知の分類法で分類したのでは発見できない潜在的な知識を発見することにあります。