クラス分類

クラス分類とは

様々な対象をある決まったカテゴリー(クラス)に分けることをクラス分類といいます。例えば、ある写真に写ったものが犬なのか猫なのか人間なのかを判別するということなどがあげられます。

ここで、犬や猫といった分類には犬、猫それぞれの特徴や、分類する為の明確な境界があり、コンピューターによってクラス分類を行うには、どんなものが犬で、どんなものが猫なのか、という情報が事前にわかっている必要があります。つまり、コンピューターで処理する場合には教師データが必要ということになります。それゆえに、クラス分類は「教師あり学習」であると言うことができます。

クラス分類の目的は、特定の分類法をより正確に再現するモデルを作成するということです。

分類する対象は犬、猫のような違いがはっきりしているものから、大、中、小などの区切りがあいまいなものまでありますので、モデルの作成方法によっては分類の結果が違ってくることもあります。

一般的なモデルの作成の方法としては、方程式、ルール、確率、マッチングなどが使われますが、どの方法を用いるにしても、最初にあらかじめ正解例が提示された状態で分類を行い、正解例が提示されない未知の情報がインプットされた場合にも、正解の分類を再現できるモデルを作成するということが必要となります。ここで重要となってくるのは、正解例が無数にある属性の中から人間が考えうる属性であるということであり、それが教師信号となることです。
クラス分類のイメージとしてよくあるのは、常にある1つの属性に注目して対象をカテゴリー化することを考えがちですが、実際のデータマイニング・プロジェクトなどでのクラス分類では、たくさんの属性から分類に関係する属性を選択し、また各属性に適切な重みを与えていくことが、主要な課題となります。

分類の方法としていくつか手法がありますので代表的なものを紹介します。


クラス分類の手法

2クラス分類(binary classification)

与えられたデータを、分類器を用いて適切な2種類の「クラス」に分類する方法です。
例えば、例えばメールのスパム分類がよくあるもので、スパムメールなのかそうでないのかを判別することなどがあります。
2クラス分類では、あるデータを入力したらそれに対応したカテゴリーが出力されるような関数を作ることで分類可能となります。通常そのような関数を「分類関数」といいます。

1対多分類器(one-vs.-rest classifier)

クラスごとに判別式を用意し、対象データにすべての式を適用します。そして次に、最も高い確率のクラスに割り当てるというクラス分類の方法です。

1対1分類器(one-vs.-one classifier)

全個のクラスから2個を判別する式を、クラス選択分用意します。
その後、データをすべて判別式に適用し、結果の多数決でクラスを決定するクラス分類の方法です。


分類の結果として、本当にその分類で正しいのかというと100%そうとは言い切れない場合も出てきます。

例えば2値分類の結果を臨床検査などでよく使われる概念で考えると、真陽性、偽陰性、真陰性、偽陽性という4つに分類されます。

  • 真陽性:陽性と判断されて本当に陽性だったもの
  • 偽陽性:実は陽性ではなかったもの
  • 真陰性:逆に陰性と判断されて本当に陰性だったもの
  • 偽陰性:実は陽性だったもの

この4つの分類の合計は100%になりますが、陽性と判断されて、実際に陽性だった確率を感度といい、陰性と判断されて、実際に陰性だった確率を特異度といいます。

この感度と特異度は母数の比率に影響を受けやすく、全体1000人のうち陽性の割合が10%となる場合、その中で1人陽性ではなかった場合1%の誤認識が出るということになります。これが、1000人中50%が陽性だった場合だと1人誤認識だった場合は0,2%になりますので、これらの指標も考えながら判断の基準を作る必要があります。