ROKO

Probabilistic Models [Ⅰ] 본문

Artificial Intelligence/Machine Learning

Probabilistic Models [Ⅰ]

RO_KO 2023. 3. 12. 22:34
728x90

확률은 빈도주의와 베이지안 관점 2가지로 나뉜다.

빈도주의는 큰 수의 법칙을 이용해 반복적으로 관측할 수 있는 사건을 확률로 정의하고, 베이지안은 어떠한 사건이든 각각 다른 확률로 사건이 일어날 믿음의 정도를 기준으로 확률을 정의한다. 큰 차이는 빈도주의는 확률이 고정적이나 베이지안 추가적인 관측에 따라 믿음의 정도(확률)가 달라진다.

주사위에서 1이 나올 확률은 무엇일까? 
(빈도주의) 1/6
(베이지안) 특정 불가

Why?
(빈도주의) 주사위를 반복적으로 큰 수 만큼 던지며 1/6에 근사하는 것을 보고 무한번 던지면 1/6이 될것이라고 믿는다.
(베이지안) 자연계의 모든 확률을 고려하여 1이 나올 확률, 정확히는 알 수 없음

이번엔 우도,가능도의 관점에서 빈도주의와 베이지안의 차이점을 보자.

주사위에서 두번 연속 1이 나올 확률은 무엇일까? 
(빈도주의) 1/36
(베이지안) 특정 불가

Why?
(빈도주의) 1이 나오는 확률은 독립적이고 연속적으로 2번 나올 확률이므로 곱의 법칙을 이용해 구할 수 있다.
(베이지안) 자연계의 모든 확률을 고려하여 1이 두번 연속 나올 확률, 정확히는 알 수 없음

Maximum Likelihood (최대우도법)

Likelihood

- 가능도

- 어떠한 사건이 일어날 가능성

 

Likelihood function

- 관측 데이터에 대한 확률, function \(\theta\)

 

예시) 동전 던지기

물론 동전은 3차원 입체이지만 앞면 뒷면에 대한 경우만 있다고 가정하자.

그때 동전 던지기의 가능도 함수는 \(L(\theta)=p(D)=\theta^{N_H}(1-\theta)^{N_T}, N_H : Head \; num, N_T : Tail \; num\)

 

각 확률은 0과 1사이 값으로 횟수가 많은 가능도일수록 가능도는 기하급수적으로 작은 값이 된다. 그래서 보통 log를 취해 log-likelihood를 통해 가능도 값을 구한다. log함수를 쓰는 이유는 지수적 표현을 다루기에 효율적이고, 증가 함수이므로 대소비교 관계를 유지시켜 주기 때문이다.

\(l(\theta)=logL(\theta)=N_H \theta + N_T(1-\theta)\)

 

합리적인 \(\theta\) value 값일수록 관측 데이터의 가능도는 높아진다. 이에 기인한 것이 maimum likelihood criterion이다.

우리는 선형회귀에서 최소값을 찾기위한 방법으로 미분을 사용했다. 비슷하게 최대값을 찾기 위해 미분을 통해  \(\theta\) value를 구한다.

 

동전던지기를 예시로 구하면  \(\hat{\theta}_{ML} = \frac{N_H}{N_H+N_T}\)가 나오게 된다.

 

이것은 동전 던지기 확률을 기준으로 cross-entropy를 최소화한 결과 값과 같다.

\(L_ce = -\sum_i t_i log\theta - (1-t_i)log(1-\theta)\)

\(=-N_H log\theta -N_T log(1-\theta)\)

\(=-l(\theta)\)

 

Central Limit Theorem

  • i.i.d 확률분포들의 표본평균들의 집합이 정규분포에 근사한다.
  • 각 확률분포는 같지 않아도 상관없다.

갑자기 중심극한정리는 왜 나오는지, 기계학습에 어떤 역할을 하는지 궁금할 것이다. 우선 개념만 확인하고 넘어가자.

 

만약 N개의 사건이 있을때 각각의 확률이 가우시안이고 이에 대한 가능도를 구한다고 가정해보자. 

\(l(\mu)=log\prod_{i=1}^N [\frac{1}{\sqrt{2\pi} \cdot \sigma} exp(-\frac{(x^{(i)}-\mu)^2}{2\sigma^2})]\)

\(=\sum_{i=1}^N -\frac{1}{2}log2\pi -log\sigma-\frac{(x^{(i)}-\mu)^2}{2\sigma^2}\)

 

미분을 통해 최대가 되도록 하는 평균을 구하면 (MLE)

