SlideShare a Scribd company logo
1 of 17
Download to read offline
1.
2.
3.
3 Generative models for discrete data
3.1 Introduction
3.2 Bayesian concept learning
3.2.1 Likelihood
3.2.2 Prior
3.2.3 Posterior
3.2.4 Posterior predictive distribution
3.3 The beta-binomial model
* 다른 문제에 대한 generative model
3.3.1 Likelihood
3.3.2 Prior
3.3.3 Posterior
3.3.4 Posterior predictive distribution
3.4 The Dirichlet-multinomial model
3.4.1 Likelihood
3.4.2 Prior
3.4.3 Posterior
3.4.4 Posterior Predictive
3.4.4.1 Worked example: language models using bag of words
3.5 Naive Bayes classifiers
3.5.2 Using the model for prediction
3.5.5 Classifying documents using bag of words (example)
3.5.1.2 Bayesian naive Bayes
3.1 Introduction
데이터와 모델의 파라메터가 주어졌을 때 분류하는 문제에 대한 chapter
Generative라는 의미는 p(x|y)를 어떤 분포로 가정하기 때문에 feature vector x를 생성해 낼 수 있다는 의미
discrete data 이라는 의미는 p(x|y)의 분포를 베르누이, multinomial같은 이산 분포로 가정한다는 의미(c.f Gaussian 분포) 
bayesian rule에 의해서 분류를 함
               
         
3.2 Bayesian concept learning
Number game
      "소수" 또는 "1에서 10사이의 정수" 같은 산술 개념 C을 하나 고른다 
       C에서 N개의 숫자 Unable to render content due to system error: java.lang.ClassCastException:
를 뽑아서 사람A에게com.stepstonetech.confluence.plugins.latex.LatexMacro cannot be cast to com.atlassian.renderer.v2.macro.Macro
보여준다 (1에서 100사이의 숫자로 한정)
      사람 A한테 숫자 하나 Unable to render content due to system error: java.lang.ClassCastException:
더 보여준 후 D의 컨셉com.stepstonetech.confluence.plugins.latex.LatexMacro cannot be cast to com.atlassian.renderer.v2.macro.Macro
C와 일치하냐고 묻는다
posterior predictive distribution: 데이터 D를 보고 컨셉 C를 유추한 후, 새로운 x가 컨셉 C에 맞을 확률을 의미
그림 설명
컨셉 C에 맞는 숫자 4개 D=[16, 8, 2, 64] 를 보여준 후 0~100까지 모든 숫자 x에 대해서 posterior predictive distribution를 histogram으로
표시
왜 이렇게 도출됐는지에 대한 자세한 설명은 뒤에
용어
hypothesis space of concepts, H,* e.g. odd numbers, even numbers, all numbers between 1 and 100,
version space The subset of H that is consistent with the data D 
3.2.1 Likelihood
가설이 주어졌을 때, 보여준 숫자가 어떠한 확률로 일어날 수 있느냐에 대한 수치를 likelihood p(D|h)라 한다
뽑힌 숫자 간에는 독립이라는 가정은 있음
예를 들어 다음과 같이 보여준 숫자가 있을 때
 
p(16|h_two) = 1/6 //왜냐하면 100이하 숫자 중 2의 승인 수는 2,4,8,16,32,64의 6개이다.
p(16|h_even) = 1/50
 
 //p(16|h_two)*p(8|h_two)*p(2|h_two)*p(64|h_two)
3.2.2 Prior
가설에 대한 확률을 사전적인 믿음으로 적용한다
그림 설명
각 가설에 대해서 그럴듯한 것은 많은 prior 믿음을 주고, 자연스럽지 못한 것은 낮은 prior를 설정했다.
32를 제외한 2의 powers 같은 경우 자연스럽지 않으므로 낮은 prior를 설정한다.
3.2.3 Posterior
데이터가 주어졌을 때 prior에서 업데이트된 가설 h의 분포
 : 모든 데이터가 가설 h 에 포함되어 있다면 1 아니면 0
수 많은 가설 h 중 어느 가설이 가장 좋은 것인가?
likelihood와 prior를 모두 고려한 posterior가 가장 큰 가설을 고르겠다--> Maximum A Posterior 추정
          
그냥 prior 고려 없이 likelihood가 제일 큰 가설을 고르겠다(Maximum Likelihood Estimation)
           
그림 설명
 D = {16} 인 데이터를 보여준 후의 prior, likelihood, posterior
likelihood의 경우, 16에 맞지 않는 경우는 0이 되고 (power of 10 같은) 가설 공간이 큰 가설의 경우(all)에도 likelihood는 낮다
37을 포함한 2의 powers, 32을 제외한 2의 powers 같은 경우 낮은 prior 때문에 높은 likelihood에도 불구하고 posterior는 낮다.
odd 가설의 경우 likelihood가 낮아서 높은 prior에도 불구하고 posterior가 낮다
.
일반적으로, 충분한 데이터가 있다면 posterior p(h|D)는 한 점에 수렴한다(주로 MAP estimate)
그림 설명 
데이타가 많을수록 likelihood가 prior를 압도한다. 그래서 map는 mle에 수렴한다 
3.2.4 Posterior predictive distribution
posterior는 추정하고자 하는 것에 대한 우리의 내적인 믿음 상태이다.
우리의 믿음이 정당한지 테스트하는 방법은 객관적으로 관찰 가능한 값을 예측하는데 사용하는 것이다.
posterior predictive distribution
               
 // 아래 그림으로 설명
그림 설명
(right) //posterior
left : 
, 데이터가 가설에 일치하면 y  = 1(점을 찍음) 예를 들어, 4, 16, 64는 power of 4의 가설에 일치하므로 점이 찍혀 있음
이 수식의 의미는 테스트 데이터 x가 들어왔을 때 모든 가설에 대해서 데이터에 대한 일치를 posterior p(h|D)로 가중치 합한 것
D = {16} 이고 p(x = 1이 컨셉C에 맞느냐|D)를 계산한다고 하면, 1는 가설 squares, 가설 all에만 일치하므로   p(x = 1이 컨셉C에
맞느냐|D) =P(square|16)+P(all|16) 으로만 계산하면 된다.
모든 1~100까지 x에 대해서 계산한 것이 
  (posterior predictive distribution) 이다
표 설명
자주 나오는 분포 정리
K면 주사위를 n번 던지기 xi = i면이 나온 횟수 x = (2,3,2,3,2,3) // 총 15번 6면 주사위를 던져서  눈1이 2번 눈2가 3번 눈3이 2번 ... 나왔다
K면 주사위를 1번 던지기 6주사위에서 3이 나왔다면 x = (0,0,1,0,0,0)
동전을 n번 던지기 x = 앞면이 나온 횟수
동전을 1번 던지기. 앞면 x = 1, 뒷면 x =0
 
3.3 The beta-binomial model
* 다른 문제에 대한 generative model
3.3.1 Likelihood
동전 던지기 문제는 베르누이 분포를 따른다.  Unable to render content due to system error: java.lang.ClassCastException:
com.stepstonetech.confluence.plugins.latex.LatexMacro cannot be cast to com.atlassian.renderer.v2.macro.Macro
           
 
likelihood 
Unable to render content due to system error: java.lang.ClassCastException: com.stepstonetech.confluence.plugins.latex.LatexMacro
 이므로 cannot be cast to com.atlassian.renderer.v2.macro.Macro
  
 N 번 시행시 head가 나온 횟수: 
