[BoostCamp AI Tech / Day 5] AI Math 7강 - 통계학 맛보기

newbie·2021년 8월 6일
0

[boostcampAI U stage] week1

목록 보기
19/21

모수

  • 통계적 모델링은 적절한 가정 위에서 데이터를 표현하는 확률분포를 추정(inference)하는 것이 목표이며, 기계학습과 통계학이 공통적으로 추구하는 목표
  • 정답의 분포는 확실히 알 수 없으며, 사용 가능한 확률분포도 아래 그림처럼 다양하므로 적절한 확률분포를 선택하는 것이 중요
  • 하지만 일정 데이터만 관찰해서는 모집단의 분포 추정이 불가
    => 근사적인 확률분포를 추정할 수 밖에 없음
    • 예측 모형의 목적은 분포를 정확히 맞추는 것보단 데이터와 추정 방법의 불확실성을 고려해서 위험도는 낮추는 것에 있음
  • 모수적(paramteric) 방법론
    • 데이터가 특정 분포를 따른다고 선험적 가정 후 그 분포를 결정하는 모수(parameter)를 추정하는 방법
      • 선험적 : 일반적인 경험 없이 알수 있는 것
    • 모수적 방법론 예시 : 정규분포 모델링 시 모수는 평균과 분산, 평균과 분산을 추정하는 방법을 통해 데이터를 학습
  • 비모수적(nonparametric) 방법론
    • 특정 확률분포를 가정하지 않고 데이터에 따라 모델의 구조 및 모수의 개수가 유연하게 바뀌는 방법 => 모수가 무한히 많거나 데이터에 따라 모수의 개수가 달라지는 것이므로 모수가 존재
    • 기계학습의 많은 방법론은 비모수 방법론에 속함
    • 특정 확률 분포를 가정하지 않고, 데이터에 따라 모수의 구조와 모수의 개수가 유연하게 바뀜

학률분포 가정(예시)

  • 히스토그램을 통한 데이터 분포 관찰
    • 2개(binary, 0 or 1) => 베르누이 분포
    • n개, 이산적 => 카테고리 분포, 다항분포
    • 0 ~ 1 사이 값 => 베타 분포
    • 0 이상 값 => 감마분포, 로그정규분포
    • R(실수) 전체 => 정규분포, 라플라스분포
  • 주의!!!
    • 기계적으로 확률분포 가정 X
    • 데이터 생성 원리를 먼저 고려하는 것이 원칙
    • 분포마다 검정하는 방법들이 있으므로, 모수 추정 후 반드시 검정

모수 추정

  • 데이터의 확률분포로 가정했다면 모추 추정 가능

  • 정규분포의 모수는 평균 μ\mu와 분산 σ2\sigma^2으로 이를 추정하는 통계량은 다음과 같음
    X=1Ni=1NXi표본평균S2=1N1i=1N(XiX)2표본분산\quad \overset{-}{X} = \overset{표본평균}{{1\over N} \sum_{i=1}^N X_i}\quad \quad \quad S^2 = \overset{표본분산}{{1\over N-1} \sum_{i=1}^N (X_i - \overset{-}{X)^2}}

  • 즉, 표본평균과 표본분산의 확률분포를 표집분포(sampling distribution)라 부르며, 특히 표본평균의 표집분포는 N이 커질수록 정규분포 (μ,σ2/N)\mu, \sigma^2/N)를 따름

    • 표집분포(sampling distribution) !=!= 표본분포(sample distribution)
      • 표집분포 : 각각의 샘플링에서 평균을 내어, 샘플들의 분포
      • 표본분포 : 한 샘플의 분포
  • 이를 중심극한 정리라고 하며, 모집단의 분포가 정규분포를 따르지 않더라도 표본평균의 표집분포는 정규분포를 따름

  • 단, 모집단이 정규분포를 따르지 않을 때 표본분포는 데이터가 무수히 많아도 정규분포를 따를 수 없음

