Loading [MathJax]/jax/output/CommonHTML/jax.js
본문 바로가기
ML/ML-수학, 확률과 통계

확률분포(Probability Disstributions)- 이산확률분표(이항분포만)

by lucian 2021. 6. 7.

* 이 공부노트는 프로그래머스 인공지능 데브코스 강창성 교수님의 강의를 바탕으로 제작되었습니다.

  • 확률이론은 ML을 이해하기 위해 필수.
  • 자세하게 이해할수록 여러가지 알고리즘에 대해 접근하기 쉬워진다.
  • 결합확률분포를 완벽하게 풀 수 있다면 모든 문제를 풀 수 있다고 하십니다.(갈길이 멀다.)

 

오늘은 이산확률분포에 대해 알아보도록 한다.


밀도추정(Ensity Estimation)

N개의 데이터 x1,xN 주어졌을 때 분포함수 p(x)를 찾는 것이다.

  1. p(x)를 파라미터화된 분포로 가정하고, 회귀에선 p(t|x), 분류에선 p(C|x)로 추정한다.
  2. 그 다음 분포의 파라미터를 찾는다. 
    - 빈도주의 방법(Frequentist's way) : 어떤 기준(ex. likelihood)을 최적화시키는 과정을 통해 파라미터 값을 구한다.
    - 베이지안 방법(Bayesian way) : 파라미터의 사전확률(prior)을 가정하고, 파라미터의 사후확률(posterior)을 구한다.
  3. 파라미터를 찾았다면(1개의 값 or 분포) 그것을 사용해 예측을 한다.

켤레사전분포(Conjugate Prior): 사후확률이 사전확률과 동일한 함수형태를 가지도록 해준다.

 


이항변수(Binary Variables) - 빈도주의 방법

우선 이항변수란 0과 1 2개의 값을 가지는 확률변수이다. 

(binary random variable) x{0,1} ex. 동전던지기

 

수학적으로 표현하면, x가 1일 때, 그 것의 확률은 μ가 되고 반대로 0일때는 1μ이다.

p(x=1|μ)=μ,p(x=0|μ)=1μ

베르누이 분포(Bernoulli distribution)로도 표현 가능하다.

Bern(x|μ)=μx(1μ)1x

 

당연히 확률변수니깐 기댓값과 분산을 구할 수 있다,.

- 기댓값 :  E[x]=μ

- 분산 : var[x]=μ(1μ)

 

잘 생각해보면 쉽다.

E[x]=0(1μ)+1μ=μ

var[x]=E[x2]E[x]2=(02(1μ)+12μ)μ2

 

자, 이제 파라미터를 찾아보자.

빈도주의에선 우도함수를 사용한다.

 

우도함수 (Likelihood Function)

x값을 N번 관찰한 결과를 D={x1,,xN}라 할 때, 각 x가 독립적으로 p(x|μ)에서 뽑혀진다고 가정하면 다음과 같이 우도함수(μ의 함수인)를 만들 수 있다.

 

p(D|μ)=Nn=1p(xn|μ)=Nn=1μxn(1μ)1xn

 

우도함수에 대한 리포팅은 기회되면 써보도록 하겠음...(미래의 나야 부탁해)

 

이 빈도주의 방법에서 μ값을 구할 때, 우도함수를 최대화 시키는 값을 구할 수 있다. - 이를 쉽게 하기 위해 로그 우도함수를 최대화 시킨다.(로그로 씌우면 좀더 계산하기 쉽기 때문)

lnp(D|μ)=Nn=1lnp(xn|μ)=Nn=1{xnlnμ+(1xn)ln(1μ)}

곱해 졌던 것들이 로그를 씌우면서 더하기로 바뀌고 지수부분에 있던 것들이 내려오면서 계산하기 쉬워졌다.

후에 여기서 μ에 대한 편미분을 적용한다.

Nn=1(xnμ1xn1μ)=0 이란 식이 성립되고,

Nn=1xnμ=Nn=11xn1μ

 

여기서 μ(1μ)는 시그마와 상관없으니 앞으로 빼주고, 

m=Nn=1xn 으로 여긴다. 즉 m은 x를 다 더한값. ex)x가 0과 1중 에서 나올 수 있는데 1이 3번 나왔어... 그럼 m=3이 된다.

 

 

