Ai tech Day9

Lee·2021년 2월 1일
0

통계학

통계적 모델링은 적절한 가정 위에서 확률분포를 추정(inference)하는 것이 목표이며, 기계학습과 통계학이 공통적으로 추구하는 목표입니다.

  • 유한한 개수의 데이터만 관찰해서 모집단의 분포를 정확하게 알아낸다는 것은 불가능하므로, 근사적으로 확률분포를 추정할 수 밖에 없습니다.

  • 예측모형의 목적은 분포를 정확하게 맞추는 것보다는 데이터와 추정 방법의 불확실성을 고려해서 위험을 최소화하는 것이다.

  • 데이터가 특정 확률분포를 따른다고 선험적으로(a priori) 가정한 후 그 분포를 결정하는 모수(parameter)(정규분포의 경우 평균, 분산)를 추정하는 방법을 모수적(parametric) 방법론이라 합니다.

  • 특정 확률분포를 가정하지 않고 데이터에 따라 모델의 구조 및 모수의 개수가 유연하게 바뀌면 비모수(nonparametric) 방법론이라 부릅니다.

  • 비모수 방법론이라고 해서 모수가 존재하지 않는 것은 아니고, 단지 특정 모수(정규분포, 카이분포, 카테고리 분포 등) 라고 가정하지 않는 것이다.

  • 기계학습의 많은 방법론은 비모수 방법론에 속합니다.



확률분포 가정

  • 확률분포를 가정하는 방법: 우선 히스토그램을 통해 모양을 관찰합니다

    • 데이터가 2개의 값(0 또는 1)만 가지는 경우 → 베르누이분포
    • 데이터가 nn개의 이산적인 값을 가지는 경우 → 카테고리분포
    • 데이터가 [0,1][0, 1] 사이에서 값을 가지는 경우 → 베타분포
    • 데이터가 0 이상의 값을 가지는 경우 → 감마분포, 로그정규분포 등
    • 데이터가 R\mathbb{R} 전체에서 값을 가지는 경우 → 정규분포, 라플라스분포 등
    • 기계적으로 확률분포를 가정해서는 안 되며, 데이터를 생성하는 원리를 먼저 고려하는 것이 원칙입니다.
  • 각 분포마다 검정하는 방법들이 있으므로 모수를 추정한 후에는 반드시 검정을 해야 한다.



데이터로 모수를 추정

  • 데이터의 확률분포를 가정했다면 모수를 추정해볼 수 있습니다.

  • 정규분포의 모수는 평균 μ\mu 과 분산 σ2\sigma ^2 으로 이를 추정하는 통계량(statistic)은 다음과 같다

    표본 평균

    Xˉ=1Ni=1NXi\bar{X} = \frac{1}{N}\sum_{i=1}^{N}X_i

    표본 분산

    S2=1N1i=1N(XiXˉ)2S^2=\frac{1}{N-1}\sum_{i=1}^{N}(X_i - \bar{X})^2
  • 통계량의 확률분포를 표집분포(sampling distribution)라 부르며, 특히 표본평균의 표집분포는 NN이 커질수록 정규분포 N(μ,σ2/N)\mathcal{N}(\mu, \sigma^2 /N) 를 따릅니다. 이를 중심극한정리(Central Limit Theorem)라 부르며, 모집단의 분포가 정규분포를 따르지 않아도 성립합니다.

  • sampling distributionsample distribution는 다르다.
    (전자는 통계량의 분포, 후자는 표본 자체의 분포)



최대가능도 추정법

  • 표본평균이나 표본분산은 중요한 통계량이지만 확률분포마다 사용하는 모수가 다르므로 적절한 통계량이 달라지게 됩니다.

  • 이론적으로 가장 가능성이 높은 모수를 추정하는 방법 중 하나는 최대가능도 추정법(maximum likelihood estimation, MLE)입니다.

    θ^MLE=argmaxθP(xθ)\hat{\theta}_{MLE}=\underset{\theta}{\operatorname{argmax}}P(x|\theta)
    • 가능도(likelihood) 함수는 모수 θ\theta 를 따르는 분포가 xx 를 관찰 할 가능성을 뜻하지만 확률로 해석하면 안됩니다.
  • 데이터 집합 XX독립적으로 추출되었을 경우 로그가능도를 최적화합니다.

