7. 통계학

유승우·2022년 5월 4일
0
  • 통계적 모델링은 적절한 가정 위에서 확률 분포를 추정하는 것이 목표이며, 어떤 확률 분포를 사용하여 모델링을 해야 할지 중요하다
  • 유한한 개수의 데이터만 관찰해서 모집단의 분포를 정확하게 알아낸다는 것은 불가능하다, 따라서 근사적으로 확률 분포를 추정할 수 밖에 없다.

모수적 방법론 : 데이터가 어떤 특정 확률 분포를 따른다는 가정 후에 분포를 가정하는 모수를 추정하는 방법

비모수적 방법론 : 특정 확률 분포를 따른다는 가정을 하지 않고 모수와 모델의 구조가 데이터에 따라 유연하게 바뀌는 방법론 (모수를 쓰지 않는 것이 아닌 모수가 모델의 구조나 데이터에 따라 바뀜)

확률분포 가정하기


  • 확률분포 가정하는 방법 : 우선 히스토그램을 통해 모양을 관찰
분포방법
베르누이분포데이터가 2개의 값만 가지는 경우
카테고리분포데이터가 n개의 이산적인 값을 가지는 경우
베타분포데이터가 [0,1] 사이에서 값을 가지는 경우
감마분포, 로그정규분포 등데이터가 0 이상의 값을 가지는 경우
정규분포, 라플라스분포 등데이터가 ⁍ 전체에서 값을 가지는 경우
  • 기계적으로 확률분포를 추정하는 것은 위험하고, 데이터가 생성 방법에 따라 확률 분포를 가정해야되며, 항상 데이터를 먼저 관찰하고 어떤 확률 분포가 적절한지 분석가가 보고 선택해야 된다.

데이터로 모수 추정하기


  • 정규분포의 모수는 평균과 분산이다

평균


Xˉ=1Ni=1NXi=E[Xˉ]=μ\bar{X} = \frac{1}{N}\sum_{i=1}^{N}X_i = E[\bar{X}] = \mu

분산


S2=1N1i=1N(XiXˉ)2=E[S2]=σ2S^2 = \frac{1}{N-1}\sum_{i=1}^{N}(X_i - \bar{X})^2 = E[{S^2}] = \sigma^2

  • 통계량(표본 평균, 표본 분산)의 확률 분포표집 분포(sampling distribution)이라 부르며, 표본 분포(sample distribution)랑 혼동하지 않게 주의!
  • 표집 분포는 N이 커질수록 중심극한정리에 의해 정규분포를 따르게 된다.

최대가능도 추정법(Maximum likelihood estimation, MLE)


  • 모수를 추정함에 있어서 기계적으로 표본평균과 표본분산으로만 추정하는 것은 위험하다.
  • 이론적으로 가장 가능성이 높은 추정법이 최대 가능도 추정법
  • 가능도 함수 : 데이터가 주어져 있는 상황에서 θ**\theta를 변형시킴에 따라 값이 바뀌는 함수**
θ^=argmaxL(θ;x)=argmaxP(xθ)\hat{\theta}=argmax L(\theta;x) = argmax P(x|\theta)
  • 위의 가능도 함수는 모수 θ\theta를 따르는 분포가 데이터 x를 관찰할 가능성을 뜻하는데, θ**\theta**를 적분하거나 모두 합하면 1이 되는 것은 아니기 때문에 확률로 해석하면 안된다.

  • 단순히 가능도를 나타내고, 대소비교가 가능하다고 생각하면 될 것 같다

  • 데이터 집합 X의 각 행 벡터가 독립적으로 추출되었을 경우 확률 밀도 함수 또는 확률 질량 함수의 곱으로 표현할 수 있으며, 로그를 취함으로서(로그가능도) 곱셈을 덧셈으로 최적화 할 수 있다.

로그가능도


  • 데이터의 숫자가 수억 단위가 된다면 컴퓨터의 정확도로는 가능도를 계산하는 것은 불가능하지만, 곱셉을 덧셈으로 바꾸는 로그변환을 이용하면 컴퓨터로 연산이 가능해진다.
  • 경사하강법으로 가능도를 최적화할 때 미분 연산을 사용하게 되는데, 로그 가능도를 사용하면 연산량을 O(n2)O(n^2)에서 O(n)O(n)으로 줄여준다.
  • 손실함수의 경우 경사하강법을 사용하므로 음의 로그가능도를 최적화 하게 된다.