N번 시행시 tail이 나온 횟수:
데이터 N1, N0은 
를 추론하기 위해 알아야 하는 D의 모든 것이기 때문에, 데이터의 충분 통계량(sufficient statistic)이라 부른다. 수학적으로는  
즉 likelihood는 다음과 같은 이항 분포(binomial) 모양이다. (n k) 항은 θ랑 독립이기 사라져도 상관없다
3.3.2 Prior
계산을 편하게 하기 위해서 likelihood와 같은 모양으로 한다
          
 
이러한 prior의 가정 하에 posterior는 다음과 같이 계산할 수 있다. (p( ) --> p( ) 오타인듯)θ θ|D
         
prior와 posterior가 같은 형태일 때의 prior를 likelihood에 대한 conjugate prior라고 부른다.
conjugate prior는 계산과 해석이 쉽기 때문에, 널리 쓰인다.
이항 분포를 따르는 likelihood의 경우 conjugate prior는 beta 분포이다
             
prior의 parameter는  라고 부른다. hyper-parameter
3.3.3 Posterior
beta prior에 likelihood를 곱하면 다음과 같음 posterior를 얻을 수 있다.
 = 
posterior는 단지 prior의 hyper-parameters 각각에 앞면과 뒷면이 나온 횟수만 더하면 된다.
그래서 hyper-parameters를 pseudo count라고도 부른다.
그림 설명
빨간 색 선의 prior(베타 분포)가 beta분포의 파라메터 a, b의 수치에 따라 바뀌는 것을 볼 수 있다.
a=b=1일 경우 beta 분포는 uniform 분포와 같아지고 prior에 대한 아무런 정보를 주지 못하기 때문에 uninformative prior라고 부른다
(a)의 경우 week prior이기 때문에 posterior가 likelihood에 압도되었다.
(b)의 경우 strong prior이기 때문에 posterior가 likelihood와 prior의 타협선이다.
3.3.4 Posterior predictive distribution
위에서 구한 posterior 분포 하에서 한 번의 동전 던지기가 앞면이 나올 확률에 대한 예측.
동전 던지기 시도의 데이터 D가 주어지고, 다음 동전 던지기 시도에서 앞면이 나올 확률은
동전 던지기 시도의 데이터 D가 주어지고, 다음 동전 던지기 시도에서 앞면이 나올 확률은
           
           
// 증명
           데이터가 주어졌을 때 앞면이 나올 확률=모든 앞면이 나올 확률 θ에 대해서, θ을 추정한 posterior p(θ|D)로 가중치 합한 것
           즉 Posterior로 θ의 기대값을 구한 것.
           적분 계산을 하면 a/(a+b)가 나온다. 예를 들어 베타 분포의 prior가 a=b=1일 경우, 
            
           prior의 hyper-parameter가 smoothing으로 작용 add-one smoothing이라고 한다.
3.4 The Dirichlet-multinomial model
Likelihood가 multinomial 인 경우
동전 던지기를 일반화해서 K-면 주사위 던지기를 N번 던지는 문제로 확장
Latent Dirichlet Allocation에서, 사람이 문서의 토픽을 결정하는, 토픽 내에서 단어가 결정되는 분포.
LDA는 토픽이라는 latent 변수를 연결체로 주사위를 두번 던지는 문제로 볼 수 있음
문서의 첫 단어에서, 토픽 갯수-면 주사위를 한 번 던져서 토픽을 뽑고, 그 토픽에서의 단어-면 주사위를 한 번 더 던져서 단어를 뽑는다.
3.4.1 Likelihood
xi는 i번째 주사위 던지기 시도에서 나온 눈의 수
       
 where 
 
θk = k-면이 나올 확률, 모든 K에 대해서 합은 1
         
D에 대한 likelihood는 다음과 같다 (multinomial model)
         
           
 event k가 일어난 횟수(이 모델의 데이터에 대한 충분 통계량)
3.4.2 Prior
multinomial 분포의 conjugate prior 분포는 Dirichlet 분포이다.
즉 multinomial 분포의 파라메터(각 눈이 나올 확률)의 분포를 표현하는데 많이 쓰임(LDA)
즉 로 추출된 랜덤변수 벡터의 모든 원소의 합은 1이고 0보다 크다.(랜던 변수 자체가 확률 모양)x ~ Dir()
그림 설명
(a) multinomial의 파라메터들은 θ1
+θ2
 +θ3
=1 이고 0<=θ<=1 인 θ의           분포이고 왼쪽 그림에서 평면 위에 위치
(b) 평면             위에서 hyper-parameter α = (2,2,2)일 때의 θ의 분포 θ = (1/3,1/3,1/3)일 때의 확률이 가장 크다
(c) α = (20,2,2)일         때의 θ의 분포 θ1
가 큰 θ의 확률이 크다
         
3.4.3 Posterior
Dirichlet 분포인 prior에 multinomial 분포의 likelihood를 곱하면 posterior 역시 Dirichlet 분포이다
       
posterior(Dirichlet 분포)의 parameter는 prior의 hyper-parameter에 시행 데이터의 카운팅 Nk를 더한 것임을 알 수 있다.
Posterior가 최대가 되는  (즉MAP)를 미분으로 구할 수 있다. θ
          
라는 제약 조건이 있기 때문에 라그랑지 승수(Lagrange Multiplier)법을 사용한다.
          목적 함수 l(θ,λ) = logp(θ|D) +( 제약조건 페널티)를 다음과 같이 만든다
      
           제약 조건이 포함된 마지막 항은 θ가 제약에서 벗어날 때, 페널티로 작용하기 때문에 최대한 제약조건을 만족하는 θ로 최적화된다.
           
라 놓고
           각   편θ와 λ에 대해서 미분 후 0 이 되는 지점을 찾으면
         
(3.42)
           
(3.42) 
            
(3.43) 
            위의 (3.43)번 수식 양쪽에 sum을 취하면 
          
         
 where 
            (3.43) 수식에 (3.46) 수식을 대입하면
           
            uniform prior인 αk
=1을 사용한다면, α0
=K가 되어서, MLE 추정이 되어 버린다.
            
(3.48)
             k가 나올 확률 = 주사위 k가 나온 횟수/전체 시도
3.4.4 Posterior Predictive
주사위 던지기 시도인 데이터 D가 주어지고, 한 번 더  던졌을 때 j면이 나올 확률은
(3.49) 모든 parameter θ에 대해서, θ가 주어졌을 때 j면이 나올확률*θ에 대한 posterior를 더한다
(3.50) 상관없는  p(X=j| ) = P(X=j| )이고 두번째 항은 전확률 법칙에 의해 성립된다θ들은 없앤다: θ θj
(3.51) (θj
의 hyper-pameter + D에서 j면이 나온 횟수)/(θ의 hyper-pameter의 합 + 총 시도 횟수)
동전 던지기 posterior predictive와 비교
3.4.4.1 Worked example: language models using bag of words
Mary had a little lamb, little lamb, little lamb,Mary had a little lamb, its fleece as white as snow
단어를 숫자 인덱스화 해서 바꾸면,
Mary had a little lamb, little lamb, little lamb,Mary had a little lamb, its fleece as white as snow
단어들이 나온 횟수를 테이블로 만들면,
총 17번 시도의 10면 동전 던지기로 볼 수 있다. 각 Count 엔트리는 
를 의미한다.
각 단어 j가 나올 확률: θj
θ 의 prior: Dir(α)
posterior predictive(위의 데이터 D가 주어졌을 때, 다음 단어로 j가 나올 확률)
 로 셋팅하면,
 로 셋팅하면,
