Discriminative model vs Generative model

 

Remarks

이 글은 Computer Vision: Models, Learning, and Inference를 참고하여 작성되었습니다.

Discriminative model: Modeling $Pr(Y \mid X)$
Generative model: Modeling $Pr(X \mid Y)$


1. Components of solution

Data로부터 target의 확률(분포)를 추론하는 경우 크게 3가지 요소가 필요합니다.

  1. Model
    Data(Input) $X$Target(Output) $Y$ 간의 관계를 수학적으로 나타내는 것으로, Parameter $\theta$에 의해 결정될 수 있습니다.
  2. Learning algorithm
    Training data $X_{1..N}, Y_{1..N}$으로부터 Parameter $\theta$를 학습시키는 알고리즘
    1) MLE (Maximum Likelihood Estimator)
    $ \hat{\theta} = argmax_\theta Pr(Y_{1..N} \mid X_{1..N}, \theta) = argmax_\theta \Pi_{i=1}^N Pr(Y_i \mid X_i, \theta) = argmax_\theta \Sigma_{i=1}^N logPr(Y_i \mid X_i, \theta) \text{ with independence assumption} $
    2) MAP (Maximum A Posterior)
    $ \hat{\theta} = argmax_\theta Pr(\theta \mid X_{1..N}, Y_{1..N}) = argmax_\theta \Pi_{i=1}^N Pr(Y_i \mid X_i, \theta)Pr(\theta) \text{ with independence assumption} $
  3. Inference algorithm
    Model을 사용하여 new data $x^\ast$에 대한 output의 확률분포 $Pr(Y|X=x^\ast)$를 추정하는 알고리즘


2. Types of Model

무엇을 modeling하는지에 따라 2가지로 나누어볼 수 있습니다.

  1. Discriminative Model
    Model on the data $Pr(Y|X)$
    • Data가 주어진 경우에만 작동시킬 수 있습니다.
  2. Generative Model
    Model on the target $Pr(X|Y)$
    • Data가 주어지지 않고 target만 주어진 경우, data를 생성할 수 있습니다.


3. Discriminative model vs Generative model

  Discriminative model Generative model
Model $Pr(Y \mid X)$ $Pr(X \mid Y)$
Learning algorithm Learn $\theta$ from training data Learn $\theta$ from training data
Inference algorithm Evaluate model $Pr(Y \mid X=x^\ast)$ 1. Define prior $Pr(Y)$
2. $Pr(Y \mid X=x^\ast)=\frac{Pr(X=x^\ast \mid Y) Pr(Y)}{\int Pr(X=x^\ast \mid Y) Pr(Y) dY}$


4. Conventional name

  Discriminative model Generative model
Model $Pr(Y \mid X)$ $Pr(X \mid Y)$
Regression Linear regression Linear regression
Binary classification Logistic regression Probability density function