けんごのお屋敷

0001-01-01

数学を深く知らなくてもわかる GMM と AGM によるクラスタリングことはじめ

クラスタリングとはデータ点の集合を意味のあるグループに分割するものである。クラスタリング手法の 1 つとして Gaussian Mixture Model (GMM) というものがある。あの有名な(ここにあの有名な機械学習の本を入れる)にも載っているので、ソレ系の分野をやってる人は知ってる人も多いかもしれない。そしてその GMM の派生版として Approximate Gaussian Mixtures (AGM) という手法を提案している以下の論文がある。

Approximate Gaussian Mixtures for Large Scale Voacbularies

今回ふとしたきっかけで AGM を見つけて、そして実装してみたので、AGM の解説や GMM との違いをまとめてみよう。

Gaussian Mixture Model

GMM は日本語ではガウス混合モデルと呼ばれたりする。これはクラスタ数分の正規分布を考えて、各データ点がどの正規分布から生成されたのかを考えることでクラスタリングを行う。はて、言葉だけで説明してもイマイチピンとこない。とりあえず適当にクラスタリングされそうなデータ点を作って、見てみることにしよう。

以下の図には 30 個の点があって、んーたとえば学校の1クラスに30人いて、その一人一人の数学のテストの点数だと考えてみると具体的になるかな。35点〜45点、70点〜80点、80点〜90点付近にそれぞれ分布してて、3つのグループに分けれそうだ。数学が苦手なグループ、そこそこ数学はわかるグループ、数学が得意なグループ、って感じ?

データ点の集合

モチベーションとしては、この人は数学が苦手なグループ、この人は数学が得意なグループ、という風にこれらのデータをコンピュータでグルーピングしたい。用語としてはグループのことを クラスタ と言ったりするので、今後はクラスタという言い方に統一しよう。

さて、GMM では正規分布を考えるという話を最初にしたけど、まず正規分布ってのはこういうののことですね。

一次元正規分布

3 つのクラスタに分割できそうなので、正規分布も 3 つ考える。GMM と EM アルゴリズム)を使えば、これらのデータ点の集合から、3 つの正規分布がどうなっているのかを推定できる。正規分布がどうなっているかというのは、つまり、平均と分散を求めるということ。正規分布は平均 μ と分散 σ で決まる、って習ったでしょう。GMM を使えば、これらのデータ点の集合はこういう風にクラスタリングされる。

まず正規分布ってのはこういうのだね。これは知ってる人も多いでしょう。

そして、クラスタリングしたいデータはこういうものだとしよう。

一次元のデータ点の集合

一次元なので数直線上にしかデータがないけど、後から多次元にも拡張していく。さて、この図はパッとみて3個のグループに分けることが出来そうだ。人間だったらどのデータ点がどのグループに属するのか、図を見ただけでパッとわかる。用語としてはグループのことを クラスタ と言ったりするので、今後はクラスタという言い方に統一しよう。

そういう「どのデータ点がどのグループに属するのか」という判定をコンピュータに計算させるのが GMM で、GMM ではまずグループ数(クラスタ数)分の正規分布を考える。この場合は 3 つのグループに分割できるので

さて、わざわざ 一次元 正規分布と書いたのには意味がある。クラスタリングをするデータ点の次元数は様々あるけど、ビジュアライズしやすい二次元のデータ点をクラスタリングすることを考えたほうが直感的にわかりやすい。

  • このエントリーをはてなブックマークに追加