lamb, little, unk가 나올 확률이 제일 높다
3.5 Naive Bayes classifiers
discrete-valued feature vector 
을 분류하는 법에 대해서 다룬다.
          K는 각 feature에 할당될 수 있는 값의 갯수, 1에서 10까지 정수가 나올 수 있다면 K = 10
          D는 feature의 수
다음과 같은 조건부 독립(conditionally independent)를 가정한다  
       
          feature vector의 class conditional probability는 각 feature의 class conditional probability의 단순 곱이다
          class 가 주어졌을 때 각 feature간에는 독립이다. 예를 들어 각 문서의 단어를 feature라고 하면 각 단어들 사이에는 독립이다
          위의 모델을 naive Bayes classifier(NBC)라 한다. 
실제 세계에는 잘 안맞는 가정이기 때문에 naive라고 이름 붙여졌지만 모델의 간단함 때문에 overfitiing에 대한 내성이 있기 때문에 여러
도메인에서 좋은 성능을 보이고 있다. 
각 class의 feature vector들이 정규 분포를 따른다면,
            
            D는 피쳐의 수
            μjc는 c에 속한 feature j의 평균
            σ는 위의 분산
각 class의 feature vector들이 Bernoulli를 따른다면, 
          
            μjc는  feature j가  class c에서 발생(1이 될)할 확률
각 class의 feature vector들이 multinoulli를 따른다면(
 ),
          
 
3.5.1 Model fitting
MLE
하나의 (feature vector xi, class yi) 쌍에 대한 확률은 다음과 같다:
//p(x,y) = p(x|y)p(y) , p(xij| )가 아니라 p(xij|yi, ) 싶은데??θj θj
                     
//p(y)는 multinuilli 분포, 두번째 파이는 조건부 독립 조건에 의해서
이므로,  위의 식에 log를 취하면
likelihood에서분류 카테고리 class c의 분포는 앞에서 다루었던 multinomial 분포와 같고, MLE 추정은 다음과 같다(식 3.56를 pi      에 대해서 미분 후
    )0으로 셋팅하고 정리
그리고, 각 class 별, feature vector의 분포를 베르누이 분포라고 가정하면(
), 
각 클래스 c의 j번째 feature가 1될 확률은 다음과 같이 추정할 수 있다(식 3.56를  )θ에 대해서 미분 후 0으로 셋팅하고 정리
즉, class c로 분류된 feature vector들 중 j번째 feature가 1이 된 횟수/class c가 나온 전체 feature vector들의 갯수
3.5.2 Using the model for prediction
위와 같은 NBC의 parameter π, θ의 fitting(학습) 과정 후, 새로운 테스트 feature vector x 하나에 대한 분류는 다음과 같이 한다.
//p(y)p( |y) , 파라메터들은 섹션 3.5.1에서 fiting됨x
다음 예제에서 자세히
3.5.5 Classifying documents using bag of words (example)
문서를 binary vector로 표현한다. 즉 문서 i에 단어 j가 등장했다면 xij = 1
class conditional density를 다음과 같이 표현할 수 있다.
traiining 문서
문서1 (a b)->(1,1,0),class1 
문서2 (b c)->(0,1,1),class2
test 문서
문서3 (c)->(0,1,1),?
Fitting
Predict
p(class1|(0,1,1))   p(class1)p((0,1,1)|class1) = 0.5*p(a=0|class1)p(b=1|class1)p(c=1|class1)= 0.5*{0*1*0} = 0α
p(class2|(0,1,1))   p(class2)p((0,1,1)|class2) = 0.5*p(a=0|class2)p(b=1|class2)p(c=1|class2)= 0.5*1*1*1 = 0.5α
두번째 것이 더 크므로 class2로 분류 
3.5.1.2 Bayesian naive Bayes
위의 예제는 MLE 추정이 overfittinf이 일어날 수 있음을 보여준다
b 단어는 2개의 클래스 모두에 나타나기 때문에, 만약 b라는 단어가 없는 테스트 문서가 들어왔을 경우, 두개의 클래스 모두에서 예측은
0이 되어 버림
이러한 문제를 해결하기 위한 방법은 bayesain이 되는 것이다.
나이브 베이즈의 파라메터(π,θ) 에 대해서 다음과 같은 prior를 설정한다고 생각하자
π ~ Dir( )α
θjc ~ Beta(β0,β1)
다음과 같이 나이브 베이즈의 파라메터의 posterior를 구할 수 있다.
====================================================================
복습
  =  
====================================================================
나이브 베이즈의 예측 수식은 
전 확률 법칙과 x의 분포(multinomail) y의 분포(베르누이)에 의해서 
// Ber(xj|y=c,θjc) = p(x|y,θjc)
posterior predictive density는 단순히 parameter의 기대값을 파라메터로 쓰면 된다. 즉
=====================================================================
복습
Multi-Dirichlet model
bin-beta model 
=====================================================================
복습에 의해서, 각 파라메터의 값은 다음과 같이 계산할 수 있다
살펴보면, 파라메터 추정치의 분자와 분모에 prior의 hyper-parameter 값들이 더해지기 때문에, 앞서 예제와 같은 overfitting문제가 완화될 것이라고
기대할 수 있다
즉, laplace smoothing이라고 알려져 있는 수식이 bayesian에서 유도(사실 수식 먼저 개발하고 껴 맞춘 거일수도 있고...)
세줄 요약
Bayesian이 붙는 건 NB paramter(pi,theta)의 분포까지 추정하겠다는 것 = NB paramter의 posterior를 알고 싶다는것
결과적으로 다음 pi의 posterior는 Dirichlet 분포를 따르고, theta는 Beta 분포를 따른다
NB paramter의 분포까지 알았고 예측을 할때는,파라메터의 특정 추정값이 필요한데, 이제 분포를 다 알기 때문에 그걸을 MLE나 MAP이
아닌 더 좋은 파라메터의 기대값을 사용

More Related Content

What's hot

Murpy's Machine Learing: 10. Directed Graphical Model
Murpy's Machine Learing: 10. Directed Graphical ModelMurpy's Machine Learing: 10. Directed Graphical Model
Murpy's Machine Learing: 10. Directed Graphical ModelJungkyu Lee
 
머피's 머신러닝: Latent Linear Model
머피's 머신러닝: Latent Linear Model머피's 머신러닝: Latent Linear Model
머피's 머신러닝: Latent Linear ModelJungkyu Lee
 
머피의 머신러닝: Undirencted Graphical Model
머피의 머신러닝: Undirencted Graphical Model머피의 머신러닝: Undirencted Graphical Model
머피의 머신러닝: Undirencted Graphical ModelJungkyu Lee
 
제어-물리적시스템의 수학적모델링
제어-물리적시스템의 수학적모델링제어-물리적시스템의 수학적모델링
제어-물리적시스템의 수학적모델링jdo
 
Efficient linear skyline algorithm in two dimensional space
Efficient linear skyline algorithm in two dimensional spaceEfficient linear skyline algorithm in two dimensional space
Efficient linear skyline algorithm in two dimensional space희수 박
 
2012 Dm A0 02 Pdf
2012 Dm A0 02 Pdf2012 Dm A0 02 Pdf
2012 Dm A0 02 Pdfkd19h
 
Code로 이해하는 RNN
Code로 이해하는 RNNCode로 이해하는 RNN
Code로 이해하는 RNNSANG WON PARK
 
Lecture 3: Unsupervised Learning
Lecture 3: Unsupervised LearningLecture 3: Unsupervised Learning
Lecture 3: Unsupervised LearningSang Jun Lee
 
