Maximum Likelihood Estimation
VAE의 기본 개념
- 무한히 많은 데이터를 모으는 건 현실적으로 불가능하다.
- m개의 sample을 독립적으로 추출하여 dataset을 구성해야 한다.
- 현실 세계의 알 수 없는 분포 pdata(x)와 그의 estimation인 pmodel(x;θ)
- 자연계 현상은 정규 분포를 따를 것이라는 가정으로 확률 모델을 정의하면
parameter θ: mean, variance
수치로 평가할 수 있어야 한다. → likelihood estimation
- θ에 대한 maximum likelihood estimator
θML=argmax pmodel(x;θ)=argmaxΠi=1mpmodel(x(i);θ)
- pmodel(x;θ)는 확률의 곱이므로 클수록 잘 나타내는 것이다.
- 사람은 model을 결정하고 parameter를 최적화해야 한다.
- 확률 값은 모두 1 이하이기 때문에 log를 이용하여 precision을 향상할 수 있다.
θML=argmax i=1∑mlogpmodel(x;θ)
미분, back propagation을 거쳐 θ를 최적화한다.
- 훈련 데이터에 의해 정의된 경험적 분포 p^data의 기댓값으로 표현할 수 있다.
θML=argmax i=1∑mlogpmodel(x(i);θ)
- m으로 나누면
θML=argmax Ex∼p^modellogpmodel(x;θ) x가 어떻게 뽑히는 값인가에 대한 설명
- p를 높이기 위해서는 gradient 방향으로 이동해야 한다.
- loss의 경우 반대 반향으로 이동해 낮추어야 한다.
- p^data와 pmodel의 오차는 KL divergence로 구할 수 있다.
DKL(p^data∣∣pmodel)=Ex∼p^data[logp^data(x)−logpmodel]
- 위 식은 KL divergence를 최소화하기 위해 −Ex∼p^datalogpmodel(x)를 최소화하면 된다는 것을 의미한다.
- Ex∼p^datalogpmodel(x;θ)를 likelihood라고 한다.
Conditional Log-Likelihood and Mean Square Error
- 지도학습 과정에서 common situation
- x가 주어졌을 때 y를 예측하기 위해서 조건부확률 P(y∣x;θ)를 예측하는 것
- X가 모든 입력을 나타내고 Y가 모든 관측 대상을 나타내는 경우, conditional maximum likelihood estimator는 다음과 같다.
θML=argmaxi=1∑mlogP(Y∣X;θ)
- i.i.d.라고 한다면 다음과 같다.
θML=argmaxi=1∑mlogP(y(i)∣x(i);θ)
Properties of Maximum Likelihood
최적의 estimator는 데이터의 수 m이 커질수록 아래 조건을 만족한다.
-
pdata 분포는 model family pmodel(⋅;θ) 내에 있어야 한다.
- 그렇지 않으면 어떠한 estimator도 pdata를 복구할 수 없다.
- model family pmodel(⋅;θ)는 θ에 따라 다양한 확률 분포를 표현할 수 있는 모델의 집합을 의미한다.
- 적절한 θ 값을 선택함으로써 모델이 실제 데이터가 생성되는 과정을 근사적으로 모방할 수 있다는 것을 의미한다.
- 충분히 많은 데이터를 이용해 maximum likelihood estimation을 실시할 때 θ^가 실제 θ에 수렴한다는 것을 보장한다.
- 만약 pdata가 모델 가족 바깥에 있다면, 어떤 θ 값을 선택하더라도 데이터를 충분히 잘 설명하지 못할 수 있다.
-
pdata 분포는 우리가 사용하는 model family pmodel(⋅;θ) 내에서 정확히 하나의 파라미터 값 θ에 의해 표현될 수 있어야 한다.
- 그렇지 않으면 maximum likelihood는 올바른 pdata를 복구할 수 있지만 데이터 생성 과정에서 사용할 수 있는 값을 결정할 수 없다.
Bayesian Statistics
P(A∣B)=P(B)P(A)P(B∣A)
- Prior 확률분포 p(θ), θ는 knowledge일 때
입출력을 변경할 수 있다.
- data samples {x(1),⋯,x(m)}이 있을 때, Bayes' rule을 통해 data가 θ의 신뢰도에 미치는 영향을 복구할 수 있다.
- 직접 관측한 dataset을 기반으로 θ를 추정한다.
- 실제로 given은 data이고 θ를 결정해야 한다.
- 입출력을 바꾸어 문제를 해결할 수 있다.
p(θ∣x(1),⋯,x(m))=p(x(1),⋯,x(m))p(x(1),⋯,x(m)∣θ)(p(θ))
- posterior: x(1),⋯,x(m)
- likelihood: p(x(1),⋯,x(m)∣θ)
- model(θ) 결정 후 data를 넣어 확률을 모두 곱하여 그럴듯한지 판단하는 과정
- 확률을 높이는 θ를 구하는 것이 maximum likelihoodo estimation
- prior: p(θ)
Maximum likelihood estimation v.s. Bayesiam estimation
- Maximum likelihood estimation
- θ의 점 추정치를 이용하여 예측한다.
- prior는 구하지 않고 가능도만 계산한다.
- m개의 examples를 관측한 후 다음 data sample에 대한 예측 분포
pmodel(x;θML), where θML=argmaxθ∑i=1mlogpmodel(x(i);θ)
- Bayesian approach
- θ의 전체 분포를 고려하여 예측한다.
- prior까지 고려한다.
- m개의 examples를 관측한 후 다음 data sample에 대한 예측 분포
p(x(m+1)∣x(1),⋯,x(m))=∫p(x(m+1)∣θ)p(θ∣x(1),⋯,x(m))dθ
- training data가 한정되어 있을 때 잘 동작한다.
- 인간의 주관적 판단의 근원인 prior(θ)가 prediction에 영향을 미친다.
- 연산 비용이 높다.
Stochastic Gradient Descent
확률적 경사 하강법 - random sampling
- large datasets으로 large linear models를 학습하는 방법이다.
- Naïve gradient descent
- 모든 data에 대해 gradient descent를 수행하므로 computation cost는 O(m)이다.
- Stochastic gradient descent
- examples의 minibatch를 추출한다.
B={x(1),⋯,x(m′)}
- m′≪m
- Computation cost는 한 번의 반복마다 하나의 sample, 또는 소수의 sample로 gradient를 계산하므로 O(1)이다.