최대가능도 추정법

  • 확률분포마다 사용하는 모수가 다르므로 다른 통계량 선택

  • 이론적으로 가장 가능성이 높은 모수를 추정하는 방법중 하나인 최대가능도함수 추정법(MLE, Maxinum Likehood Estimation, MLE)

    • θ^MLE=argmaxθL(θ;x)=argmaxθP(xθ)\hat{\theta}_{MLE} = \underset{\theta}{argmax}L(\theta;x) = \underset{\theta}{argmax}P(x|\theta)

      • θ\theta : 모수를 표시하는 대표 기호
    • 모수 θ\theta를 따르는 분포가 데이터 xx를 관찰할 가능성을 뜻함

      • 가능도함수는 확률밀도함수와 수식은 같지만 다른 것을 주의

        • 정규분포의 확률밀도함수, 모수가 상수이며 x가 변수
          P(x;μ상수,σ상수2)=12πσ상수2exp((xμ상수)22σ상수2)P(x; \mu_{상수}, \sigma_{상수}^2) ={1\over\sqrt{2\pi\sigma_{상수}^2}}exp(-{{(x-\mu_{상수})^2}\over2\sigma_{상수}^2})

        • 가능도함수, 모수가 변수이며 X가 상수
          L(μ,σ2;x상수)=12πσ2exp((x상수μ)22σ2)L(\mu,\sigma^2;x_{상수}) ={1\over\sqrt{2\pi\sigma^2}}exp(-{{(x_{상수}-\mu)^2}\over2\sigma^2})

    • 정규분포인 확률밀도함수와 같은 공식이지만, 전체 범위를 적분 시 1이 되는 개념이 아니기에, θ\theta에 대한 확률이 아닌, θ\theta에 따른 대소비교가 가능한 값으로 판단해야 함

  • 데이터 집합 X\ X독립적으로 추출되었을 경우 로그가능도를 최적화

    • L(θ;X)=i=1NP(Xiθ)logL(θ;X)=i=1nlogP(xiθ)L(\theta; X)=\prod_{i=1}^NP(X_i|\theta)\Rightarrow logL(\theta;X)=\sum_{i=1}^nlogP(x_i|\theta)

로그가능도를 사용하는 이유

  • 곱셈연산 시 데이터가 커질수록 오차가 증가
  • 독립 추출 데이터일 경우, 로그가능도를 사용하여 덧셈 연산이 가능하여 오차를 줄일 수 있음
  • 또한, 경사하강법으로 가능도를 최적화 시 연산량이 대폭 감소
    • 기본 가능도 시 O(n2)O(n^2), 로그가능도 시 O(n)O(n)
  • 대게의 손실함수의 경우 경사하강법을 사용하므로 **음의 로그가능도(negative log-likelihood)를 최적화 하게 됨

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

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

  • 분산의 최대가능도추정에 들어가는 μ\mu는 위에서 구한 μ^MLE\hat{\mu}_{MLE}를 사용해도 무방

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

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

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

  • 최대가능도 추정법을 이용해서 기계학습 모델을 학습할 수 있음
  • 딥러닝 모델의 가중치를 θ=(W(1,첫번째 layer의 가중치),,W(L,마지막 layer의 가중치)\theta=(W^{(1,첫번째\ layer의\ 가중치)},\cdots,W^{(L,마지막\ layer의\ 가중치)}라 표기 시 분류 문제에서 소프트맥스 벡터는 카테고리분포의 모수 (p1,,pK)(p_1,\cdots,p_K)를 모델링
  • 원핫벡터로 표현하는 정답 레이블 y=(y1,,yk)y=(y_1,\cdots,y_k)을 관찰데이터로 이용해 확률분포인 소프트맥스 벡터의 로그가능도를 최적화 할 수 있음

θ^MLE=argmaxθ1ni=1nk=1Kyi,k log(MLPθ(xi)k)\quad \quad \quad \quad \quad \hat{\theta}_{MLE} = \underset{\theta}{argmax} {1 \over n}{\sum_{i=1}^n}{\sum_{k=1}^K}y_{i,k}\ log(MLP_\theta(x_i)_k)

확률분포의 거리

  • 기계학습에서 사용되는 손실함수들은 모델이 학습하는 확률분포와 데이터에서 관찰되는 확률분포의 거리를 통해 유도
  • 데이터 공간에 두 개의 확률분포 P(x),Q(x)P(x), Q(x)가 있을 경우 두 확률분포 사이의 거리(distance)를 계산할 때 다음과 같은 함수들을 이용
    • 총변동 거리(Total Variation Distance, TV)
    • 쿨백-라이블러 발산 (Kullback-Leibler Divergence, KL)
    • 바슈타인 거리(Wasserstein Distance)

쿨백-라이블러 발산 (Kullback-Leibler Divergence, KL)

  • 쿨백 라이블러 발산(KL Divergence)는 다음과 같이 정의
    • KL(PQ)=xXP(x)logP(x)Q(x)이산확률변수KL(PQ)=XP(x)logP(x)Q(x)dx연속확률변수\overset{이산확률변수}{KL(P||Q) = {\underset{x \in X}{\sum}P(x)log {P(x) \over Q(x)}}}\quad \overset{연속확률변수}{KL(P||Q) = {\int_{X}P(x)log {P(x) \over Q(x)}dx}}
  • 쿨러 라이블러는 다음과 같이 분해
    • KL(PQ)=ExP(x)[logQ(x)]크로스엔트로피+ExP(x)[logP(x)]엔트로피KL(P||Q) = \underset{크로스 엔트로피}{-E_{x\sim P(x)}[logQ(x)]} + \underset{엔트로피}{E_{x\sim P(x)}[logP(x)]}
  • 분류 문제에서 정답레이블을 P, 모델 예측을 Q라고 두면 최대가능도 추정법은 쿨러-라이블러 발산을 최소화하는 것과 같다.
profile
DL, NLP Engineer to be....

0개의 댓글