Rnn개념정리
Rnn개념정리Rnn개념정리
Rnn개념정리종현 최
 
Wasserstein GAN 수학 이해하기 I
Wasserstein GAN 수학 이해하기 IWasserstein GAN 수학 이해하기 I
Wasserstein GAN 수학 이해하기 ISungbin Lim
 
밑바닥부터시작하는딥러닝 Ch05
밑바닥부터시작하는딥러닝 Ch05밑바닥부터시작하는딥러닝 Ch05
밑바닥부터시작하는딥러닝 Ch05HyeonSeok Choi
 
Recurrent Neural Net의 이론과 설명
Recurrent Neural Net의 이론과 설명Recurrent Neural Net의 이론과 설명
Recurrent Neural Net의 이론과 설명홍배 김
 
Chapter 19 Variational Inference
Chapter 19 Variational InferenceChapter 19 Variational Inference
Chapter 19 Variational InferenceKyeongUkJang
 
Lecture 4: Neural Networks I
Lecture 4: Neural Networks ILecture 4: Neural Networks I
Lecture 4: Neural Networks ISang Jun Lee
 
Gaussian Mixture Model
Gaussian Mixture ModelGaussian Mixture Model
Gaussian Mixture ModelKyeongUkJang
 
자료구조1보고서
자료구조1보고서자료구조1보고서
자료구조1보고서KimChangHoen
 
Flow based generative models
Flow based generative modelsFlow based generative models
Flow based generative models수철 박
 

What's hot (20)

Murpy's Machine Learing: 10. Directed Graphical Model
Murpy's Machine Learing: 10. Directed Graphical ModelMurpy's Machine Learing: 10. Directed Graphical Model
Murpy's Machine Learing: 10. Directed Graphical Model
 
머피's 머신러닝: Latent Linear Model
머피's 머신러닝: Latent Linear Model머피's 머신러닝: Latent Linear Model
머피's 머신러닝: Latent Linear Model
 
머피의 머신러닝: Undirencted Graphical Model
머피의 머신러닝: Undirencted Graphical Model머피의 머신러닝: Undirencted Graphical Model
머피의 머신러닝: Undirencted Graphical Model
 
제어-물리적시스템의 수학적모델링
제어-물리적시스템의 수학적모델링제어-물리적시스템의 수학적모델링
제어-물리적시스템의 수학적모델링
 
Efficient linear skyline algorithm in two dimensional space
Efficient linear skyline algorithm in two dimensional spaceEfficient linear skyline algorithm in two dimensional space
Efficient linear skyline algorithm in two dimensional space
 
이산치2번
이산치2번이산치2번
이산치2번
 
2012 Dm A0 02 Pdf
2012 Dm A0 02 Pdf2012 Dm A0 02 Pdf
2012 Dm A0 02 Pdf
 
Code로 이해하는 RNN
Code로 이해하는 RNNCode로 이해하는 RNN
Code로 이해하는 RNN
 
Lecture 3: Unsupervised Learning
Lecture 3: Unsupervised LearningLecture 3: Unsupervised Learning
Lecture 3: Unsupervised Learning
 
Rnn개념정리
Rnn개념정리Rnn개념정리
Rnn개념정리
 
Wasserstein GAN 수학 이해하기 I
Wasserstein GAN 수학 이해하기 IWasserstein GAN 수학 이해하기 I
Wasserstein GAN 수학 이해하기 I
 
밑바닥부터시작하는딥러닝 Ch05
밑바닥부터시작하는딥러닝 Ch05밑바닥부터시작하는딥러닝 Ch05
밑바닥부터시작하는딥러닝 Ch05
 
Gmm to vgmm
Gmm to vgmmGmm to vgmm
Gmm to vgmm
 
Recurrent Neural Net의 이론과 설명
Recurrent Neural Net의 이론과 설명Recurrent Neural Net의 이론과 설명
Recurrent Neural Net의 이론과 설명
 
Variational AutoEncoder(VAE)
Variational AutoEncoder(VAE)Variational AutoEncoder(VAE)
Variational AutoEncoder(VAE)
 
Chapter 19 Variational Inference
Chapter 19 Variational InferenceChapter 19 Variational Inference
Chapter 19 Variational Inference
 
Lecture 4: Neural Networks I
Lecture 4: Neural Networks ILecture 4: Neural Networks I
Lecture 4: Neural Networks I
 
Gaussian Mixture Model
Gaussian Mixture ModelGaussian Mixture Model
Gaussian Mixture Model
 
자료구조1보고서
자료구조1보고서자료구조1보고서
자료구조1보고서
 
Flow based generative models
Flow based generative modelsFlow based generative models
Flow based generative models
 

Similar to 3 Generative models for discrete data

1.3장 차수 높은 프로시저(higher order procedure)로 요약하는 방법
1.3장 차수 높은 프로시저(higher order procedure)로 요약하는 방법1.3장 차수 높은 프로시저(higher order procedure)로 요약하는 방법
1.3장 차수 높은 프로시저(higher order procedure)로 요약하는 방법홍준 김
 
RUCK 2017 베이즈 모형의 꽃 - 계층 모형
RUCK 2017 베이즈 모형의 꽃 - 계층 모형RUCK 2017 베이즈 모형의 꽃 - 계층 모형
RUCK 2017 베이즈 모형의 꽃 - 계층 모형r-kor
 
Kooc ch1 _suman
Kooc ch1 _sumanKooc ch1 _suman
Kooc ch1 _sumansuman_lim
 
01.r 기초 확률분포
01.r 기초   확률분포01.r 기초   확률분포
01.r 기초 확률분포Yoonwhan Lee
 
Probability with MLE, MAP
Probability with MLE, MAPProbability with MLE, MAP
Probability with MLE, MAPJunho Lee
 
Mathematical Structures for CS [Chapter3]456
Mathematical Structures for CS [Chapter3]456Mathematical Structures for CS [Chapter3]456
Mathematical Structures for CS [Chapter3]456codevania
 
패턴인식-베이즈결정이론기반 분류기 part1
패턴인식-베이즈결정이론기반 분류기 part1패턴인식-베이즈결정이론기반 분류기 part1
패턴인식-베이즈결정이론기반 분류기 part1jdo
 
확률 통계 (파이썬)
확률 통계 (파이썬)확률 통계 (파이썬)
확률 통계 (파이썬)Yong Joon Moon
 
패턴 인식 2 classifiers based on bayes decision theory part 1
패턴 인식 2 classifiers based on bayes decision theory part 1패턴 인식 2 classifiers based on bayes decision theory part 1
패턴 인식 2 classifiers based on bayes decision theory part 1jdo
 
python 수학이해하기
python 수학이해하기python 수학이해하기
python 수학이해하기Yong Joon Moon
 
제4강 명제와 논리-정보
제4강 명제와 논리-정보제4강 명제와 논리-정보
제4강 명제와 논리-정보csungwoo
 
Adversarial Attack in Neural Machine Translation
Adversarial Attack in Neural Machine TranslationAdversarial Attack in Neural Machine Translation
Adversarial Attack in Neural Machine TranslationHyunKyu Jeon
 
부울 대수와 컴퓨터 논리
부울 대수와 컴퓨터 논리부울 대수와 컴퓨터 논리
부울 대수와 컴퓨터 논리suitzero
 
[Tf2017] day3 jwkang_pub
[Tf2017] day3 jwkang_pub[Tf2017] day3 jwkang_pub
[Tf2017] day3 jwkang_pubJaewook. Kang
 
