「線形分類器」の版間の差分

削除された内容 追加された内容
m Yapparina がページ「線型分類器」をリダイレクトの「線形分類器」に移動しました: 合意無き移動の取り消し、ノート:線型性#非線形か非線型かを参照のこと
移動後処理
1行目:
{{告知|議論|線型・線形の表記問題|ノート:線型性}}
 
'''線分類器'''({{lang-en-short|Linear classifier}})は、特徴の[[線結合]]の値に基づいて分類を行う[[統計分類|確率的分類器]]である。[[機械学習]]において、分類は項目群を特徴値に基づいてグループに分類することを目的とする。
 
== 定義 ==
12行目:
二項分類問題は、高次元の入力空間を超平面で分割する操作として視覚化できる。その超平面の一方の側にある点は分類において "yes" とされた点であり、もう一方の側にある点は "no" とされた点である。
 
分類器は、特に <math>\vec x</math> が疎であるとき最も高速な分類器であるため、分類の速度が重要な場合に使われることが多い。ただし、[[決定木]]の方が速い場合もある。また、線分類器は <math>\vec x</math> の次元が大きいときにうまく機能する。例えば、[[文書分類]]において <math>\vec x</math> の各要素は文書における個々の単語の出現回数などになる。そのような場合、線分類器は[[正則化 (機械学習)|正則化]](regularization)されているべきである。
 
== 生成的モデルと識別的モデル ==
分類器 <math>\vec w</math> のパラメータを決定する手法は大まかに2つに分類される<ref>T. Mitchell, Generative and Discriminative Classifiers: Naive Bayes and Logistic Regression. Draft Version, 2005 [http://www.cs.cmu.edu/~tom/mlbook/NBayesLogReg.pdf download(PDF)]</ref><ref>A. Y. Ng and M. I. Jordan. On Discriminative vs. Generative Classifiers: A comparison of logistic regression and Naive Bayes. in NIPS 14, 2002. [http://www.cs.berkeley.edu/~jordan/papers/ng-jordan-nips01.ps download(PS)]</ref>。1つは[[条件付き確率]] <math>P(\vec x|{\rm class})</math> をモデル化したものである。そのようなアルゴリズムとして以下のものがある。
* 線[[判別分析]] (LDA) - [[正規分布]]モデルを仮定する。
* [[単純ベイズ分類器]] - [[確率論的独立性|独立]][[二項分布]]モデルを仮定する。
 
2つめは[[識別モデル]]と呼ばれるもので、[[訓練例]]の出力の品質を最大化しようとするものである。訓練コスト関数に項を追加することで、最終モデルの正則化が容易に実現できる。線分類器の識別訓練の例として、以下のものがある。
* [[ロジスティック回帰]] - 観測された訓練例が分類器の出力に依存した二項分布モデルで生成されたものと見なし、<math>\vec w</math> を最尤推定する。
* [[パーセプトロン]] - 訓練例の学習時に発生した全ての誤りを正そうとするアルゴリズム
* [[サポートベクターマシン]] - 判断超平面と訓練例との間の余白を最大化するアルゴリズム
 
なお英語でいうと、線判別分析(Linear Discriminant Analysis)と識別モデル(Discriminative Model)は関連がありそうだが、上のように分類されている。LDAは[[主成分分析]](Principal Component Analysis、PCA)との対比で意味を持つ名前である。LDAは[[教師あり学習]]アルゴリズムであり、PCAは[[教師なし学習]]アルゴリズムである。<ref>R.O. Duda, P.E. Hart, D.G. Stork, "Pattern Classification", Wiley, (2001). ISBN 0-471-05669-3</ref>
 
識別訓練は条件付き確率分布をモデル化する方式よりも正確であることが多い。しかし、欠落データの扱いは条件付き確率分布モデルの方が容易なことが多い。
 
上述の線分類器のアルゴリズムはいずれも、[[カーネルトリック]]を使って、異なる入力空間 <math>\varphi(\vec x)</math> 上の非線アルゴリズムに変換できる。
 
== 関連項目 ==