베이지안 파라미터 추정 (Bayesian parameter estimation) 및 샘플링 방법
+ 이나스AI에는 인공지능 관련 다양한 강의가 있습니다.
- Object detection, Text To Speech, Reinforcement learning, OCR, Chatbot, Time series prediction,
- Meta learning, eXplainable AI, Transformer/BERT/GPT, Graph-based ML, etc
- 소스코드, 다이어그램 및 중간데이터에 기반하여 인공지능 알고리즘들의 작동원리와 구조를 이해하기 쉽고 정확하게 설명합니다.
+ 작업할 때 켜놓는 라이브 스트리밍 study with me 채널도 운영하고 있습니다.
1. 베이지안 파라미터 추정
1-1. 베이즈 규칙 관점 고찰
- 가설 H에 대한 사후확률은 아래와 같이 베이즈규칙에 의해 표현되며, $$$P(D)$$$ 는 전체 확률의 법칙으로 다시 쓸 수 있다.
$$$P(H|D) = \dfrac{P(D|H)P(H)}{P(D)}$$$
$$$= \dfrac{P(D|H)P(H)} {P(D|H)P(H)+P(D|\sim{H})P(\sim{H})}$$$
H : 가설
D : 데이터
- 가설 H가 여러개라면, 아래와 같이 표현 할 수 있다.
$$$P(H_i|D) = \dfrac{P(D|H_i)P(H_i)}{P(D)}$$$, $$$i=1,2,3$$$
$$$= \dfrac{P(D|H_i)P(H_i)} {P(D|H_1)P(H_1)+P(D|H_2)P(H_2)+P(D|H_3)P(H_3)}$$$, $$$i=1,2,3$$$
$$$=\dfrac{P(D|H_i)P(H_i)}{\sum_{i=1}^{3}P(D|H_i)P(H_i)}$$$
- 가설 H의 개수가 연속형으로 아주 많다면, 아래 처럼 쓸 수 있다.
$$$P(H_i|D) = \dfrac{P(D|H_i)P(H_i)}{\int_i P(D|H_i)P(H_i)}$$$
1-2. 베이지안 파라미터 추정 관점 고찰
- 베이지안 파라미터 추정 관점에서 생각해 보기 위해, 두개의 파라미터를 가지는 선형모형을 가정한다. 예측값 $$$\hat{y}$$$ 는 데이터가 주어졌을 때, 파라미터 $$$\theta_1, \theta_2$$$ 의 결합 사후 분포를 따른다.
$$$\hat{y} = \hat{\theta}_1 x + \hat{\theta}_2$$$
$$$\hat{y} \sim P(\hat{\theta}_1,\hat{\theta}_2|D)$$$
$$$P(\theta_2|D) = \dfrac{P(D|\theta_2)P(\theta_2)}{P(D)}$$$
$$$P(\theta_1|D) = \dfrac{P(D|\theta_1)P(\theta_1)}{P(D)}$$$
- 여기서 다시 상황을 고찰해보자면, 우리는 파라미터 2개를 갖는 선형 모형을 가정했고, 이 두개의 파라미터의 특정값을 가정한 것이 아니라, 분포가 어떠할 것이다 라고 가정했다 (사전 분포). 사전분포와 사전분포를 가정했을 때, 발생한 데이터에 대한 가능도를 곱하여, 파라미터의 사후분포를 베이즈규칙에 따라 표현했다. 즉, 관측된 데이터에 따라, 파라미터에 대하여 우리가 가지고 있던 사전지식을 업데이트하는 것이며, 업데이트된 파라미터에 대한 지식도 하나의 값으로 표현된 것이 아니라 분포형태 (사후분포) 로 표시되었다. MAP를 통해 최적의 파라미터 분포를 찾았다면, 이 파라미터 분포를 선형 모형에 적용할 수 있는 것이다.
1-3. 베이지안 파라미터 추정 풀이 방법
- 앞서 언급했듯이, 우리는 관측 데이터와 가정한 파라미터의 분포 (파라미터에 대한 사전 분포) 를 가지고, MAP 를 시행해서, 최적의 파라미터 분포 (사후 분포) 를 찾아야한다.
- 사후분포를 구하기위해 MAP 를 하기 위해 아래와 같은 방법을 사용할 수 있다.
1) 대수적 방법 (미적분 사용, 주로 켤레 사전 분포를 적용할 때 사용한다)
2) 수치적 방법 (Grid 처럼 여러 후보 값들을 만들고 대입해보면서 최적의 분포를 찾는다. 연산량이 많다)
3) 샘플링 방법 : 목표 분포인 사후 분포의 패턴을 보존하면서, 샘플링을 한다. 그리고 이 샘플링된 데이터에 대해서만 연산을 한다. 이산형 정의역으로 변화했으므로 베이즈규칙 내에서 가능도분포 $$$P(D|\theta_1)$$$, 사전분포 $$$P(\theta_1)$$$ 및 데이터관찰 확률 분포 $$$P(D)$$$ 끼리 곱하기 및 나누기 연산이 가능해진다.
1-4. 샘플링 방법 고찰
- 아래의 그림은 표준 정규분포에서 1000개의 데이터를 임의 추출 했을 때, 표본의 분포를 나타낸것이다. 원래의 분포와는 다른것을 알 수 있다.
- 위의 방법은 모집단 분포에서 표본을 임의 추출한 방식이다, 이것과는 다르게 특정 분포의 패턴을 그대로 유지하면서 수치적 방법으로 샘플링 할 수 도 있는데, 이 방법은 아래의 과정을 따르며 간단하지 않은 작업이 된다.
1) 목표로 하는 확률 함수를 알고 있어야 한다.
2) 확률 밀도 함수가 주어졌다면, 적분을 통해서 누적 분포 함수를 구해야한다.
3) 누적 분포 함수에서 역함수를 구해야한다.
4) 균등한 구간으로 값들을 역함수에 넣어주면 원래함수의 분포를 따르는 표본이 추출된다.
아래 그림은 누적 분포함수에서 (역함수를 구하기 전) y쪽에서 균등한 구간으로 값을 넣었을 때, x쪽에서 원래 함수의 분포를 따르는 데이터가 생성되는 모습을 보여준다.
2. 샘플링 방법
- 분포의 패턴을 유지하면서 샘플링하는 방법에는 기각 샘플링 (rejection sampling), 깁스 샘플링 (Gibbs' sampling), metropolis hastings 알고리즘, MCMC (Monte Carlo Markov Chain) 샘플링 등이 있다.
- 베이지안 파라미터 추정과정에서 샘플링을 할 때, 일반적으로 MCMC 방법을 사용한다.
2-2. MCMC 샘플링
- Monte Carlo 방법이란 반복 시행하는 방법을 지칭한다.
- Markov Chain 은 Markov 특성 또는 Markov 가정을 가지는 방법이다. Markov 특성이란, 계산의 편의를 위해, 다음 시점 ($$$t$$$) 의 상태를 예측 할 때는, 그 직전 시점 ($$$t-1$$$) 의 상태만 고려하면 되고, $$$t-1$$$ 이전 시점들 ($$$t-2, t-3, \dots$$$) 에서의 상태는 고려하지 않아도 되는 특성을 의미한다. 수식으로는 아래와 같이 표현 한다.
$$$P(w_t|w_{t-1},w_{t-2},\dots,w_{t-n}) \approx P(w_t|w_{t-1})$$$
- Markov 특성이 사용된 예시는 n-gram 모델, 그중에서 bi-gram 모델이다. 아래의 예시에서 today 단어를 예측하기 위해서 school 의 영향을 고려하면 되는 방법이 bi-gram 모델이다.
Sentence : I go to school
Tokens : [I, go, school, today]
- 아래의 예시는 action3를 예측하는데, state3만 고려한 것을 나타낸다.
$$$P(action3|state3,state2,action2,state1,action1) \approx P(action3|state3)$$$
$$$P(state4|state3,action3,state2,action2,state1,action1) \approx P(state4|state3,action3)$$$
- MCMC 방법은 위에서 설명된 Monte Carlo 와 Markov Chain 특성을 사용한 샘플링 방법이다.
https://www.youtube.com/watch?v=WMnmT1S25WM
https://www.youtube.com/watch?v=vHOcHTiw1_Y
https://www.youtube.com/watch?v=x0qhLFnTfV8
https://www.youtube.com/watch?v=5QAfQZjCrRM
+ 이나스AI에는 인공지능 관련 다양한 강의가 있습니다.
- Object detection, Text To Speech, Reinforcement learning, OCR, Chatbot, Time series prediction,
- Meta learning, eXplainable AI, Transformer/BERT/GPT, Graph-based ML, etc
- 소스코드, 다이어그램 및 중간데이터에 기반하여 인공지능 알고리즘들의 작동원리와 구조를 이해하기 쉽고 정확하게 설명합니다.
+ 작업할 때 켜놓는 라이브 스트리밍 study with me 채널도 운영하고 있습니다.
댓글
댓글 쓰기