지도 학습, 함수 근사와 최적화 문제: 데이터는 우악하니 데이터 사이언스라도 우아하게
지도 학습, 함수 근사와 최적화 문제: 데이터는 우악하니 데이터 사이언스라도 우아하게지도 학습, 함수 근사와 최적화 문제: 데이터는 우악하니 데이터 사이언스라도 우아하게
지도 학습, 함수 근사와 최적화 문제: 데이터는 우악하니 데이터 사이언스라도 우아하게Young-Geun Choi
 
확률변수와 분포함수
확률변수와 분포함수확률변수와 분포함수
확률변수와 분포함수Yoonwhan Lee
 
2.supervised learning
2.supervised learning2.supervised learning
2.supervised learningHaesun Park
 

Similar to 3 Generative models for discrete data (20)

1.3장 차수 높은 프로시저(higher order procedure)로 요약하는 방법
1.3장 차수 높은 프로시저(higher order procedure)로 요약하는 방법1.3장 차수 높은 프로시저(higher order procedure)로 요약하는 방법
1.3장 차수 높은 프로시저(higher order procedure)로 요약하는 방법
 
RUCK 2017 베이즈 모형의 꽃 - 계층 모형
RUCK 2017 베이즈 모형의 꽃 - 계층 모형RUCK 2017 베이즈 모형의 꽃 - 계층 모형
RUCK 2017 베이즈 모형의 꽃 - 계층 모형
 
Tda jisu kim
Tda jisu kimTda jisu kim
Tda jisu kim
 
Kooc ch1 _suman
Kooc ch1 _sumanKooc ch1 _suman
Kooc ch1 _suman
 
01.r 기초 확률분포
01.r 기초   확률분포01.r 기초   확률분포
01.r 기초 확률분포
 
Probability with MLE, MAP
Probability with MLE, MAPProbability with MLE, MAP
Probability with MLE, MAP
 
Mathematical Structures for CS [Chapter3]456
Mathematical Structures for CS [Chapter3]456Mathematical Structures for CS [Chapter3]456
Mathematical Structures for CS [Chapter3]456
 
패턴인식-베이즈결정이론기반 분류기 part1
패턴인식-베이즈결정이론기반 분류기 part1패턴인식-베이즈결정이론기반 분류기 part1
패턴인식-베이즈결정이론기반 분류기 part1
 
확률 통계 (파이썬)
확률 통계 (파이썬)확률 통계 (파이썬)
확률 통계 (파이썬)
 
패턴 인식 2 classifiers based on bayes decision theory part 1
패턴 인식 2 classifiers based on bayes decision theory part 1패턴 인식 2 classifiers based on bayes decision theory part 1
패턴 인식 2 classifiers based on bayes decision theory part 1
 
python 수학이해하기
python 수학이해하기python 수학이해하기
python 수학이해하기
 
제4강 명제와 논리-정보
제4강 명제와 논리-정보제4강 명제와 논리-정보
제4강 명제와 논리-정보
 
Adversarial Attack in Neural Machine Translation
Adversarial Attack in Neural Machine TranslationAdversarial Attack in Neural Machine Translation
Adversarial Attack in Neural Machine Translation
 
부울 대수와 컴퓨터 논리
부울 대수와 컴퓨터 논리부울 대수와 컴퓨터 논리
부울 대수와 컴퓨터 논리
 
[Tf2017] day3 jwkang_pub
[Tf2017] day3 jwkang_pub[Tf2017] day3 jwkang_pub
[Tf2017] day3 jwkang_pub
 
지도 학습, 함수 근사와 최적화 문제: 데이터는 우악하니 데이터 사이언스라도 우아하게
지도 학습, 함수 근사와 최적화 문제: 데이터는 우악하니 데이터 사이언스라도 우아하게지도 학습, 함수 근사와 최적화 문제: 데이터는 우악하니 데이터 사이언스라도 우아하게
지도 학습, 함수 근사와 최적화 문제: 데이터는 우악하니 데이터 사이언스라도 우아하게
 
확률변수와 분포함수
확률변수와 분포함수확률변수와 분포함수
확률변수와 분포함수
 
Topic models
Topic modelsTopic models
Topic models
 
Taocp 1 2-2
Taocp 1 2-2Taocp 1 2-2
Taocp 1 2-2
 
2.supervised learning
2.supervised learning2.supervised learning
2.supervised learning
 

More from Jungkyu Lee

4. Gaussian Model
4. Gaussian Model4. Gaussian Model
4. Gaussian ModelJungkyu Lee
 
From A Neural Probalistic Language Model to Word2vec
From A Neural Probalistic Language Model to Word2vecFrom A Neural Probalistic Language Model to Word2vec
From A Neural Probalistic Language Model to Word2vecJungkyu Lee
 
머피의 머신러닝: 17장 Markov Chain and HMM
머피의 머신러닝: 17장  Markov Chain and HMM머피의 머신러닝: 17장  Markov Chain and HMM
머피의 머신러닝: 17장 Markov Chain and HMMJungkyu Lee
 
Murpy's Machine Learning:14. Kernel
Murpy's Machine Learning:14. KernelMurpy's Machine Learning:14. Kernel
Murpy's Machine Learning:14. KernelJungkyu Lee
 
머피의 머신러닝 13 Sparse Linear Model
머피의 머신러닝 13 Sparse Linear Model머피의 머신러닝 13 Sparse Linear Model
머피의 머신러닝 13 Sparse Linear ModelJungkyu Lee
 
파이널 판타지 3 루트 공략
파이널 판타지 3 루트 공략파이널 판타지 3 루트 공략
파이널 판타지 3 루트 공략Jungkyu Lee
 
1. boolean 검색
1. boolean 검색1. boolean 검색
1. boolean 검색Jungkyu Lee
 
ThinkBayes: chapter 13  simulation
ThinkBayes: chapter 13  simulationThinkBayes: chapter 13  simulation
ThinkBayes: chapter 13  simulationJungkyu Lee
 
ThinkBayes: Chapter 9 two_dimensions
ThinkBayes: Chapter 9 two_dimensionsThinkBayes: Chapter 9 two_dimensions
ThinkBayes: Chapter 9 two_dimensionsJungkyu Lee
 
Jensen's inequality, EM 알고리즘
Jensen's inequality, EM 알고리즘 Jensen's inequality, EM 알고리즘
Jensen's inequality, EM 알고리즘 Jungkyu Lee
 
앙상블 학습 기반의 추천시스템 개발
앙상블 학습 기반의 추천시스템 개발앙상블 학습 기반의 추천시스템 개발
앙상블 학습 기반의 추천시스템 개발Jungkyu Lee
 
TETRIS AI WITH REINFORCEMENT LEARNING
TETRIS AI WITH REINFORCEMENT LEARNINGTETRIS AI WITH REINFORCEMENT LEARNING
TETRIS AI WITH REINFORCEMENT LEARNINGJungkyu Lee
 

More from Jungkyu Lee (12)

4. Gaussian Model
4. Gaussian Model4. Gaussian Model
4. Gaussian Model
 
From A Neural Probalistic Language Model to Word2vec
From A Neural Probalistic Language Model to Word2vecFrom A Neural Probalistic Language Model to Word2vec
From A Neural Probalistic Language Model to Word2vec
 
머피의 머신러닝: 17장 Markov Chain and HMM
머피의 머신러닝: 17장  Markov Chain and HMM머피의 머신러닝: 17장  Markov Chain and HMM
머피의 머신러닝: 17장 Markov Chain and HMM
 