\(0 = \frac{dl}{d\mu}=-\frac{1}{2\sigma^2}\sum_{i=1}^N \frac{d}{d\mu}(x^{(i)}-\mu)^2\)

\(=\frac{1}{\mu^2}\sum_{i=1}^N x^{(i)}-\mu\)

\(\hat{\mu}_{ML} = \sum_{i=1}^N x^{(i)}\) : empirical mean

 

식을 \(\sigma\)에 대해서 편미분하면 최적의 분산값도 추정할 수 있다.

\(\hat{\sigma}_{ML} = \sqrt{\frac{1}{N}\sum_{i=1}^N (x^{(i)}-\mu)^2}\)

 

베르누이 분포에 대한 가능도는 이항분포로 쉽게 MLE 계산이 가능했다.

가우시안의 가능도 또한 가우시안으로 MLE 계산이 쉬웠는데, 항상 모든 분포에 대해 가능한 것은 아니다.

 

예를 들어 실변수에 대한 factorial function인 gamma함수는 미분을 통해 closed form으로 값을 구할 수 없다.

대신 gradient-ascent 기법(descent가 아닌 이유는 최대화 이니까)을 이용해 추정은 가능하다.

 

closed form으로 쉽게 MLE를 적용할 수 있는 분포를 지수족 분포(exponential family)라고 한다.

\(f_x (x|\theta) = h(x)exp(\eta (\theta)^T T(x)-A(\theta)\) form

  • \(\theta\) : distribution parameters
  • \(\eta (\theta)\) : natural parameter
  • \(T(x)\) : sufficient statistic

 

Generative vs Discriminative

  • Discriminative approach : 결정경계를 잘 나누기 위한 함수의 매개변수를 추정
    • class를 어떻게 나눌지 학습
    • learn p(y|x) directly
    • learn mappings from inputs to classes
  • Genrative approach : 입력값의 label에 대한 특성을 분포를 추정
    • 각 class에 대해 어떤 특징이 있는지 학습
    • build p(x|y)
    • Bayes rule

Bayes classifier

베이즈 정리는 posterior와 likelihood의 관계를 나타내는 정리이다.

\(p(c|x)=\frac{p(x|c)p(c)}{p(x)}\)

\(posterior = \frac{Class likelihood \times prior}{Evidence}\)

 

"음? 초반에 베이즈안 관점에서는 주사위의 믿음의 정도도 정확히 알 수 없다고 하지 않았나?"

그렇다, 베이즈 정리를 이용했을때 p(c) 사전분포를 알아야 하는데 우리는 이를 알 수가 없다. 그래서 가정을 한다.

사전분포를 아예 고려하지 않는 무정보적 분포를 가정할 수도 있고 uniform distribution(=MLE)을 가정할 수도 있다.

Class c를 가장 잘 설명할 수 있을것 같은 분포나 conjugate distribution을 이용해 사전분포를 선택한다. 관련된 내용은 다음에 자세히 다루도록 하자.

Naive Bayes

n개의 데이터를 가지고 posterior 를 추정하기 위해서는 p(c)값과 p(x|c)값을 알아야 한다. 결합확률분포를 구하는 과정에서 데이터가 D차원이라고 했을때 \(C^D\)만큼의 공간이 필요하므로 컴퓨터 연산적으로 비효율적이다.

 

따라서 Probablistic graphical models 기법과 하나의 가정을 통해 계산량과 필요공간을 줄여서, 밀도있게 표현하고 학습과 추론을 동시에 진행할 수 있게 한다.

 

이때 적용된 가정은 conditional independent로 모든 데이터는 class C에 대해서 조건부 독립이라는 것이다. 그러면 필요한 공간은 C(D+1)로 줄어듬을 알 수 있다.

 

모델의 인과 관계를 directed graphical model 혹은 Bayesian network라고 부른다.

MLE 방식으로 학습을 진행하며 Bayes rule로 posterior를 추론한다.

\(p(c|x) \propto p(c)\prod_{j=1}^D p(x_j|c)\)

 

Naive Bayes는 매우 효율적인 알고리즘이다.

  • Training time : estimate parameter using MLE
  • Test time : apply Bayes's rule
  • 하지만 조건부 독립이라는 강력한 제약 때문에 일부 결정모델에 비해 정확도가 떨어진다.
728x90

'Artificial Intelligence > Machine Learning' 카테고리의 다른 글

Generative models  (0) 2023.03.15
Probabilistic models [Ⅱ]  (0) 2023.03.15
MLOps  (0) 2023.03.10
PCA (Principal Component Analysis)  (0) 2023.03.06
Comments