コンピュータによる分類を行う場合、通常は統計的手法を用いてアルゴリズムを開発する。
多くの場合、個々の観測データは、説明変数または特徴量と呼ばれる定量化可能な特性のセットに分析されます。これらの特性は、カテゴリ(例:血液型を表す「A」、「B」、「AB」、「O」)、順序(例:「大」、「中」、「小」)、整数値(例:メール内の特定の単語の出現回数)、または実数値(例:血圧の測定値)など、さまざまな形式をとります。他の分類器は、類似度関数または距離関数を用いて、観測データを過去の観測データと比較することで機能します。
分類を実行するアルゴリズム、特に具体的な実装例は、分類器と呼ばれます。「分類器」という用語は、分類アルゴリズムによって実装される、入力データをカテゴリにマッピングする数学関数を指す場合もあります。
分野によって用語はかなり異なります。統計学では、分類はロジスティック回帰や同様の手法で行われることが多く、観測値の特性は説明変数(または独立変数、回帰変数など)と呼ばれ、予測されるカテゴリは結果と呼ばれ、従属変数の可能な値とみなされます。機械学習では、観測値はインスタンスと呼ばれることが多く、説明変数は特徴(特徴ベクトルにグループ化される)と呼ばれ、予測される可能性のあるカテゴリはクラスと呼ばれます。他の分野では異なる用語が使用される場合があります。たとえば、群集生態学では、「分類」という用語は通常、クラスター分析を指します。
分類とクラスタリングは、より一般的な問題であるパターン認識の例です。パターン認識とは、与えられた入力値に対して何らかの出力値を割り当てることです。その他の例としては、各入力に実数値の出力を割り当てる回帰、値のシーケンスの各メンバーにクラスを割り当てるシーケンスラベリング(例えば、入力文の各単語に品詞を割り当てる品詞タグ付け)、入力文に構文構造を記述する構文解析木を割り当てる構文解析などがあります。
分類の一般的なサブクラスとして、確率的分類があります。この種のアルゴリズムは、統計的推論を用いて、与えられたインスタンスに最適なクラスを見つけます。単に「最適な」クラスを出力する他のアルゴリズムとは異なり、確率的アルゴリズムは、インスタンスが考えられる各クラスに属する確率を出力します。そして、通常、最も確率の高いクラスが最適なクラスとして選択されます。しかし、このようなアルゴリズムは、非確率的分類器に比べて多くの利点があります。
統計的分類に関する初期の研究は、Fisher [ 1 ] [ 2 ]によって2 つのグループの問題という文脈で行われ、新しい観測にグループを割り当てるルールとしてFisher の線形判別関数が導き出されました。 [ 3 ]この初期の研究では、2 つのグループ内のデータ値が多変量正規分布に従うと仮定されていました。この同じ文脈を 2 つ以上のグループに拡張することも検討されており、分類ルールは線形である必要があるという制約が課されています。[ 3 ] [ 4 ]多変量正規分布に関する後の研究では、分類器を非線形にすることが可能になりました。[ 5 ]マハラノビス距離のさまざまな調整に基づいていくつかの分類ルールを導出でき、新しい観測は、その観測から調整された距離が最も小さいグループに割り当てられます。
頻度主義的手法とは異なり、ベイズ分類手法は、全体集団内の異なるグループの相対的なサイズに関する利用可能な情報を考慮に入れる自然な方法を提供する。[ 6 ]ベイズ手法は計算コストが高くなる傾向があり、マルコフ連鎖モンテカルロ計算が開発される以前は、ベイズクラスタリング規則の近似が考案されていた。[ 7 ]
ベイズ統計的手法の中には、グループ帰属確率を計算するものがあり 、これは各新規観測値に単一のグループラベルを単純に割り当てるよりも、より有益な結果をもたらします。
分類は、二値分類と多クラス分類という2つの別々の問題として考えることができます。二値分類は、よりよく理解されているタスクであり、2つのクラスのみが関係しますが、多クラス分類では、オブジェクトを複数のクラスのいずれかに割り当てます。[ 8 ]多くの分類手法は二値分類のために特別に開発されているため、多クラス分類では、多くの場合、複数の二値分類器を組み合わせて使用する必要があります。
ほとんどのアルゴリズムは、個々のインスタンスの測定可能な特性からなる特徴ベクトルを使用して、カテゴリを予測する個々のインスタンスを記述します。各特性は特徴と呼ばれ、統計学では説明変数(または独立変数、ただし特徴は統計的に独立している場合もそうでない場合もあります)としても知られています。特徴は、バイナリ(例:「オン」または「オフ」)、カテゴリ(例:血液型を表す「A」、「B」、「AB」、「O」)、順序(例:「大きい」、「中程度」、「小さい」)、整数値(例:電子メール内の特定の単語の出現回数)、または実数値(例:血圧の測定値)など、さまざまな形式をとることができます。インスタンスが画像の場合、特徴値は画像のピクセルに対応する可能性があります。インスタンスがテキストの場合、特徴値はさまざまな単語の出現頻度である可能性があります。一部のアルゴリズムは離散データのみで動作し、実数値または整数値のデータをグループ(例:5未満、5~10、または10より大きい)に離散化する必要があります。
分類アルゴリズムの多くは、インスタンスの特徴ベクトルと重みベクトルを内積を用いて組み合わせることで、各カテゴリkにスコアを割り当てる線形関数として表現できます。予測されるカテゴリは、最も高いスコアを持つカテゴリです。このタイプのスコア関数は線形予測関数と呼ばれ、一般的に次の形式をとります。 ここで、X iはインスタンスiの特徴ベクトル、β kはカテゴリkに対応する重みベクトル、score( X i , k ) はインスタンスi をカテゴリkに割り当てることに関連付けられたスコアです。離散選択理論では、インスタンスは人を表し、カテゴリは選択を表すため、スコアは人i がカテゴリkを選択することに関連付けられた効用とみなされます。
このような基本的な構成を持つアルゴリズムは、線形分類器として知られています。両者の違いは、最適な重み/係数を決定(学習)する手順と、スコアの解釈方法にあります。
このようなアルゴリズムの例としては、
すべてのデータセットに適した単一の分類方法は存在しないため、分類アルゴリズムの大規模なツールキットが開発されてきました。最も一般的に使用されているものには、次のものがあります。[ 9 ]
複数のアルゴリズムの中から選択する際には、多くの場合、精度の定量的評価に基づいて判断が下される。
分類には多くの応用例がある。その一部はデータマイニングの手法として用いられるが、その他はより詳細な統計モデリングが行われる。