Murpy's Machine Learning:14. Kernel
Murpy's Machine Learning:14. KernelMurpy's Machine Learning:14. Kernel
Murpy's Machine Learning:14. Kernel
 
머피의 머신러닝 13 Sparse Linear Model
머피의 머신러닝 13 Sparse Linear Model머피의 머신러닝 13 Sparse Linear Model
머피의 머신러닝 13 Sparse Linear Model
 
파이널 판타지 3 루트 공략
파이널 판타지 3 루트 공략파이널 판타지 3 루트 공략
파이널 판타지 3 루트 공략
 
1. boolean 검색
1. boolean 검색1. boolean 검색
1. boolean 검색
 
ThinkBayes: chapter 13  simulation
ThinkBayes: chapter 13  simulationThinkBayes: chapter 13  simulation
ThinkBayes: chapter 13  simulation
 
ThinkBayes: Chapter 9 two_dimensions
ThinkBayes: Chapter 9 two_dimensionsThinkBayes: Chapter 9 two_dimensions
ThinkBayes: Chapter 9 two_dimensions
 
Jensen's inequality, EM 알고리즘
Jensen's inequality, EM 알고리즘 Jensen's inequality, EM 알고리즘
Jensen's inequality, EM 알고리즘
 
앙상블 학습 기반의 추천시스템 개발
앙상블 학습 기반의 추천시스템 개발앙상블 학습 기반의 추천시스템 개발
앙상블 학습 기반의 추천시스템 개발
 
TETRIS AI WITH REINFORCEMENT LEARNING
TETRIS AI WITH REINFORCEMENT LEARNINGTETRIS AI WITH REINFORCEMENT LEARNING
TETRIS AI WITH REINFORCEMENT LEARNING
 

Recently uploaded

JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP Korea
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP Korea
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화JMP Korea
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP Korea
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석JMP Korea
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?Jay Park
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP Korea
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법JMP Korea
 

Recently uploaded (8)

JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 

