* 이 공부노트는 프로그래머스 인공지능 데브코스 강창성 교수님의 강의를 바탕으로 제작되었습니다.
- 확률이론은 ML을 이해하기 위해 필수.
- 자세하게 이해할수록 여러가지 알고리즘에 대해 접근하기 쉬워진다.
- 결합확률분포를 완벽하게 풀 수 있다면 모든 문제를 풀 수 있다고 하십니다.(갈길이 멀다.)
오늘은 이산확률분포에 대해 알아보도록 한다.
밀도추정(Ensity Estimation)
N개의 데이터 x1,…xN 주어졌을 때 분포함수 p(x)를 찾는 것이다.
- p(x)를 파라미터화된 분포로 가정하고, 회귀에선 p(t|x), 분류에선 p(C|x)로 추정한다.
- 그 다음 분포의 파라미터를 찾는다.
- 빈도주의 방법(Frequentist's way) : 어떤 기준(ex. likelihood)을 최적화시키는 과정을 통해 파라미터 값을 구한다.
- 베이지안 방법(Bayesian way) : 파라미터의 사전확률(prior)을 가정하고, 파라미터의 사후확률(posterior)을 구한다. - 파라미터를 찾았다면(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−μ)1−x
당연히 확률변수니깐 기댓값과 분산을 구할 수 있다,.
- 기댓값 : 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|μ)=N∏n=1p(xn|μ)=N∏n=1μxn(1−μ)1−xn
우도함수에 대한 리포팅은 기회되면 써보도록 하겠음...(미래의 나야 부탁해)
이 빈도주의 방법에서 μ값을 구할 때, 우도함수를 최대화 시키는 값을 구할 수 있다. - 이를 쉽게 하기 위해 로그 우도함수를 최대화 시킨다.(로그로 씌우면 좀더 계산하기 쉽기 때문)
lnp(D|μ)=N∑n=1lnp(xn|μ)=N∑n=1{xnlnμ+(1−xn)ln(1−μ)}
곱해 졌던 것들이 로그를 씌우면서 더하기로 바뀌고 지수부분에 있던 것들이 내려오면서 계산하기 쉬워졌다.
후에 여기서 μ에 대한 편미분을 적용한다.
N∑n=1(xnμ−1−xn1−μ)=0 이란 식이 성립되고,
N∑n=1xnμ=N∑n=11−xn1−μ
여기서 μ와 (1−μ)는 시그마와 상관없으니 앞으로 빼주고,
m=N∑n=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−μ)N−m
N개의 개체 가운데 m개의 개체들을 뽑아낼 수 있는 모든 경우의 수를
(Nm)=N!(N−m)!m!
그에 따른,(풀이를 봐야겠다. 왜이렇게 될까?)
- 기댓값 : E[m]=∑Nm=0mBin(m|N,μ)=Nμ
- 분산 : var[m]=∑Nm=0(m−E[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)μa−1(1−μ)b−1
감마함수 Γ(x)는 다음과 같이 정의된다.
Γ(x)=∫∞0ux−1e−udu
감마함수는 계승(factorial)을 실수로 확장시킨다. Γ(n)=(n−1)!
Γ(x)=(x−1)Γ(x−1)임을 증명하기
Using integration by parts ∫∞0adb=ab|∞0−∫∞0bda
a=ux−1db=−e−udub=e−uda=(x−1)ux−2duΓ(x)=ux−1(−e−u)|∞0+∫∞0(x−1)ux−2e−udu=0+(x−1)Γ(x−1)
베타분포가 normalized임을 증명하기 (∫10Beta(μ|a,b)dμ=1)
∫10μa−1(1−μ)b−1dμ=Γ(a)Γ(b)Γ(a+b)임을 증명하면 된다.
Γ(a)Γ(b)=∫∞0xa−1e−xdx∫∞0yb−1e−ydy=∫∞0∫∞0e−x−yxa−1yb−1dydx=∫∞0∫∞0e−txa−1(t−x)b−1dtdxby t=y+x,dt=dy=∫∞0∫∞0e−txa−1(t−x)b−1dxdt=∫∞0e−t∫∞0xa−1(t−x)b−1dxdt=∫∞0e−t∫10(tμ)a−1(t−tμ)b−1tdμdtby x=tμ,dx=tdμ=∫∞0e−tta−1tb−1t(∫10μa−1(1−μ)b−1dμ)dt=∫∞0e−tta+b−1dt∫10μa−1(1−μ)b−1dμ=Γ(a+b)∫10μa−1(1−μ)b−1dμ
따라서, ∫10μa−1(1−μ)b−1dμ=Γ(a)Γ(b)Γ(a+b)이 성립한다.
기댓값, 분산
- E[μ]=aa+b
- var[μ]=ab(a+b)2(a+b+1)
E[μ]=∫10μΓ(a+b)Γ(a)Γ(b)μa−1(1−μ)b−1dμ=Γ(a+b)Γ(a)Γ(b)∫10μa(1−μ)b−1dμ
여기서 μ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+a−1(1−μ)l+b−1∫10μm+b−1(1−μ)l+b−1dμ=μm+a−1(1−μ)l+b−1Γ(m+a)Γ(l+b)/Γ(m+a+l+b)=Γ(m+a+l+b)Γ(m+a)Γ(l+b)μm+a−1(1−μ)l+b−1
즉 사후확률은 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
'ML > ML-수학, 확률과 통계' 카테고리의 다른 글
정규화(Normalization)와 표준화(Standardization)를 하는 이유 (0) | 2022.01.05 |
---|---|
평균, 분산, 표준편차의 이야기 (0) | 2022.01.04 |
선형대수(Linear algebra)-행렬, 행렬의 곱, 성질(2) (0) | 2021.06.03 |
선형대수(Linear algebra)-행렬, 행렬의 곱, 성질(1) (0) | 2021.06.03 |
확률과 통계 - 베이즈 정리 (0) | 2021.06.02 |
댓글