L(θ;X)=i=1nP(xiθ)L(\theta ;X) = \prod_{i=1}^{n}P(x_i|\theta)
logL(θ;X)=i=1nlogP(xiθ)logL(\theta ;X) =\prod_{i=1}^{n}logP(x_i|\theta)

최대가능도 추정법 예제 : 정규분포


  • 정규분포를 따르는 확률변수 X로부터 독립적인 표본 {x1,....,xn{x_1,....,x_n}} 을 얻었을 때 최대가능도 추정법으로 모수 추정하기

  • 정규분포의 확률밀도함수


f(x)=i=1nlog12πσ2exiμ22σ2f(x) = \sum_{i=1}^{n}log\frac{1}{\sqrt{2\pi \sigma ^2}}e^{-\frac{\left|x_i-\mu \right|^2}{2\sigma^2}}

  • 정규분포의 확률밀도함수에 로그취하기

θ^MLE=argmaxL(θ;x)=argmaxP(Xμ,σ2)\hat{\theta}_{MLE}=argmax L(\theta;x) = argmax P(X|\mu,\sigma^2)
logL(θ;X)=i=1nlogP(xiθ)=i=1nlog12πσ2exiμ22σ2logL(\theta ;X) =\sum_{i=1}^{n}logP(x_i|\theta) = \sum_{i=1}^{n}log\frac{1}{\sqrt{2\pi \sigma ^2}}e^{-\frac{\left|x_i-\mu \right|^2}{2\sigma^2}}
=2nlog2πσ2i=1nxiμ22σ2= -\frac{2}{n}log2\pi\sigma^2-\sum_{i=1}^{n}\frac{\left| x_i-\mu\right|^2}{2\sigma^2}

  • μ\mu(평균)와 σ\sigma(표준편차)에 대해서 미분

0=logLμ=i=1nxiμσ20 = \frac{\partial log L}{\partial \mu} = -\sum_{i=1}^{n}\frac{x_i-\mu}{\sigma^2}
0=logLσ=nσ+1σ3i=1nxiμ20 = \frac{\partial log L}{\partial \sigma} = -\frac{n}{\sigma} + \frac{1}{\sigma^3}\sum_{i=1}^{n}\left| x_i - \mu\right|^2

  • 이제 두 미분이 모두 0이 되는 $$ μ\muσ\sigma를 찾으면 로그가능도를 최대화 하는 모수를 찾을 수 있으며, 추정된 모수는 아래와 같다.

μ^MLE=1ni=1nxi\hat{\mu}_{MLE} = \frac{1}{n}\sum_{i=1}^{n}x_i
σ2^MLE=1ni=1n(xiμ)2\hat{\sigma^2}_{MLE} = \frac{1}{n}\sum_{i=1}^{n}(x_i-\mu)^2

  • 최대가능도 추정법으로 추정한 모수와 앞에서 데이터로 추정한 모수와 다를 수 있다. 여러가지 통계량을 사용할 수는 있는데 MLE는 가능도를 최대화 하지만 불편추정량을 보장하지는 못한다.

최대가능도 추정법 예제 : 카테고리 분포


  • 카테고리 분포 Multinoulli(x;p1,....,pd)(x;p_1,....,p_d)를 따르는 확률변수 X로부터 독립적인 표본 {x1,....,xnx_1,....,x_n}을 얻었을 때 최대가능도 추정법을 이용해 모수 추정하기

  • 앞에서 추정한 정규분포의 모수는 평균과 분산이지만, 카테고리 분포의 모수는 1부터 d차원까지 각각의 차원에서 어떠한 값이 0또는 1이될 확률을 의미하는 모수이기 때문에 k=1dpk=1**\sum_{k=1}^{d}p_k = 1**이다

  • 카테고리 분포의 확률밀도함수에 로그 취하기