3 Generative models for discrete data

  • 1. 1. 2. 3. 3 Generative models for discrete data 3.1 Introduction 3.2 Bayesian concept learning 3.2.1 Likelihood 3.2.2 Prior 3.2.3 Posterior 3.2.4 Posterior predictive distribution 3.3 The beta-binomial model * 다른 문제에 대한 generative model 3.3.1 Likelihood 3.3.2 Prior 3.3.3 Posterior 3.3.4 Posterior predictive distribution 3.4 The Dirichlet-multinomial model 3.4.1 Likelihood 3.4.2 Prior 3.4.3 Posterior 3.4.4 Posterior Predictive 3.4.4.1 Worked example: language models using bag of words 3.5 Naive Bayes classifiers 3.5.2 Using the model for prediction 3.5.5 Classifying documents using bag of words (example) 3.5.1.2 Bayesian naive Bayes 3.1 Introduction 데이터와 모델의 파라메터가 주어졌을 때 분류하는 문제에 대한 chapter Generative라는 의미는 p(x|y)를 어떤 분포로 가정하기 때문에 feature vector x를 생성해 낼 수 있다는 의미 discrete data 이라는 의미는 p(x|y)의 분포를 베르누이, multinomial같은 이산 분포로 가정한다는 의미(c.f Gaussian 분포)  bayesian rule에 의해서 분류를 함                           3.2 Bayesian concept learning Number game       "소수" 또는 "1에서 10사이의 정수" 같은 산술 개념 C을 하나 고른다         C에서 N개의 숫자 Unable to render content due to system error: java.lang.ClassCastException: 를 뽑아서 사람A에게com.stepstonetech.confluence.plugins.latex.LatexMacro cannot be cast to com.atlassian.renderer.v2.macro.Macro 보여준다 (1에서 100사이의 숫자로 한정)       사람 A한테 숫자 하나 Unable to render content due to system error: java.lang.ClassCastException: 더 보여준 후 D의 컨셉com.stepstonetech.confluence.plugins.latex.LatexMacro cannot be cast to com.atlassian.renderer.v2.macro.Macro C와 일치하냐고 묻는다 posterior predictive distribution: 데이터 D를 보고 컨셉 C를 유추한 후, 새로운 x가 컨셉 C에 맞을 확률을 의미 그림 설명 컨셉 C에 맞는 숫자 4개 D=[16, 8, 2, 64] 를 보여준 후 0~100까지 모든 숫자 x에 대해서 posterior predictive distribution를 histogram으로 표시 왜 이렇게 도출됐는지에 대한 자세한 설명은 뒤에
  • 2. 용어 hypothesis space of concepts, H,* e.g. odd numbers, even numbers, all numbers between 1 and 100, version space The subset of H that is consistent with the data D  3.2.1 Likelihood 가설이 주어졌을 때, 보여준 숫자가 어떠한 확률로 일어날 수 있느냐에 대한 수치를 likelihood p(D|h)라 한다 뽑힌 숫자 간에는 독립이라는 가정은 있음 예를 들어 다음과 같이 보여준 숫자가 있을 때   p(16|h_two) = 1/6 //왜냐하면 100이하 숫자 중 2의 승인 수는 2,4,8,16,32,64의 6개이다. p(16|h_even) = 1/50    //p(16|h_two)*p(8|h_two)*p(2|h_two)*p(64|h_two) 3.2.2 Prior 가설에 대한 확률을 사전적인 믿음으로 적용한다 그림 설명 각 가설에 대해서 그럴듯한 것은 많은 prior 믿음을 주고, 자연스럽지 못한 것은 낮은 prior를 설정했다. 32를 제외한 2의 powers 같은 경우 자연스럽지 않으므로 낮은 prior를 설정한다.
  • 3. 3.2.3 Posterior 데이터가 주어졌을 때 prior에서 업데이트된 가설 h의 분포  : 모든 데이터가 가설 h 에 포함되어 있다면 1 아니면 0 수 많은 가설 h 중 어느 가설이 가장 좋은 것인가? likelihood와 prior를 모두 고려한 posterior가 가장 큰 가설을 고르겠다--> Maximum A Posterior 추정           
  • 4. 그냥 prior 고려 없이 likelihood가 제일 큰 가설을 고르겠다(Maximum Likelihood Estimation)             그림 설명  D = {16} 인 데이터를 보여준 후의 prior, likelihood, posterior likelihood의 경우, 16에 맞지 않는 경우는 0이 되고 (power of 10 같은) 가설 공간이 큰 가설의 경우(all)에도 likelihood는 낮다 37을 포함한 2의 powers, 32을 제외한 2의 powers 같은 경우 낮은 prior 때문에 높은 likelihood에도 불구하고 posterior는 낮다. odd 가설의 경우 likelihood가 낮아서 높은 prior에도 불구하고 posterior가 낮다 . 일반적으로, 충분한 데이터가 있다면 posterior p(h|D)는 한 점에 수렴한다(주로 MAP estimate) 그림 설명  데이타가 많을수록 likelihood가 prior를 압도한다. 그래서 map는 mle에 수렴한다 
  • 5. 3.2.4 Posterior predictive distribution posterior는 추정하고자 하는 것에 대한 우리의 내적인 믿음 상태이다. 우리의 믿음이 정당한지 테스트하는 방법은 객관적으로 관찰 가능한 값을 예측하는데 사용하는 것이다. posterior predictive distribution                  // 아래 그림으로 설명 그림 설명
  • 6. (right) //posterior left :  , 데이터가 가설에 일치하면 y  = 1(점을 찍음) 예를 들어, 4, 16, 64는 power of 4의 가설에 일치하므로 점이 찍혀 있음 이 수식의 의미는 테스트 데이터 x가 들어왔을 때 모든 가설에 대해서 데이터에 대한 일치를 posterior p(h|D)로 가중치 합한 것 D = {16} 이고 p(x = 1이 컨셉C에 맞느냐|D)를 계산한다고 하면, 1는 가설 squares, 가설 all에만 일치하므로   p(x = 1이 컨셉C에 맞느냐|D) =P(square|16)+P(all|16) 으로만 계산하면 된다. 모든 1~100까지 x에 대해서 계산한 것이    (posterior predictive distribution) 이다 표 설명 자주 나오는 분포 정리 K면 주사위를 n번 던지기 xi = i면이 나온 횟수 x = (2,3,2,3,2,3) // 총 15번 6면 주사위를 던져서  눈1이 2번 눈2가 3번 눈3이 2번 ... 나왔다 K면 주사위를 1번 던지기 6주사위에서 3이 나왔다면 x = (0,0,1,0,0,0) 동전을 n번 던지기 x = 앞면이 나온 횟수 동전을 1번 던지기. 앞면 x = 1, 뒷면 x =0
  • 7.   3.3 The beta-binomial model * 다른 문제에 대한 generative model 3.3.1 Likelihood 동전 던지기 문제는 베르누이 분포를 따른다.  Unable to render content due to system error: java.lang.ClassCastException: com.stepstonetech.confluence.plugins.latex.LatexMacro cannot be cast to com.atlassian.renderer.v2.macro.Macro               likelihood  Unable to render content due to system error: java.lang.ClassCastException: com.stepstonetech.confluence.plugins.latex.LatexMacro  이므로 cannot be cast to com.atlassian.renderer.v2.macro.Macro     N 번 시행시 head가 나온 횟수:  N번 시행시 tail이 나온 횟수: 데이터 N1, N0은  를 추론하기 위해 알아야 하는 D의 모든 것이기 때문에, 데이터의 충분 통계량(sufficient statistic)이라 부른다. 수학적으로는   즉 likelihood는 다음과 같은 이항 분포(binomial) 모양이다. (n k) 항은 θ랑 독립이기 사라져도 상관없다 3.3.2 Prior 계산을 편하게 하기 위해서 likelihood와 같은 모양으로 한다           
  • 8.   이러한 prior의 가정 하에 posterior는 다음과 같이 계산할 수 있다. (p( ) --> p( ) 오타인듯)θ θ|D           prior와 posterior가 같은 형태일 때의 prior를 likelihood에 대한 conjugate prior라고 부른다. conjugate prior는 계산과 해석이 쉽기 때문에, 널리 쓰인다. 이항 분포를 따르는 likelihood의 경우 conjugate prior는 beta 분포이다               prior의 parameter는  라고 부른다. hyper-parameter 3.3.3 Posterior beta prior에 likelihood를 곱하면 다음과 같음 posterior를 얻을 수 있다.  =  posterior는 단지 prior의 hyper-parameters 각각에 앞면과 뒷면이 나온 횟수만 더하면 된다. 그래서 hyper-parameters를 pseudo count라고도 부른다. 그림 설명 빨간 색 선의 prior(베타 분포)가 beta분포의 파라메터 a, b의 수치에 따라 바뀌는 것을 볼 수 있다. a=b=1일 경우 beta 분포는 uniform 분포와 같아지고 prior에 대한 아무런 정보를 주지 못하기 때문에 uninformative prior라고 부른다 (a)의 경우 week prior이기 때문에 posterior가 likelihood에 압도되었다. (b)의 경우 strong prior이기 때문에 posterior가 likelihood와 prior의 타협선이다. 3.3.4 Posterior predictive distribution 위에서 구한 posterior 분포 하에서 한 번의 동전 던지기가 앞면이 나올 확률에 대한 예측. 동전 던지기 시도의 데이터 D가 주어지고, 다음 동전 던지기 시도에서 앞면이 나올 확률은
  • 9. 동전 던지기 시도의 데이터 D가 주어지고, 다음 동전 던지기 시도에서 앞면이 나올 확률은                         // 증명            데이터가 주어졌을 때 앞면이 나올 확률=모든 앞면이 나올 확률 θ에 대해서, θ을 추정한 posterior p(θ|D)로 가중치 합한 것            즉 Posterior로 θ의 기대값을 구한 것.            적분 계산을 하면 a/(a+b)가 나온다. 예를 들어 베타 분포의 prior가 a=b=1일 경우,                          prior의 hyper-parameter가 smoothing으로 작용 add-one smoothing이라고 한다. 3.4 The Dirichlet-multinomial model Likelihood가 multinomial 인 경우 동전 던지기를 일반화해서 K-면 주사위 던지기를 N번 던지는 문제로 확장 Latent Dirichlet Allocation에서, 사람이 문서의 토픽을 결정하는, 토픽 내에서 단어가 결정되는 분포. LDA는 토픽이라는 latent 변수를 연결체로 주사위를 두번 던지는 문제로 볼 수 있음 문서의 첫 단어에서, 토픽 갯수-면 주사위를 한 번 던져서 토픽을 뽑고, 그 토픽에서의 단어-면 주사위를 한 번 더 던져서 단어를 뽑는다. 3.4.1 Likelihood xi는 i번째 주사위 던지기 시도에서 나온 눈의 수          where    θk = k-면이 나올 확률, 모든 K에 대해서 합은 1          
  • 10. D에 대한 likelihood는 다음과 같다 (multinomial model)                        event k가 일어난 횟수(이 모델의 데이터에 대한 충분 통계량) 3.4.2 Prior multinomial 분포의 conjugate prior 분포는 Dirichlet 분포이다. 즉 multinomial 분포의 파라메터(각 눈이 나올 확률)의 분포를 표현하는데 많이 쓰임(LDA) 즉 로 추출된 랜덤변수 벡터의 모든 원소의 합은 1이고 0보다 크다.(랜던 변수 자체가 확률 모양)x ~ Dir() 그림 설명 (a) multinomial의 파라메터들은 θ1 +θ2  +θ3 =1 이고 0<=θ<=1 인 θ의           분포이고 왼쪽 그림에서 평면 위에 위치 (b) 평면             위에서 hyper-parameter α = (2,2,2)일 때의 θ의 분포 θ = (1/3,1/3,1/3)일 때의 확률이 가장 크다 (c) α = (20,2,2)일         때의 θ의 분포 θ1 가 큰 θ의 확률이 크다          
  • 11. 3.4.3 Posterior Dirichlet 분포인 prior에 multinomial 분포의 likelihood를 곱하면 posterior 역시 Dirichlet 분포이다         posterior(Dirichlet 분포)의 parameter는 prior의 hyper-parameter에 시행 데이터의 카운팅 Nk를 더한 것임을 알 수 있다. Posterior가 최대가 되는  (즉MAP)를 미분으로 구할 수 있다. θ            라는 제약 조건이 있기 때문에 라그랑지 승수(Lagrange Multiplier)법을 사용한다.           목적 함수 l(θ,λ) = logp(θ|D) +( 제약조건 페널티)를 다음과 같이 만든다                   제약 조건이 포함된 마지막 항은 θ가 제약에서 벗어날 때, 페널티로 작용하기 때문에 최대한 제약조건을 만족하는 θ로 최적화된다.             라 놓고            각   편θ와 λ에 대해서 미분 후 0 이 되는 지점을 찾으면           (3.42)             (3.42)               (3.43)              위의 (3.43)번 수식 양쪽에 sum을 취하면                        where 
  • 12.             (3.43) 수식에 (3.46) 수식을 대입하면                         uniform prior인 αk =1을 사용한다면, α0 =K가 되어서, MLE 추정이 되어 버린다.              (3.48)              k가 나올 확률 = 주사위 k가 나온 횟수/전체 시도 3.4.4 Posterior Predictive 주사위 던지기 시도인 데이터 D가 주어지고, 한 번 더  던졌을 때 j면이 나올 확률은 (3.49) 모든 parameter θ에 대해서, θ가 주어졌을 때 j면이 나올확률*θ에 대한 posterior를 더한다 (3.50) 상관없는  p(X=j| ) = P(X=j| )이고 두번째 항은 전확률 법칙에 의해 성립된다θ들은 없앤다: θ θj (3.51) (θj 의 hyper-pameter + D에서 j면이 나온 횟수)/(θ의 hyper-pameter의 합 + 총 시도 횟수) 동전 던지기 posterior predictive와 비교 3.4.4.1 Worked example: language models using bag of words Mary had a little lamb, little lamb, little lamb,Mary had a little lamb, its fleece as white as snow 단어를 숫자 인덱스화 해서 바꾸면, Mary had a little lamb, little lamb, little lamb,Mary had a little lamb, its fleece as white as snow 단어들이 나온 횟수를 테이블로 만들면, 총 17번 시도의 10면 동전 던지기로 볼 수 있다. 각 Count 엔트리는  를 의미한다. 각 단어 j가 나올 확률: θj θ 의 prior: Dir(α) posterior predictive(위의 데이터 D가 주어졌을 때, 다음 단어로 j가 나올 확률)  로 셋팅하면,
  • 13.  로 셋팅하면, lamb, little, unk가 나올 확률이 제일 높다 3.5 Naive Bayes classifiers discrete-valued feature vector  을 분류하는 법에 대해서 다룬다.           K는 각 feature에 할당될 수 있는 값의 갯수, 1에서 10까지 정수가 나올 수 있다면 K = 10           D는 feature의 수 다음과 같은 조건부 독립(conditionally independent)를 가정한다                     feature vector의 class conditional probability는 각 feature의 class conditional probability의 단순 곱이다           class 가 주어졌을 때 각 feature간에는 독립이다. 예를 들어 각 문서의 단어를 feature라고 하면 각 단어들 사이에는 독립이다           위의 모델을 naive Bayes classifier(NBC)라 한다.  실제 세계에는 잘 안맞는 가정이기 때문에 naive라고 이름 붙여졌지만 모델의 간단함 때문에 overfitiing에 대한 내성이 있기 때문에 여러 도메인에서 좋은 성능을 보이고 있다.  각 class의 feature vector들이 정규 분포를 따른다면,                          D는 피쳐의 수             μjc는 c에 속한 feature j의 평균             σ는 위의 분산 각 class의 feature vector들이 Bernoulli를 따른다면,                         μjc는  feature j가  class c에서 발생(1이 될)할 확률 각 class의 feature vector들이 multinoulli를 따른다면(  ),
  • 14.              3.5.1 Model fitting MLE 하나의 (feature vector xi, class yi) 쌍에 대한 확률은 다음과 같다: //p(x,y) = p(x|y)p(y) , p(xij| )가 아니라 p(xij|yi, ) 싶은데??θj θj                       //p(y)는 multinuilli 분포, 두번째 파이는 조건부 독립 조건에 의해서 이므로,  위의 식에 log를 취하면 likelihood에서분류 카테고리 class c의 분포는 앞에서 다루었던 multinomial 분포와 같고, MLE 추정은 다음과 같다(식 3.56를 pi      에 대해서 미분 후     )0으로 셋팅하고 정리 그리고, 각 class 별, feature vector의 분포를 베르누이 분포라고 가정하면( ),  각 클래스 c의 j번째 feature가 1될 확률은 다음과 같이 추정할 수 있다(식 3.56를  )θ에 대해서 미분 후 0으로 셋팅하고 정리 즉, class c로 분류된 feature vector들 중 j번째 feature가 1이 된 횟수/class c가 나온 전체 feature vector들의 갯수 3.5.2 Using the model for prediction 위와 같은 NBC의 parameter π, θ의 fitting(학습) 과정 후, 새로운 테스트 feature vector x 하나에 대한 분류는 다음과 같이 한다.
  • 15. //p(y)p( |y) , 파라메터들은 섹션 3.5.1에서 fiting됨x 다음 예제에서 자세히 3.5.5 Classifying documents using bag of words (example) 문서를 binary vector로 표현한다. 즉 문서 i에 단어 j가 등장했다면 xij = 1 class conditional density를 다음과 같이 표현할 수 있다. traiining 문서 문서1 (a b)->(1,1,0),class1  문서2 (b c)->(0,1,1),class2 test 문서 문서3 (c)->(0,1,1),? Fitting Predict p(class1|(0,1,1))   p(class1)p((0,1,1)|class1) = 0.5*p(a=0|class1)p(b=1|class1)p(c=1|class1)= 0.5*{0*1*0} = 0α p(class2|(0,1,1))   p(class2)p((0,1,1)|class2) = 0.5*p(a=0|class2)p(b=1|class2)p(c=1|class2)= 0.5*1*1*1 = 0.5α 두번째 것이 더 크므로 class2로 분류  3.5.1.2 Bayesian naive Bayes 위의 예제는 MLE 추정이 overfittinf이 일어날 수 있음을 보여준다 b 단어는 2개의 클래스 모두에 나타나기 때문에, 만약 b라는 단어가 없는 테스트 문서가 들어왔을 경우, 두개의 클래스 모두에서 예측은 0이 되어 버림 이러한 문제를 해결하기 위한 방법은 bayesain이 되는 것이다. 나이브 베이즈의 파라메터(π,θ) 에 대해서 다음과 같은 prior를 설정한다고 생각하자 π ~ Dir( )α θjc ~ Beta(β0,β1) 다음과 같이 나이브 베이즈의 파라메터의 posterior를 구할 수 있다.
  • 16. ==================================================================== 복습   =   ==================================================================== 나이브 베이즈의 예측 수식은  전 확률 법칙과 x의 분포(multinomail) y의 분포(베르누이)에 의해서  // Ber(xj|y=c,θjc) = p(x|y,θjc) posterior predictive density는 단순히 parameter의 기대값을 파라메터로 쓰면 된다. 즉
  • 17. ===================================================================== 복습 Multi-Dirichlet model bin-beta model  ===================================================================== 복습에 의해서, 각 파라메터의 값은 다음과 같이 계산할 수 있다 살펴보면, 파라메터 추정치의 분자와 분모에 prior의 hyper-parameter 값들이 더해지기 때문에, 앞서 예제와 같은 overfitting문제가 완화될 것이라고 기대할 수 있다 즉, laplace smoothing이라고 알려져 있는 수식이 bayesian에서 유도(사실 수식 먼저 개발하고 껴 맞춘 거일수도 있고...) 세줄 요약 Bayesian이 붙는 건 NB paramter(pi,theta)의 분포까지 추정하겠다는 것 = NB paramter의 posterior를 알고 싶다는것 결과적으로 다음 pi의 posterior는 Dirichlet 분포를 따르고, theta는 Beta 분포를 따른다 NB paramter의 분포까지 알았고 예측을 할때는,파라메터의 특정 추정값이 필요한데, 이제 분포를 다 알기 때문에 그걸을 MLE나 MAP이 아닌 더 좋은 파라메터의 기대값을 사용