그럼 결과가 μML=mN  with  m=(#observations of x=1)

이 나온다.

 

N이 작은 경우에 위 MLE는 과적합(overfitting)된 결과를 낳을 수 있다. N=m=3μML=1!

 

 


이항변수(Binary Variables) - 베이지안 방법

D={x1,,xN}일 때, 이항변수 x가 1인 경우를 m번 관찰할 확률

Bin(m|N,μ)=(Nm)μm(1μ)Nm

 

N개의 개체 가운데 m개의 개체들을 뽑아낼 수 있는 모든 경우의 수를

(Nm)=N!(Nm)!m!

 

그에 따른,(풀이를 봐야겠다. 왜이렇게 될까?)

- 기댓값 : E[m]=Nm=0mBin(m|N,μ)=Nμ

- 분산 : var[m]=Nm=0(mE[m])2Bin(m|N,μ)=Nμ(1μ)

 

위키백과에서 찾았다!

https://ko.wikipedia.org/wiki/%EC%9D%B4%ED%95%AD_%EB%B6%84%ED%8F%AC

 

이항 분포 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 이항 분포(二項分布)는 연속된 n번의 독립적 시행에서 각 시행이 확률 p를 가질 때의 이산 확률 분포이다. 이러한 시행은 베르누이 시행이라고 불리기도 한다.

ko.wikipedia.org

 

데이터를 보는 관점
- 베르누이 시행의 반복: x1,,xN 각각이 확률변수
x가 1인 경우를 몇 번 관찰했는가?: 하나의 확률변수 m

베이지안 방법을 쓰기 위해서 데이터의 우도를 구해야 하는데 이항분포를 가정하면 우도함수가 하나의 변수 m으로(x1,,xN 대신) 표현가능하므로 간편해진다.

 

 

이젠 파라미터를 구할 차례가 된다. 베이지안 방법에선 이 파라미터를 베타분포 (Beta Distribution)켤레사전분포(conjugate prior)로 사용한다.

 

Beta(μ|a,b)=Γ(a+b)Γ(a)Γ(b)μa1(1μ)b1

감마함수 Γ(x)는 다음과 같이 정의된다.

Γ(x)=0ux1eudu

감마함수는 계승(factorial)을 실수로 확장시킨다. Γ(n)=(n1)!

 

Γ(x)=(x1)Γ(x1)임을 증명하기

Using integration by parts 0adb=ab|00bda

a=ux1db=eudub=euda=(x1)ux2duΓ(x)=ux1(eu)|0+0(x1)ux2eudu=0+(x1)Γ(x1)

 

베타분포가 normalized임을 증명하기 (10Beta(μ|a,b)dμ=1)

10μa1(1μ)b1dμ=Γ(a)Γ(b)Γ(a+b)임을 증명하면 된다.

Γ(a)Γ(b)=0xa1exdx0yb1eydy=00exyxa1yb1dydx=00etxa1(tx)b1dtdxby t=y+x,dt=dy=00etxa1(tx)b1dxdt=0et0xa1(tx)b1dxdt=0et10(tμ)a1(ttμ)b1tdμdtby x=tμ,dx=tdμ=0etta1tb1t(10μa1(1μ)b1dμ)dt=0etta+b1dt10μa1(1μ)b1dμ=Γ(a+b)10μa1(1μ)b1dμ

따라서, 10μa1(1μ)b1dμ=Γ(a)Γ(b)Γ(a+b)이 성립한다.

기댓값, 분산

E[μ]=aa+b
var[μ]=ab(a+b)2(a+b+1)

 

E[μ]=10μΓ(a+b)Γ(a)Γ(b)μa1(1μ)b1dμ=Γ(a+b)Γ(a)Γ(b)10μa(1μ)b1dμ

여기서 μaμ(a+1)1로 볼 수 있다.

그럼 아까 베타분포의 normalized를 정의한 것 처럼 쓸 수 있다.

 

=Γ(a+b)Γ(a)Γ(b)Γ(a+1)Γ(b)Γ(a+1+b)

또한 Γ(a+1)=aΓ(a)이고, Γ(a+1+b)=(a+b)Γ(a+b)가 된다.

=Γ(a+b)Γ(a)Γ(b)aΓ(a)Γ(b)(a+b)Γ(a+b)=aa+b

 

 

 

 


μ의 사후확률 (posterior)

 

μm, l은 확률변수이다. 하지만 a,b는 상수인 것을 생각하면서 보자.

 

p(μ|m,l,a,b)p(m,l|μ)p(μ|a,b)이다.

p(m,l|μ)는 likelihood이고,

$p(\mu|a,b)$는 prior이다.

또한 l은 m이 얼마냐에 따라 정해지므로 생략이 가능하다.=p(m|μ)p(μ|a,b) 가 된다.

 

p(μ|m,l,a,b)=Bin(m|N,μ)Beta(μ|a,b)10Bin(m|N,μ)Beta(μ|a,b)dμ=μm+a1(1μ)l+b110μm+b1(1μ)l+b1dμ=μm+a1(1μ)l+b1Γ(m+a)Γ(l+b)/Γ(m+a+l+b)=Γ(m+a+l+b)Γ(m+a)Γ(l+b)μm+a1(1μ)l+b1

즉 사후확률은 a를 m만큼 더하고 b를 l만큼 더한다. 

예측분포 (predictive distribution)

p(x=1|D)=10p(x=1|μ)p(μ|D)dμ=10μp(μ|D)dμ=E[μ|D]

p(x=1|D)=m+am+a+l+b

댓글