Posterior/Prior/Likelihood
우리가 가장 궁금한 Posterior P(c_i|x). 어떤 x가 주어졌을 때 이 x가 어떤 class에 속할지 구해야 한다. 이는 Prior, Likelihood를 이용한 Bayes rule로 추론이 가능한다.
- Prior: 일반적으로 가지고 있는 상식. class에 속할 확률을 이야기한다. ex. 피부 밝기(x)에 관계없이 농어와 연어의 비율이 얼마나 되는지의 값. 보통 사전 정보로 주어지거나, 주어지지 않는다면 연구자의 사전 지식을 통해 정해줘야 하는 값이다. $$P(c_i), P(\theta)$$
- Posterior: 궁극적으로 구해야 하는 성질. 어떤 x가 주어졌을 때 이 x가 어떤 class에 속하는가. ex. 피부 밝기(x)가 주어졌을 때 그 물고기가 농어일 확률 또는 연어일 확률. 즉 단서가 주어졌을 때 대상이 특정 클래스에 속할 확률 $$P(c_i|x), P(\theta |X)$$
- Likelihood: 여러 표본을 통해서 관찰하는 경우. class를 아는 상태에서 x를 살펴보는 과정으로 진행된다. 각 클래스에 우리가 활용할 단서를 어떤 형태로 분포 돼 있는지를 알려준다. $$P(x|c_i), P(X|\theta)$$
Bayes rule로 인한 추론
다음식으로 Prior, Likelihood를 이용한 Bayes rule로 Posterior 추론이 가능한다.
$$P(c_i|x) =\frac{P(x|c_i)P(c_i)}{P(x)}= \frac{P(x|c_i)P(c_i)}{\sum_j {P(x|c_j)P(c_j)}}$$
- 분자: Likelihood * Prior
- 분모: Evidence = 모든 class에 대한 Likelihood * Prior 값.
DL에서의 적용
$$D = {(x_1, t_1), (x_2, t_2), ..., (x_N, t_N)}$$
주어진 데이터셋 D를 통해 구하고자 하는 대상은 모델의 파라미터 w이다.
- Prior: 일반적으로 가지고 있는 상식. 데이터셋에 관계없이 w를 띌 확률을 이야기한다. $$P(w)$$
- Posterior: 궁극적으로 구해야 하는 성질. 어떤 x가 주어졌을 때 이 x가 어떤 class에 속하는가. $$P(w|D)$$
- LIkelihood: 구하고자 하는대상을 안다고 가정할 때, 주어진 대상의 분포 $$P(D|w)$$
Maximum A Posterior(MAP) vs. Maximum Likelihood Estimation(MLE)
우리의 목표는 Posterior 값이 P(\theta|X)를 최대화 해야 한다. 이러한 방식을 Maximum A Posterior라고 한다.
이를 바탕으로 Posterior값을 풀어보면 다음과 같다.$$P(\theta|X) = \frac{P(x|\theta)P(\theta)}{P(x)}$$
이 때 데이터셋은 결국에 observation 값을 의미하므로 $$P(\theta), P(X)$$를 알 수 없다. 따라서, $$P(X|\theta)$$값을 바탕으로 MAP값을 추론한다. 이 과정을 Maximum Likelihood Estimation(MLE)라고 한다.
다음과 같은 예시를 보자.
몸무게 | 키 | class |
10 | 7 | c1 |
12 | 5 | c1 |
13 | 5 | c2 |
10 | 8 | c2 |
이 때 몸무게=12, 키=5인 instance의 class를 구하고 싶으면 MAP에 따라서
$$MAP:\; P(Y|X) = \frac{P(X|Y)P(Y)}{P(X)}$$
Y는 classification 모델을 통해 추론해나온 결과물로 \theta를 대체한다.
여기서 $$P(X|Y)$$로 풀어내는 것이다.
$$P(X|Y=c_1) = 1/2, P(X|Y=c_2)=0$$이므로 높은 값이 c_1을 택하는 방식으로 이루어짐을 알 수 있다.
즉 딥러닝 Classification task에 있어서 궁극적인 목표는 MLE이지만, 이 방식이 어려워 MAP 로 추론하여 풀어낸다.
'AI, Deep Learning Basics > Basic' 카테고리의 다른 글
[Deep Learning] 헷갈리는 기본 용어 모음집 (1) (0) | 2022.01.11 |
---|---|
(작성중) [기초] 3. Overfitting/Underfitting 및 Regularization일반화/일반화 기법 (0) | 2022.01.09 |
[기초] 2. Optimization최적화기법/최적화: 매개변수 초기화 및 갱신 (0) | 2022.01.08 |
[기초] 1. 신경망 개요/단순 퍼셉트론/오차역전법 (0) | 2022.01.02 |
[NN] PyTorch 함수 모음 (0) | 2021.12.29 |