통계학 맛보기

통계학


모수

통계적 모델링은 적절한 가정 위에서 확률분포를 추정(inference)하는 것이 목표이며, 기계학습과 통계학이 공통적으로 추구하는 목표이다. 그러나 유한한 개수의 데이터만 관찰해서 모집단의 분포를 정확하게 알아낸다는 것은 불가능하므로, 근사적으로 확률분포를 추정할 수 밖에 없다. 데이터가 특정 확률분포를 따른다고 선험적으로(a priori) 가정한 후 그 분포를 결정하는 모수(paramete)를 추정하는 방법을 모수적(parametric)방법론이라 합니다. 특정 확률분포를 가정하지 않고 데이터에 따라 모델의 구조 및 모수의 개수가 유연하게 바뀌면 비모수(nonparametric)방법론이라 부른다. 비모수방법론은 모수를 안쓰는것은 아니다. 기계학습의 많은 방법론은 비모수 방법론에 속한다.


확률분포 가정하기

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

  • 데이터가 2개의 값(0 or 1)만 가지는 경우 → 베르누이분포
  • 데이터가 n개의 이산적인 값을 가지는 경우 → 카테고리분포
  • 데이터가 [0,1]사이에서 값을 가지는 경우 → 베타분포
  • 데이터가 0이상의 값을 가지는 경우 → 감마분포, 로그정규분포 등
  • 데이터가 $R$전체에서 값을 가지는 경우 → 정규분포, 라플라스분포 등

    기계적으로 확률분포를 가정해서는 안 되며, 데이터를 생성하는 원리를 먼저 고렬하는 것이 원칙이다. 각 분포마다 검정하는 방법들이 있으므로 모수를 추정한 후에는 반드시 검정을 해야 한다.


👉 데이터로 모수 추정하기

이제 데이터의 확률분포를 가정했다면 모수를 추정해볼 수 있다. 정규분포의 모수는 평균 $\mu$과 분산 $\sigma^{2}$으로 이를 추정하는 통게량(statistic)은 다음과 같다.

image.png

표본분산을 구할 때 N이 아니라 N-1로 나누는 이유는 불편(unbiased)추정량을 구하기 위해서다. 통계량의 확률분포를 표집분포(sampling distribution)라 부르며, 특히 표본평균의 표집분포는 N이 커질수록 정규분포 $𝒩(μ, σ^{2}/N)$를 따릅니다. 이를 중심극한정리(Central Limit Theorem)이라 부르며, 모집단의 분포가 정규분폴르 따르지 않아도 성립한다.


최대가능도 추정법

표본평균이나 표본분산은 중요한 통계량이지만 확률분포마다 사용하는 모수가 다르므로 적절한 통계량이 달라지게 된다. 이론적으로 가장 가능성이 높은 모수를 추정하는 방법 중 하나는 최대가능도 추정법(maximum likelihood estimation,MLE)이다. image.png 가능도(likelihood)함수는 모수 $\theta$를 따르는 분포가 x를 관찰할 가능성을 뜻하지만 확률로 해석하면 안된다. 데이터 집합 X가 독립적으로 추출되었을 경우 로그가능도를 최적화합니다. log를 씌우면 곱이 덧셈으로 변해서 계산하기 편하다.

image.png


🤔 왜 로그가능도를 사용하는가?

로그가능도를 최적화하는 모수 $\theta$는 가능도를 최적화하는 MLE가 된다. 데이터의 숫자가 적으면 상관없지만 만일 데티어의 숫자가 수억 단위가 된다면 컴퓨터의 정확도로는 가능도를 계산하는 것은 불가능하다. 데이터가 독립일 경우, 로그를 사용하면 가능도의 곱셈을 로그가능도의 덧셈으로 바꿀 수 있기 때문에 컴퓨터로 연산이 가능해지게 된다. 경사하강법으로 가능도를 최적화할 때 미분 연산을 사용하게 되는데, 로그 가능도를 사용하면 연산량을 $O(n^{2})$에서 $O(n)$으로 줄여준다. 대게 손실함수의 경우 경사하강법을 사용하므로 음의 로그가능도(negative log-liklihood)를 최적화하게 된다.



