回答:
KNNは、特定のクラスに属するサンプルの条件付き確率をモデル化するため、判別アルゴリズムです。これを確認するには、kNNの決定規則に到達する方法を考えてください。
クラスラベルは、特徴空間ある領域に属するポイントのセットに対応します。実際の確率分布からサンプルポイントを独立して描画する場合、そのクラスからサンプルを描画する確率は、 P (X )P = ∫ R P (X )D X
ポイントがある場合はどうなりますか?それらの点の点が領域入る確率は、二項分布に従います K N R P r o b (K )= ( N
この分布をシャープにする確率は、その平均値によって近似することができるように、ピークに達している\ FRAC {K} {N} 。追加の近似として、R上の確率分布はほぼ一定のままであるため、 P = \ int_ {R} p(x)dx \ approx p(x)V で積分を近似できます。 ここで、Vは領域。この近似の下で、p(x)\ approx \ frac {K} {NV}。KP = ∫ R P (X )D X ≈ P (X )のV VのP (X )≈ K
ここで、複数のクラスがある場合、各クラスに対して同じ分析を繰り返すことができます。これにより、 ここで、はその領域内にあるクラスからのポイントの量であり、はクラス属するポイントの総数です。注意してください。 KkkNkCk∑kNk=N
二項分布で分析を繰り返すと、事前のを推定できることが簡単にわかります。
ベイズ規則を使用して、 はkNNのルールです。
@jpmucによる回答は正確ではないようです。生成モデルは、基礎となる分布P(x / Ci)をモデル化し、後でベイズの定理を使用して事後確率を見つけます。それがまさにその答えに示されていることであり、正反対の結論を下します。:O
KNNを生成モデルにするには、合成データを生成できる必要があります。これは、初期トレーニングデータを取得したら可能になるようです。しかし、トレーニングデータなしから始めて合成データを生成することはできません。そのため、KNNは生成モデルにうまく適合しません。
分類のために判別境界を描くことができるか、事後P(Ci / x)を計算できるため、KNNは判別モデルであると主張するかもしれません。しかし、これらはすべて生成モデルの場合にも当てはまります。真の判別モデルは、基礎となる分布については何も伝えません。しかし、KNNの場合、基礎となる分布について多くのことを知っています。実際、トレーニングセット全体を保存しています。
したがって、KNNは生成モデルと識別モデルの中間にあるようです。おそらくそれが、KNNが評判の高い記事の生成モデルまたは識別モデルのいずれにも分類されない理由です。それらをノンパラメトリックモデルと呼びましょう。
私は反対のことを言っている本に出くわしました(すなわち、生成的ノンパラメトリック分類モデル)
これはオンラインリンクです:Machine Learning A Probabilistic Perspective by Murphy、Kevin P.(2012)
kNNは差別的であることに同意します。理由は、データを説明する(確率的)モデルを明示的に保存したり、学習しようとしないためです(たとえば、Naive Bayesとは対照的です)。
juampa混乱私が答えは以来、私の理解に、生成的分類器は、試みは(例えばモデルを使用して)データが生成される方法を説明することを一つであり、そしてその答えは、それがあると言う差別ためにこのような理由で...