生成アルゴリズムと識別アルゴリズムの違いは何ですか?
ベストアンサー1
入力データがありx
、そのデータをラベルに分類したいとしますy
。生成モデルは結合確率分布を学習しp(x,y)
、判別モデルは条件付き確率分布(「与えられた確率」p(y|x)
と読み替えてください) を学習します。y
x
これは非常に簡単な例です。次の形式のデータがあるとします(x,y)
。
(1,0), (1,0), (2,0), (2, 1)
p(x,y)
は
y=0 y=1
-----------
x=1 | 1/2 0
x=2 | 1/4 1/4
p(y|x)
は
y=0 y=1
-----------
x=1 | 1 0
x=2 | 1/2 1/2
これら 2 つの行列を数分間じっくりと観察すると、2 つの確率分布の違いが理解できるようになります。
分布は、与えられた例をクラス にp(y|x)
分類するための自然な分布です。そのため、これを直接モデル化するアルゴリズムは識別アルゴリズムと呼ばれます。生成アルゴリズムは をモデル化し、ベイズの規則を適用して に変換してから分類に使用できます。ただし、分布は他の目的にも使用できます。たとえば、 を使用して可能性のあるペアを生成できます。x
y
p(x,y)
p(y|x)
p(x,y)
p(x,y)
(x,y)
上記の説明から、生成モデルの方が一般的に有用であり、したがって優れていると思われるかもしれませんが、それほど単純ではありません。この紙は、識別分類器と生成分類器に関する非常に人気のある参考文献ですが、かなり難しい内容です。全体的な要点は、分類タスクでは識別モデルが生成モデルよりも一般的に優れているということです。