1️⃣ 예제: 정규분포

정규분포를 따르는 확률변수 $X$로부터 독립적인 표본 $\{x_{1},...,x_{n}\}$을 얻었을 때, 최대가능도 추정법을 이용하여 모수를 추정하면?

$$\theta = (\mu, \sigma^{2})$$

image.png

두 미분이 모두 0이 되는 $\mu,\sigma$를 찾으면 가능도를 최대화하게 된다.

image.png

MLE는 불편추정량을 보장하진 않는다. image.png



2️⃣ 예제: 카테고리 분포

카테고리 분포 Multinoulli$(x;p_{1},...,p_{d})$를 따르는 확률변수 X로부터 독립적인 표본 $\{x_{1},...,x_{n}\}$을 얻었을 때 최대가능도 추정법을 이용하여 모수를 추정하면?

image.png 카테고리 분포의 모수는 아래와 같은 제약식을 만족해야 한다. $x_{i,k}$는 1 또는 0의값만 가진다.

image.png

image.png

주어진 데이터 대해서 k열에 대해서 1인 데이터의 합을 $n_{k}$로 나타낼 수 있다.

image.png 위쪽 제약식을 만족하면서 왼쪽 목적식을 최대화하는 것이 우리가 구하는 MLE이다. 라그랑주 승수법을 통해 최적화 문제를 풀 수 있다.

image.png 카테고리 분포의 MLE는 경우의 수를 세어서 비율을 구하는것.


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

최대가능도 추정법을 이용해서 기계학습 모델을 학습할 수 있다. 딥러닝 모델의 가중치를 $\theta = (W^{(1)},...,W^{(L)})$라 표기했을 때 분류 문제에서 소프트맥스 벡터는 카테고리분포의 모수$(p_{1},...,p_{K})$를 모델링한다. 원핫벡터로 표현한 정답레이블 $y=(y_{1},...,y_{K})$을 관찰데이터로 이용해 확률분포인 소프트맥스 벡터의 로그가능도를 최적화할 수 있다. image.png

k는 클래스의 개수이다. 모든 클래스에 대해서 데이터 i=1~n까지 모든 데이터에 대해 멀티레이어 퍼셉트론에 k번째 예측값에 log를 취한 값과 정답 레이블에 해당하는 k번째 값을 곱한것에 덧셈으로 표현.


확률분포의 거리 구하기

기계학습에서 사용되는 손실함수들은 모델이 학습하는 확률분포와 데이터에서 관찰되는 확률분포의 거리를 통해 유도한다. 데이터공간에 두 개의 확률분포 $P(x), Q(x)$가 있을 경우 두 확률분포 사이의 거리(distance)를 계산할 때 다음과 같은 함수들을 이용한다.

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


쿨백-라이블러 발산

쿨백-라이블러 발산(KL Divergence)은 다음과 같이 정의한다. image.png

쿨백 라이블러는 다음과 같이 분해할 수 있다. image.png

분류 문제에서 정답레이블을 $P$, 모델 예측을 $Q$라 두면 최대가능도 추정법은 쿨백-라이블러 발산을 최소화하는 것과 같다. 최대가능도 추정법에서 사용되는 손실함수는 쿨백-라이블러 발산에서의 크로스 엔트로피랑 같다. 즉, 최대가능도에서 손실함수를 최대화 하는것은 쿨백-라이블러 발산을 최소화 하는것이랑 같다는 것이다.

'AI > 이론' 카테고리의 다른 글

Optimization  (0) 2021.02.02
뉴럴 네트워크 - MLP(이론)  (0) 2021.02.01
PyTorch basic  (0) 2021.02.01
베이즈 통계학  (0) 2021.02.01
seaborn  (0) 2021.01.29
matplotlib II  (0) 2021.01.29
matplotlib I  (0) 2021.01.29
확률론 맛보기  (0) 2021.01.28

+ Recent posts