일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- ML
- Bagging
- Deep Neural Network
- 기계학습
- 딥러닝
- ae
- rnn
- MLE
- anomalydetection
- 논문리뷰
- 레이텍
- MNIST
- map
- Fast Fourer Transform
- 머신러닝 논문리뷰
- 논문 해석
- 머신러닝
- 이상 탐지
- Generative Model
- Wavelet Transform
- Python
- 인공신경망
- Spiking Neural Network
- 뉴럴네트워크
- Deep Learning
- Snn
- Machine Learning
- 이상 현상 탐지
- autoencoder
- 논문 리뷰
- Today
- Total
MATH & ML
Generative model과 Discriminate model 차이점과 비교 본문
항상 공부를 하다보면 각 모델이나 방식마다 Generative model과 Discriminate model이라는 말이 나오면 항상 어려웠고 너무 헷갈렸기에 이를 내가 다시 이해해본 그대로 정리해보려고 한다.
(출처 : http://sens.tistory.com/408)
Generative model과 Discriminate model는 위키에 따르면 classification 경우에 정의를 한다. classification을 하는 경우 위의 사진처럼 각 x 데이터마다 label된 class y가 있을 것이고, 목적은 P(YlX)를 최대화 하는 Y를 찾는 것, 즉 새로운 X에 대하여 그 X가 어느 Y 클래스로 분류될 가능성이 큰지이다. 즉 X라는 데이터가 주어졌을 때의 파라미터의 함수, 즉 posterior 함수를 최대화 시키는 것이다.
이를 어떻게 학습할지 모델을 정하는 방법에 따라 Generative model과 Discriminate model 2가지로 나뉜다.
direct하게 p(y|x)를 학습시켜 그 학습된 parameter를 직접 이용하여 직접 아웃풋 y를 계산하는 모델을 딱 정해져있으니까 Discriminative model라고 부르겠지.
반면에 generative model은 각 클래스 별로 가지는 conditional density와 각 클래스의 prior distribution을 이용하여, 데이터와 class 이 둘의 joint probability를 모델링 하고! 이를 이용하여 새로운 데이터에 대하여 어떤 class에 들어가야 하는지 결정을 내려 아웃풋 y를 계산하는 것이다.
그렇다면 generate라는 말은 왜붙은걸까? 생성? 뭐를 만들어내지?? 생성한다는게 어떤 의미인가? 이 말은 joint probability를 학습해서 기존 데이터들을 만들어내는 모델 자체를 만들었기 때문에 이렇게 이름을 붙인거다. 즉 데이터를 기반으로 이 데이터를 생성하는 모델을 추정하여 해당 데이터의 클래스를 판별한다고 할 수 있다.
즉 Discriminate model(예:Logistic regression, Neural Networks)은 각 class의 차이에 주목하여 바로바로 어떤 class에 들어가야 할지 결정해 주는 모델이고. Generative model(예:Gaussian Mixture Model (GMM))은 각 class의 분포에 주목하여 어떤 분포에 들어갈 가능성이 가장 많은지 결정해 주는 모델이라고 할 수 있겠다.
일단 내가 이해한 바로는 이렇고, 이를 이번기회에 정리한 이유는 바로 Variation Autoencoder(VAE)가 Generative model인 덕분인데, VAE를 또 이해하다 보면 헷갈릴 수 있는데 그 때 다시 정리 또 해보지 뭐
'Machine Learning' 카테고리의 다른 글
Data imputation(결측치 처리) (0) | 2018.07.04 |
---|---|
Variational Autoencoder(VAE)의 원리와 이해 (0) | 2018.06.18 |
Autoencoder란 개략적 설명과 종류 (0) | 2018.06.15 |
dimension reduction에 관련된 몇 가지 관점 (0) | 2018.06.07 |
머신러닝의 전반적인 흐름(에러 관점, 확률론적인 관점 그리고 MLE와 MAP차이 및 연관성) (1) | 2018.06.07 |