L(θ;X)=i=1nP(xiθ)logL(θ;X)=i=1nlogP(xiθ)L(\theta;X)=\prod_{i=1}^n P(x_i|\theta) \quad\Rightarrow \quad \operatorname{log}L(\theta;X)=\sum_{i=1}^n \operatorname{log}P(x_i|\theta)
  • 로그가능도를 최적화하는 모수 θ\theta 는 가능도를 최적화하는 MLE 가 됩니다.

  • 데이터의 숫자가 적으면 상관없지만 만일 데이터의 숫자가 수억 단위가 된다면 컴퓨터의 정확도로는 가능도를 계산하는 것은 불가능합니다.

  • 데이터가 독립일 경우, 로그를 사용하면 가능도의 곱셈을 로그가능도의 덧셈으로 바꿀 수 있기 때문에 컴퓨터로 연산이 가능해집니다 .

  • 경사하강법으로 가능도를 최적화할 때 미분 연산을 사용하게 되는데, 로그가능도를 사용하면 연산량을 O(n2)O(n^2)에서 O(n)O(n)으로 줄여줍니다.

  • 대게의 손실함수의 경우 경사하강법을 사용하므로 음의 로그가능도 (negative log-likelihood)를 최적화하게 됩니다.



최대가능도 추정법 예제

정규 분포

정규분포를 따르는 확률변수 XX로부터 독립적인 표본 {x1,,xn}\{x_1,\dots , x_n\}을 얻었을 때 최대가능도 추정법을 이용하여 모수를 추정하면?

θ^MLE=argmaxθL(θ;x)=argmaxθP(xθ)\hat{\theta}_{MLE} = \underset{\theta}{\operatorname{argmax}} L(\theta;x)=\underset{\theta}{\operatorname{argmax}} P(x|\theta)
θ^MLE=argmaxθL(θ;x)=argmaxμ,  σ2P(xθ)\hat{\theta}_{MLE} = \underset{\theta}{\operatorname{argmax}} L(\theta;x)=\underset{\mu, \; \sigma^2}{\operatorname{argmax}} P(x|\theta)
logL(θ;X)=i=1nlogP(xiθ)=i=1nlog12πσ2exiμ22σ2logL(\theta;X)=\sum_{i=1}^n\operatorname{log} P(x_i|\theta)=\sum_{i=1}^n\operatorname{log} \frac{1}{\sqrt{2 \pi \sigma ^2}} e ^{-\frac{|x_i - \mu|^2}{2 \sigma ^2}}
=n2log2πσ2i=1nxiμ22σ2=-\frac{n}{2}\operatorname{log}2\pi \sigma ^2 - \sum_{i=1}^n \frac{|x_i - \mu|^2}{2 \sigma ^2}
  • θ=(μ,  σ)\theta=(\mu, \; \sigma) 에 대해 위 수식을 미분해서 최적화를 할 수 있습니다.
0=logLμ=i=1nxiμσ2μ^MLE=1ni=1nxi0=\frac{\partial \operatorname{log} L}{\partial \mu} = -\sum_{i=1}^n \frac{x_i - \mu}{\sigma ^2} \quad \Rightarrow \quad \hat{\mu}_{MLE}=\frac{1}{n} \sum_{i=1}^n x_i
0=logLσ=nσ+1σ3i=1nxiμ2σ^MLE2=1ni=1n(xiμ)20=\frac{\partial \operatorname{log} L}{\partial \sigma} = - \frac{n}{\sigma} + \frac{1}{\sigma ^3}\sum_{i=1}^n|x_i - \mu|^2 \quad \Rightarrow \quad \hat{\sigma}^2_{MLE}=\frac{1}{n}\sum_{i=1}^n(x_i - \mu)^2
  • 두 미분이 모두 0 이 되는 μ,σ\mu, \sigma를 찾으면 가능도를 최대화하게 됩니다. 그러나 MLE는 불편추정량을 보장하진 않습니다.

카테코리 분포

카테고리 분포 Multinoulli(x;p1,,pd(x;p_1,\dots,p_d 를 따르는 확률변수 로부터 독립적인 표본 {x1,,xn}\{x_1, \dots, x_n\} 을 얻었을 때 최대가능도 추정법을 이용하여 모수를 추정하면?

θ^MLE=argmaxp1,,pdlogP(xiθ)=argmaxp1,,pdlog(i=1nk=1dpkxi,k)withk=1dpk=1\hat{\theta}_{MLE} = \underset{p_1,\dots,p_d}{\operatorname{argmax}} \operatorname{log} P(x_i|\theta)=\underset{p_1,\dots,p_d}{\operatorname{argmax}} \operatorname{log} (\prod_{i=1}^n \prod_{k=1}^d p_k^{x_i,k}) \quad {\scriptstyle\text{with}}\quad \sum_{k=1}^d p_k = 1
log(i=1nk=1dpkxi,k)=k=1d(i=1nxi,k)=logpkwithnk=i=1nxi,k\operatorname{log}(\prod_{i=1}^n \prod_{k=1}^d p_k^{x_i,k}) = \sum_{k=1}^d(\sum_{i=1}^n x_{i,k}) = \operatorname{log} p_k \quad {\scriptstyle\text{with}}\quad n_k=\sum_{i=1}^{n}x_{i, k}
profile
초보 개발자입니다

0개의 댓글