|봐도 봐도 어려운 두 모델 비교해보도록 하자
정의상으로 보자
Generative model은 joint distiribution p(x,y)를 학습에 사용하는 방법이다
(x,y)란 무엇인가? 데이터 그 자체를 의미한다.
p(x,y)는 그 데이터가 나올 확률을 의미하게 된다.
사물 인식을 예를 들면,
(x = 고양이 사진, y=고양이): 고양이라는 label를 가진 고양이 사진 그 데이터 그 자체
p(x = 고양이 사진, y=고양이): 고양이라는 label를 가진 고양이 사진 그 데이터가 나올 확률
Discriminative model은 posterior p(y|x)를 학습에 사용하는 방법이다.
p(y|x)는 classifier에게 매우 자연스러운 확률이다.
어떤 데이터가 주어졌을때 특정 레이블을 가진 확률이다.
예를 들면
p( y=고양이 | x=고양이 사진): 고양이 사진이 주어졌을때 고양이라고 분류되었을 확률
(제대로된 모델이면 이 값이 높아야한다.)
좀더 부연 설명하면
아래와 같은 데이터가 있다.
(x,y):
(1,y=개), (1,y=개), (2,y=개), (2, y=돼지),
(2, y=돼지)
p(x,y)
는
y=개 y=돼지
-----------
x=1 | 2/5 0
x=2 | 1/5 2/5
p(y|x)
는
y=개 y=돼지
-----------
x=1 | 1 0
x=2 | 1/3 2/3
위의 표를 보면 차이를 알 수 있다.
classifier를 기준으로한 차이를 열거 해보겠다.
Generative model |
Discriminative model |
0. 이름 그대로 데이터를 생성을 위한 모델이다. 그래서 데이터가 생성될 확률인 p(x,y)를 다룬다. 1. p(x,y)를 활용하여 classifier 같은 경우 바로 활용을 못하고 bayes를 이용하여 likelihood 나 posterior로 변경하여 구한다. 2. 모델이 먼저 데이터에 대해서 어떻게 생성되었을지 학습을 하고 분류를 한다. 3. 언어 분류기: 언어 공부를 먼저하고 그 지식을 토대로 언어를 분류한다. 5. 개돼지 분류기: 개를 보고 학습, 돼지를 보고 학습. 그 그다음에 분류함. 6. naive bayes: p(x,y=개) > p(x,y=돼지) 이면 개라고 판단함. 위의 예시는 x =1은 개, x=2는 돼지가 될것이다. 결국은 maximum a posterior를 사용하긴 하나, 이게 사실상 joint라서 결국은 좀 더 모델을 반영한 모델임 |
0. 이름 그대로 데이터를 구별하기 위한 모델이다. 그래서 데이터가 주어졌을 때 특정 클래스에 속할 확률인 p(y|x)를 다룬다. 1.p(y|x)를 활용하므로 classifier에 이를 바로 활용가능하다 2. 모델이 어떻게 생성되었을지는 관심이 없다. 그냥 바로 분류를 위해 학습니다. 3. 언어 분류기: 그냥 언어간의 차이에 초점을 맞춰서 학습을 하고 언어를 분류한다. 4. p(x)가 필요없다. 5. 개돼지 분류기: 데이터에 각각에 대해서 관심이 없고 그냥 둘을 잘 분류하는 선을 학습함. 6. logistic regression: 아래와 같은 log-odd, 즉 logit을 최대화하는 방향으로 학습을 한다. |
'머신러닝 읽어주는 남자' 카테고리의 다른 글
Learning to rank (0) | 2018.05.02 |
---|---|
[오직 핵심]Softmax와 아이들 (0) | 2018.04.25 |
[오직 컨셉]Gradient Descent (0) | 2018.04.23 |
[오직 컨셉] 텐서플로우(Tensorflow) (0) | 2018.04.22 |
[오직 컨셉] Attention (0) | 2018.04.13 |