「PRMLの多項分類器について」で紹介した、下記の多項分類器があります。
- ベクトル値のサンプル群 をK個のクラス に分類します。
- 各クラスを特徴づける線形関数(分類関数) を用意します。
- 分類関数の値が最も大きいクラスに分類します。
この分類器は、あるクラスに属する点の集合が空になることがあります。その条件について考えます。
D次元空間の点を(D+1)個のクラスに分類する場合
この場合、ある前提の下に、すべてのクラスが必ず空にならない事が示せます。
命題
法線ベクトルの集合 が、すべての について、「 を固定した場合に、D個のベクトル は一次独立である」という条件を満たすものとする。この時、各クラスに属する点の集合は、空になることはない。(そのクラスに属する点は必ず存在する。)
(証明)
任意の を固定して考えた際に、 を満たす が存在することを示す。
これより、 内のすべての元に対して、 となる が存在したとすると、十分大きな を用いて、 が求める となることが分かる。
今、 は、D次元空間のD個の一次独立なベクトルであるので、これらが張る超平面を考えて、その(大きさ1の)法線ベクトル を取れば、 が成立する。これが求める に他ならない。
超平面を用いた幾何学的な議論が腑に落ちない場合は、D次元空間の直行基底で成分表示して考えるとよい。
この時、 は次の線形方程式となり、 が一次独立であることから、単一解を持つことが保証される。
(証明終)
ちなみに、「PRMLの多項分類器について」では、2次元平面を3つのクラスに分割する例で、1つのクラスが空になる次の例をあげました。
実は、これは、上記の命題の前提が成り立たない特殊な例になります。
より、 で、 と が一次独立になりません。
、あるいは、 のように少しだけ係数を変化させると、前提が成立して、平面は3つのクラスに分割されるようになります。次の比較図をみると様子がよく分かります。
D次元空間の点を(D+2)個のクラスに分類する場合
先ほどの命題からもうひとつクラスを増やすと、属する点の集合が空になるクラスが存在することがあります。D次元空間ですので、「任意の について(D+1)個のベクトル は一次独立である」という前提を満たすことは当然できませんが、「任意の について(D+1)個のベクトル は互いに独立である(並行なものは存在しない)」という少しゆるめた条件下でも、属する点の集合が空になるクラスを持つものが構成できます。以下に具体例を示します。
はじめに、D次元空間の直行単位基底を として、次の法線ベクトルを用意します。
これを元にして、残りの法線ベクトルを次のように定義します。
ここで、 で定義されるクラスに属する点の条件に注目します。まず、 との比較を考えると、
したがって、 ---- (1)
一方、 の定義より、 と書けることに注意して、 と比較すると、
---- (2)
ここで、(1)(2)を比較すると、 かつ を満たす は存在しないことが分かります。
ここまでの議論は、 の具体的なとり方に依存しません。最後に、(D+1)個のベクトル が互いに独立になることを確認するために、 という具体的な定義にもとづいて、各法線ベクトルを次のように書き下します。
これより、前述の「互いに独立である」という条件が成り立つことも確認できます。
ちなみに の場合を図示すると、次のようになります。
との内積をすべて正にするベクトル(たとえば、超平面に対する法線ベクトル)は、これらが張る「D角錐」の内部方向を向いていますが、このようなベクトルは、 との内積は必ず負になることを示しています。ここで用意した法線ベクトル群 は、この図を作るように逆算して構成したものにすぎません。
任意の数のクラス数への分類
前述の説明は、「法線ベクトルのとり方によっては、空になるクラスが存在する」ということを主張するものでしたが、一方で、法線ベクトルのとり方によっては、任意の数の空にならないクラスに分類することも可能です。一般のD次元空間で、原点と半径1の超球面の表面を結ぶ、任意の数の(互いに独立な)法線ベクトル群 を用意すると、すべての について、
「 を固定した場合に、 内のすべての元に対して、 となる が存在する」
という条件が満たされます。(2次元か3次元の例で想像してみてください。)この時、冒頭の命題の証明(前半部分)を思い出すと、これらが分類するクラスはすべて空にならないことが分かります。
下記は、2次元の場合に、10本の法線ベクトルをきれいに円形にならべた場合の例になります。
調子にのって、100分割ぐらいするとこうなります(笑)。