- 통계적 모델링은 적절한 가정 위에서 확률 분포를 추정하는 것이 목표이며, 어떤 확률 분포를 사용하여 모델링을 해야 할지 중요하다
- 유한한 개수의 데이터만 관찰해서 모집단의 분포를 정확하게 알아낸다는 것은 불가능하다, 따라서 근사적으로 확률 분포를 추정할 수 밖에 없다.
모수적 방법론 : 데이터가 어떤 특정 확률 분포를 따른다는 가정 후에 분포를 가정하는 모수를 추정하는 방법
비모수적 방법론 : 특정 확률 분포를 따른다는 가정을 하지 않고 모수와 모델의 구조가 데이터에 따라 유연하게 바뀌는 방법론 (모수를 쓰지 않는 것이 아닌 모수가 모델의 구조나 데이터에 따라 바뀜)
확률분포 가정하기
- 확률분포 가정하는 방법 : 우선 히스토그램을 통해 모양을 관찰
분포 | 방법 |
---|
베르누이분포 | 데이터가 2개의 값만 가지는 경우 |
카테고리분포 | 데이터가 n개의 이산적인 값을 가지는 경우 |
베타분포 | 데이터가 [0,1] 사이에서 값을 가지는 경우 |
감마분포, 로그정규분포 등 | 데이터가 0 이상의 값을 가지는 경우 |
정규분포, 라플라스분포 등 | 데이터가 ⁍ 전체에서 값을 가지는 경우 |
- 기계적으로 확률분포를 추정하는 것은 위험하고, 데이터가 생성 방법에 따라 확률 분포를 가정해야되며, 항상 데이터를 먼저 관찰하고 어떤 확률 분포가 적절한지 분석가가 보고 선택해야 된다.
데이터로 모수 추정하기
평균
Xˉ=N1i=1∑NXi=E[Xˉ]=μ
분산
S2=N−11i=1∑N(Xi−Xˉ)2=E[S2]=σ2
- 통계량(표본 평균, 표본 분산)의 확률 분포를 표집 분포(sampling distribution)이라 부르며, 표본 분포(sample distribution)랑 혼동하지 않게 주의!
- 표집 분포는 N이 커질수록 중심극한정리에 의해 정규분포를 따르게 된다.
최대가능도 추정법(Maximum likelihood estimation, MLE)
- 모수를 추정함에 있어서 기계적으로 표본평균과 표본분산으로만 추정하는 것은 위험하다.
- 이론적으로 가장 가능성이 높은 추정법이 최대 가능도 추정법
- 가능도 함수 : 데이터가 주어져 있는 상황에서 ∗∗θ를 변형시킴에 따라 값이 바뀌는 함수**
θ^=argmaxL(θ;x)=argmaxP(x∣θ)
-
위의 가능도 함수는 모수 θ를 따르는 분포가 데이터 x를 관찰할 가능성을 뜻하는데, ∗∗θ∗∗를 적분하거나 모두 합하면 1이 되는 것은 아니기 때문에 확률로 해석하면 안된다.
-
단순히 가능도를 나타내고, 대소비교가 가능하다고 생각하면 될 것 같다
-
데이터 집합 X의 각 행 벡터가 독립적으로 추출되었을 경우 확률 밀도 함수 또는 확률 질량 함수의 곱으로 표현할 수 있으며, 로그를 취함으로서(로그가능도) 곱셈을 덧셈으로 최적화 할 수 있다.
로그가능도
- 데이터의 숫자가 수억 단위가 된다면 컴퓨터의 정확도로는 가능도를 계산하는 것은 불가능하지만, 곱셉을 덧셈으로 바꾸는 로그변환을 이용하면 컴퓨터로 연산이 가능해진다.
- 경사하강법으로 가능도를 최적화할 때 미분 연산을 사용하게 되는데, 로그 가능도를 사용하면 연산량을 O(n2)에서 O(n)으로 줄여준다.
- 손실함수의 경우 경사하강법을 사용하므로 음의 로그가능도를 최적화 하게 된다.
L(θ;X)=i=1∏nP(xi∣θ)
logL(θ;X)=i=1∏nlogP(xi∣θ)
최대가능도 추정법 예제 : 정규분포
-
정규분포를 따르는 확률변수 X로부터 독립적인 표본 {x1,....,xn} 을 얻었을 때 최대가능도 추정법으로 모수 추정하기
-
정규분포의 확률밀도함수
f(x)=i=1∑nlog2πσ21e−2σ2∣xi−μ∣2
θ^MLE=argmaxL(θ;x)=argmaxP(X∣μ,σ2)
logL(θ;X)=i=1∑nlogP(xi∣θ)=i=1∑nlog2πσ21e−2σ2∣xi−μ∣2
=−n2log2πσ2−i=1∑n2σ2∣xi−μ∣2
- μ(평균)와 σ(표준편차)에 대해서 미분
0=∂μ∂logL=−i=1∑nσ2xi−μ
0=∂σ∂logL=−σn+σ31i=1∑n∣xi−μ∣2
- 이제 두 미분이 모두 0이 되는 $$ μ와 σ를 찾으면 로그가능도를 최대화 하는 모수를 찾을 수 있으며, 추정된 모수는 아래와 같다.
μ^MLE=n1i=1∑nxi
σ2^MLE=n1i=1∑n(xi−μ)2
- 최대가능도 추정법으로 추정한 모수와 앞에서 데이터로 추정한 모수와 다를 수 있다. 여러가지 통계량을 사용할 수는 있는데 MLE는 가능도를 최대화 하지만 불편추정량을 보장하지는 못한다.
최대가능도 추정법 예제 : 카테고리 분포
-
카테고리 분포 Multinoulli(x;p1,....,pd)를 따르는 확률변수 X로부터 독립적인 표본 {x1,....,xn}을 얻었을 때 최대가능도 추정법을 이용해 모수 추정하기
-
앞에서 추정한 정규분포의 모수는 평균과 분산이지만, 카테고리 분포의 모수는 1부터 d차원까지 각각의 차원에서 어떠한 값이 0또는 1이될 확률을 의미하는 모수이기 때문에 ∗∗∑k=1dpk=1∗∗이다
-
카테고리 분포의 확률밀도함수에 로그 취하기
θ^MLE=argmaxP(xi∣θ)=argmaxlog(i=1∏nk=1∏dpkxi,k)
log(i=1∏nk=1∏dpkxi,k)=k=1∑d(i=1∑dxi,k)logpk
- ∑i=1dxi,k는 주어진 각 데이터들에 대해서 K값이 1인 개수를 세는 nk로 표현할 수 있다.
- 이제, 모수들의 합이 1인 된다는 제약식을 만족하면서 목적식을 최대화 하는 것이 주어진 문제인데, 라그랑주 승수법을 이용해 새로운 목적식을 나타낼 수 있다.
L(p1,...,pk,λ)=k=1∑dnklogpk+λ(1−k∑pk)
- 이제 이 새로운 목적식을 pk와 λ에 대해 미분하면 모수를 추정할 수 있다.
0=∂pk∂L=pknk−λ
0=∂λ∂L=1−k=1∑dpk
pk=∑dk=1nknk
- 마지막의 식과 같이 각각의 차원에 해당하는 경우의 수(데이터 수)를 세어서 비율을 구하는 것으로 모수를 추정할 수 있다.
딥러닝에서 최대가능도 추정
- 딥러닝 모델의 가중치 맨 θ=(W(1),....,W(L))라 표기 했을 때 분류 문제에서 소프트맥스 벡터는 카테고리 분포의 모수를 모델링한다.
- 원핫벡터로 표현한 정답레이블 y=(y1,...,yk) 을 관찰데이터로 이용해 확률분포인 소프트맥스 벡터의 로그가능도를 최적화하는 방법으로 딥러닝의 모수인 θ를 학습시킬 수 있다.
θ^MLE=argmaxn1i=1∑nk=1∑Kyi,klog(MLPθ(xi)k)
-
기계학습에서 사용되는 손실함수들은 기계학습 모델이 학습하는 확률분포와 데이터에서 관측되는 확률분포의 거리를 통해 유도할 수 있다.
-
데이터공간에 두 개의 확률 분포(P(x),Q(x))가 있을 경우 두 확률분포 사이의 거리를 계산하는 것은 여러가지 방법이 있다.
- 총 변동 거리(Total Variation Distance,TV)
- 쿨백-라이블러 발산 (Kullback-Leibler Divergence,KL)
- 바슈타인 거리(Wasserstein Distance)
-
쿨백-라이블러 발산 (Kullback-Leibler Divergence,KL)
이산 확률 분포
KL(P∣∣Q)=xϵχ∑P(x)log(Q(x)P(x))
연속 확률 분포
KL(P∣∣Q)=∫χP(x)log(Q(x)P(x))dx
KL(P∣∣Q)=−Ex∼P(x)[logQ(x)]+Ex∼P(x)[logP(x)]
- 크로스 엔트로피 : Ex∼P(x)[logQ(x)]
- 엔트로피 : Ex∼P(x)[logP(x)]
- 분류 문제에서 정답레이블을 P, 모델 예측을 Q라 두면 최대가능도 추정법은 쿨백-라이블러 발산을 최소화하는 것과 같다