θ^MLE=argmaxP(xiθ)=argmaxlog(i=1nk=1dpkxi,k)\hat{\theta}_{MLE}=argmax P(x_i|\theta) = argmax log\left ( \prod_{i=1}^{n}\prod_{k=1}^{d}p_k^{x_i,k} \right )
log(i=1nk=1dpkxi,k)=k=1d(i=1dxi,k)logpklog\left ( \prod_{i=1}^{n}\prod_{k=1}^{d}p_k^{x_i,k} \right ) = \sum_{k=1}^{d}\left ( \sum_{i=1}^{d}x_{i,k} \right )logp_k
  • i=1dxi,k\sum_{i=1}^{d}x_{i,k}는 주어진 각 데이터들에 대해서 K값이 1인 개수를 세는 nkn_k로 표현할 수 있다.

  • 이제, 모수들의 합이 1인 된다는 제약식을 만족하면서 목적식을 최대화 하는 것이 주어진 문제인데, 라그랑주 승수법을 이용해 새로운 목적식을 나타낼 수 있다.

L(p1,...,pk,λ)=k=1dnklogpk+λ(1kpk)L(p_1,...,p_k,\lambda ) = \sum_{k=1}^{d}n_klogp_k + \lambda(1-\sum_kp_k)

  • 이제 이 새로운 목적식을 pkp_kλ\lambda에 대해 미분하면 모수를 추정할 수 있다.

0=Lpk=nkpkλ0 = \frac{\partial L}{\partial p_k} = \frac{n_k}{p_k}-\lambda
0=Lλ=1k=1dpk0 = \frac{\partial L}{\partial \lambda} = 1 - \sum_{k=1}^{d}p_k
pk=nkdk=1nkp_k = \frac{n_k}{\sum_{d}^{k=1}n_k}

  • 마지막의 식과 같이 각각의 차원에 해당하는 경우의 수(데이터 수)를 세어서 비율을 구하는 것으로 모수를 추정할 수 있다.

딥러닝에서 최대가능도 추정


  • 딥러닝 모델의 가중치 맨 θ=(W(1),....,W(L))\theta = (W^{(1)},....,W^{(L)})라 표기 했을 때 분류 문제에서 소프트맥스 벡터는 카테고리 분포의 모수를 모델링한다.
  • 원핫벡터로 표현한 정답레이블 y=(y1,...,yk)y = (y_1,...,y_k) 을 관찰데이터로 이용해 확률분포인 소프트맥스 벡터의 로그가능도를 최적화하는 방법으로 딥러닝의 모수인 θ\theta를 학습시킬 수 있다.
θ^MLE=argmax1ni=1nk=1Kyi,klog(MLPθ(xi)k)\hat{\theta}_{MLE}=argmax \frac{1}{n}\sum_{i=1}^{n}\sum_{k=1}^{K}y_{i,k}log(MLP_\theta(x_i)_k)
  • 기계학습에서 사용되는 손실함수들은 기계학습 모델이 학습하는 확률분포와 데이터에서 관측되는 확률분포의 거리를 통해 유도할 수 있다.

  • 데이터공간에 두 개의 확률 분포(P(x),Q(x))가 있을 경우 두 확률분포 사이의 거리를 계산하는 것은 여러가지 방법이 있다.

    • 총 변동 거리(Total Variation Distance,TV)
    • 쿨백-라이블러 발산 (Kullback-Leibler Divergence,KL)
    • 바슈타인 거리(Wasserstein Distance)
  • 쿨백-라이블러 발산 (Kullback-Leibler Divergence,KL)

이산 확률 분포


KL(PQ)=xϵχP(x)log(P(x)Q(x))KL(P||Q) = \sum_{x\epsilon \chi }P(x)log\left ( \frac{P(x)}{Q(x)} \right )

연속 확률 분포


KL(PQ)=χP(x)log(P(x)Q(x))dxKL(P||Q) = \int _{\chi }P(x)log\left ( \frac{P(x)}{Q(x)} \right )dx
  • 쿨백 라이블러 분해

KL(PQ)=ExP(x)[logQ(x)]+ExP(x)[logP(x)]KL(P||Q) = -E_{x\sim P(x)}[log Q(x)] + E_{x\sim P(x)}[log P(x)]
  • 크로스 엔트로피 : ExP(x)[logQ(x)]E_{x\sim P(x)}[log Q(x)]
  • 엔트로피 : ExP(x)[logP(x)]E_{x\sim P(x)}[log P(x)]

  • 분류 문제에서 정답레이블을 P, 모델 예측을 Q라 두면 최대가능도 추정법은 쿨백-라이블러 발산을 최소화하는 것과 같다

0개의 댓글