2018. 1. 2. 22:01ㆍML(머신러닝)/Bayesian
빈도주의론자 입장에서는 " 귀무가설이 사실이라면 이렇게 극단적인 통계치가 발생할 확률은 3%이다"
베이지안들은 알려지지 않은 parameter를 확률변수로 보는 방법이 있다.
parameter에 대한 사전 분포로 주어지고 관측된 데이터와 베이즈 정리를 이용하여 사후정리를 갱신할 수 있다.
그래서 피라미터에 대한 확률적으로 결론을 낼 수 있다.
ex ) 동전 던지기 예시처럼 알려지지 않은 parameter가 확률이라고 가정해보자
보통 모든 확률 값은 0~1 사이에서 정의 되는 베타분포를 사전분포르 사용한다.
베타분포
https://ko.wikipedia.org/wiki/%EB%B2%A0%ED%83%80_%EB%B6%84%ED%8F%AC
import math
def B(alpha,beta) :
"모든 확률값의 합이 이 되도록 해주는 정규화 값"
return math.gamma(alpha)*math.gamma(beta)/math.gamma(alpha+beta)
def beta_pdf(x,alpha,beta):
if x<0 or x>1 :
return 0
return x**(alpha-1)*(1-x)**(beta-1) /B(alpha,beta)
alpha ,beta가 크면 클수록 분포는 더 중심으로 몰려 있다.
추천 사이트
http://datum.io/tag/%EB%B2%A0%ED%83%80%EB%B6%84%ED%8F%AC/?ckattempt=1
사전 분포(균등분포) / 데이터 관측 동전 10번 던졌는데 앞면이 3번 --> 사후 Beta(4,8
사후확률로 베타분포가 되는 것은 우연의 일치가 아니다. 동전이 앞면이 나오는 경우 이항분포를 따르고,
베타분포는 이항분포의 켤레사전분포이기 때문이다. 즉 이항분포에서 관측된 데이터로 베타분포를 따라는 사전분포를 갱신한다면
사후분포 또한 베타분포를 따르게 된다.
만약 사후분포가 Beta(4,8) 이 된다면 평균은 4/(4+8) 1/3 이 되므로 동전이 뒷면으로 살짝 편향된다는 것을 알 수 있다.
즉 처음에는 공평하다 생각했지만 뒷면으로 더 나올거라는 믿음이 생기기 시작한다.
다른 예로 Beta(30,10) 30/(10+30) 으로 앞면이 나올 확률이 75 % 로 믿었는데
관측 이후에는 Beta(33,27) 33/50=0.66이 되면서 앞면으로 75 % 믿었던 것이 66로 덜 강하게 믿는다라고 할 수 있다.
결론적으로는 계속 하다보면 사전분포는 점점 의미가 없지고 사전분포에 상관없이 사후분포가 계산될 것이다.
'ML(머신러닝) > Bayesian' 카테고리의 다른 글
BLiTZ — A Bayesian Neural Network LSTM 으로 주가 예측 해보기 (3) | 2020.04.19 |
---|---|
BLiTZ — A Bayesian Neural Network 해보기 (0) | 2020.04.11 |
(개인 공부) Markov Chain 정의 도박사 파산의 예시 및 다른 예시 (0) | 2020.03.29 |
Credible Interval(신용구간) , Confidence Interval(신뢰구간) 차이 (0) | 2019.11.11 |
Bayesian 가우시안 기저 모형을 활용한 Linear 예측(R) (0) | 2019.03.26 |