SlideShare una empresa de Scribd logo
1 de 65
Crash Course on
Graphical Models
2014.08.06 김종욱
그게 뭐예요
지난 십수년간 머신러닝 분야에서 가장 큰 발전
왜 하나요
제한된 정보로 더 많은 것을 알기 위해
To gain global insight based on local observations
어떻게 하나요
• 표현 Representation
• 세상을 확률변수와 확률분포로 표현하기
• P(X1,
 …⋯
 ,
 Xn)을 어떻게 간단하게 표현할 수 있을까
• Directed Graphical Models (Bayesian Networks)
• Undirected
 Graphical
 Models
 (Markov
 Random
 Fields,
 CRFs,
 …⋯
 )
• 학습 Learning
• Maximum Likelihood Estimation, Others?
• 얼마나 많은 데이터가 필요할까?
• 얼마나 많은 계산량이 요구될까?
• 추론 Inference
• 조건부 확률 P(Y | X1,
 …⋯
 ,
 Xn) 구하기
불확실성을 바탕으로 추론하기
• 불확실한 세상에 살고 있는 우리들
• 80년대까지의 연구는 이것을 무시했음 →
 AI
 Winter
• 최근 십수년의 비약적인 발전은 확률적인 접근법으로 이루어짐
전략
• 표현representation 학습learning 추론inference이 모두 필요함
• 먼저 가장 간단한 경우부터
• 이산(discrete)확률변수
• 완전히 관측된 모델
• 정확한(exact) 학습과 추론
• 그리고 일반화
• 연속(continuous)확률변수
• 부분적으로 관측된 모델 (latent/hidden variables)
• 근사적인(approximate) 학습과 추론
순서
1. Directed Graphical Models (Bayesian Networks)
2. Undirected Graphical Models (Markov Random Fields)
3. Generative vs Discriminative Models
4. Conditional Random Fields
5. POS Tagging with CRF
기본개념
확률공간probability space 확률probability 사건events
확률변수random variables 확률분포probability distributions 기대값expectation
독립independence 종속dependence 조건부독립conditional independence
조건부확률conditional probability 결합확률분포joint probability distribution
연쇄법칙chain rule 베이즈 정리Bayes Rule 전체확률의 정리Law of Total Probability
𝑃 𝑌 𝑋 =
𝑃 𝑋 𝑌 𝑃(𝑌)
𝑃(𝑋)
𝑃 𝑋, 𝑌 = 𝑃 𝑋 𝑃(𝑌|𝑋) 𝑃(𝑋) = 𝑃 𝑋 𝑦 𝑃(𝑦)
Marginal Probability
확률분포: 질병 진단 예제
• 증상(열, 기침, 숨가쁨, 구토)마다 확률변수 하나씩
• 질병(폐렴, 독감, 감기)마다 확률변수 하나씩
• 조건부확률로 추론inference하는 것으로 진단 가능
p( 폐렴 = 1 | 기침 = 1 , 열 = 1 , 구토 = 0 )
• Quick Medical Reference (QMR-DT, 1991):
600개의 질병과 4000개의 증상을 포함하는 모델
확률분포를 표현하는 방법
• 모든 변수의 모든 값의 조합에 대해 표를 만들기
• QMR-DT를 표현하기 위해 필요한 조합은? 24600
• 단점:
• 일단 불가능함 (우주에 있는 원자 수 ≒
 2250)
• 분포를 학습learn하려면 엄청나게 많은 데이터가 필요함
• 조건부 확률을 구하려면 너무 많은 값을 더해야 함
그러니까 독립을 이용하자
• 만약 모든 변수가 서로 독립이면
𝑝 𝑥 , 𝑥 , … , 𝑥 = 𝑝 𝑥 𝑝 𝑥 … 𝑝 𝑥
• (binary인 경우) 2 개 대신 2𝑛개의 숫자만으로 표현가능
• 모두 독립이면 그다지 쓸모가 없다:
• 𝑋 를 아는 것이 𝑋 를 아는 것에 아무런 도움이 되지 않음
• 대신 조건부독립을 활용해 보자!
그러니까 조건부 독립을 이용하자
• 𝑌가 주어졌을 때 𝑋 , 𝑋 , … , 𝑋 이 서로 조건부 독립이면
𝑝 𝑥 , 𝑥 , … , 𝑥 , 𝑦
= 𝑝 𝑦 𝑝 𝑥 𝑦 𝑝 𝑥 𝑥 , 𝑦 … 𝑝 𝑥 𝑥 , … , 𝑥 , 𝑦
= 𝑝 𝑦 𝑝 𝑥 𝑦 𝑝 𝑥 𝑦 … 𝑝 𝑥 𝑦
• 다름아닌 Naïve Bayes
• Philosophy: 정확하진 않더라도 쓸만한 모델을 찾자
Bayesian Network
• 방향성 비순환 그래프directed acyclic graph G(V, E)
• 각 노드 𝑖 ∈ 𝑉 는 확률변수 𝑋 를 나타냄
• 노드 𝑖 의 부모노드들 Pa(𝑖)에 대한 조건부 확률 분포
𝑝 𝑥 𝑥
• 다음의 Factorization과 1:1 대응
𝑝 𝑥 , 𝑥 , … , 𝑥 =
∈
𝑝 𝑥 𝑥
Bayesian Network는 생성 모델generative model
• 모델을 알면 다음과 같이 이메일을 생성generate할 수 있음
• 𝑦~𝑝(𝑌)에 따라 스팸 여부 𝑦를 결정
• 𝑥 ~𝑝(𝑋 |𝑌)에 따라 각 단어를 생성
𝑝 𝑦 𝑝 𝑥 𝑦
Bayesian Network는 조건부 독립을 표현함
• 위 그래프로부터 알 수 있는 결합확률분포:
• Chain Rule을 이용해 모든 확률분포는 다음과 같이 나타낼 수 있다:
𝐷 ⊥ 𝐼 𝑆 ⊥ 𝐷, 𝐺 | 𝐼 𝐿 ⊥ 𝐼, 𝐷, 𝑆 | 𝐺
그래프로 표현하는 조건부 독립
경우 1 : 간접적인 영향indirect cause
• 𝑃 𝑋, 𝑌, 𝑍 = 𝑃 𝑋 𝑃 𝑍 𝑋 𝑃 𝑌 𝑍
• 𝑃 𝑋, 𝑌|𝑍
=
𝑃(𝑋, 𝑌, 𝑍)
𝑃(𝑍)
=
𝑃 𝑋 𝑃(𝑍|𝑋)𝑃(𝑌|𝑍)
𝑃(𝑍)
=
𝑃 𝑋, 𝑍 𝑃(𝑌, 𝑍)
𝑃(𝑍)𝑃(𝑍)
= 𝑃 𝑋 𝑍 𝑃 𝑌 𝑍
• 그냥은 X, Y가 종속, Z가 주어지면 X, Y는 독립
• X, Y의 자리가 바뀌어도 마찬가지
경우 2 : 공통 원인common cause
• 그냥은 X, Y가 종속, Z가 주어지면 X, Y는 독립
• 경우 1과 동등equivalent한 모델
• 𝑃 𝑋, 𝑌, 𝑍 = 𝑃 𝑍 𝑃 𝑋 𝑍 𝑃 𝑌 𝑍
• 𝑃 𝑋, 𝑌|𝑍
=
𝑃(𝑋, 𝑌, 𝑍)
𝑃(𝑍)
=
𝑃 𝑍 𝑃(𝑋|𝑍)𝑃(𝑌|𝑍)
𝑃(𝑍)
=
𝑃 𝑋, 𝑍 𝑃(𝑌, 𝑍)
𝑃(𝑍)𝑃(𝑍)
= 𝑃 𝑋 𝑍 𝑃 𝑌 𝑍
경우 3 : 공통 효과common effect
• 그냥은 X, Y가 독립, Z가 주어지면 X, Y가 종속
• 다른 원인을 설명해주는explaining away 효과
• 𝑃 𝑋, 𝑌, 𝑍 = 𝑃 𝑋 𝑃(𝑌)𝑃 𝑍 𝑋, 𝑌
• 𝑃 𝑋, 𝑌, 𝑍 = 𝑃 𝑋 𝑃 𝑌 𝑋 𝑃 𝑍 𝑋, 𝑌 (chain rule)
• 𝑃 𝑌 𝑋 =
( , )
( )
= 𝑃(𝑌)
• 𝑃(𝑋, 𝑌) = 𝑃(𝑋)𝑃(𝑌)
Explaining Away
X : 지진이 발생함
Y : 헐크가 쳐들어옴
Z : 집이 흔들림
Explaining Away
D-Separation
D-Separation 예제 1
D-Separation 예제 2
Hidden Markov Models is a BN
Bayesian Network 정리
• Bayesian Network 는 확률변수들의 조건부확률분포CPD로 주어진다.
• 생성 모델Generative Model로 볼 수 있다.
• D-Separation 을 이용하여 조건부 독립을 확인할 수 있다.
• 특정 사건이 일어날 확률은 CPD를 곱하는 것으로 얻을 수 있다.
• 조건부 확률을 얻으려면 베이즈 법칙Bayes Rule을 사용하면 된다.
• 추론Inference은 필요한 계산량이 많아 어려울 때가 많다.
• Viterbi Algorithm, Max-Product Belief Propagation, Sum-Product  Algorithm,  …  
• 예: Naïve Bayes, Hidden Markov Model, Latent Dirichlet Analysis
Undirected Graphical Models
• 확률변수들 사이에 방향성이 있는 것이 어색한 경우가 있음
• 픽셀을 격자로 표현하려면 방향이 없는 것이 자연스러움
• 판별discriminative모델은 방향성이 없을 때 대개 성능이 좋음 (CRF)
Markov Random Fields
• 조건부확률분포CPD 대신 포텐셜potential의 곱으로 표현
간단한 Markov Random Field
조건부 독립 찾기
𝑋 ⊥ 𝑋 | 𝑋
Global Markov Property
Markov Blanket
𝑋 ⊥ 𝑉 ∖ {𝑋 ⋃ 𝑚𝑏(𝑋)} | 𝑚𝑏(𝑋)
Local Markov Property
Pairwise Markov Property
𝑋 ⊥ 𝑌 | 𝑉 ∖ {𝑋 ⋃ 𝑌} ⇔ 𝑛𝑜𝑡(𝑋 ∼ 𝑌 )
Pairwise Markov Property
Markov Properties are Equivalent
Moralization : Convert BN to MRF
Factor Graphs
생성generative VS 판별discriminative 모델
스팸필터링 예제
• 스팸이면 Y = 1 , 스팸이 아니면 Y = 0
• 𝑤 ~𝑤 : 모든 (영어) 단어
• 단어 𝑤 가 이메일에 포함되면 𝑋 = 1 , 아니면 𝑋 = 0
• 두 그림은 결국 같은 확률분포 𝑃(𝑋, 𝑌)를 표현함
• 하지만 Y를 예측하기 위해선 𝑃 𝑌 𝑋)만 알면 충분
• 왼쪽의 경우 𝑃(𝑌)와 𝑃(𝑋|𝑌)를 모두 알아야 함
• 오른쪽 모델에선 𝑃(𝑌|𝑋)만 알면 충분함!
• 𝑃(𝑋)에 대해선 알 필요가 없음
• 𝑋중 일부만 관찰할 경우 𝑃(𝑋)도 필요해짐
• 𝑌의 값을 판별하는데만 쓸 수 있어서 판별 모델
생성generative VS 판별discriminative 모델
• 각 모델에서 선택해야 하는 것
• 생성 모델에서: 𝑃(𝑋 |𝑿 ( ), 𝑌)를 파라미터화하는 방법
𝑋 ⊥ 𝑋 | 𝑌 라고 가정하기 (Naïve Bayes)
• 판별 모델에서: P(Y|𝐗)를 파라미터화하는 방법
𝑃 𝑌 = 1 𝒙; 𝑤) =
( ∑ )
라고 가정하기 (Logistic Regression)
생성generative VS 판별discriminative 모델
판별모델은 강력하다
• Logistic Regression은 조건부독립을 가정하지 않음
• “bank  account”처럼 항상 같이 사용하는 두 단어가 많은데
• 그러면 𝑋 = 𝑋 , 즉 조건부독립이 아니지만
• Naïve Bayes는 P(𝑋 |𝑌) = 𝑃(𝑋 |𝑌) 로 두 번씩 카운트
• 조건부독립이 아닌 Feature들을 사용할 수 있어서
• 보다 유연한 Feature 선택이 가능
생성모델은 쓸모있다
• 𝑿가 모두 측정가능할 때에만 판별모델을 쓸 수 있다.
• 𝑿중 일부만 있더라도 생성모델에서는 P(Y|𝑿 )를 계산가능
• 더 효율적으로 파라미터를 학습할 수 있음
• 충분히 좋은 결과를 얻기 위해 필요한 트레이닝 데이터의 수:
• Naïve Bayes는 O(log n)개의 샘플이 필요함
• Logistic Regression은 O(n)개의 샘플이 필요함
• Naïve Bayes가 (부정확할 수도 있지만) 더 빠르게 수렴함
Naïve Bayes
Logistic Regression
[Ng  Jordan 2002]

Más contenido relacionado

La actualidad más candente

딥러닝의 기본
딥러닝의 기본딥러닝의 기본
딥러닝의 기본deepseaswjh
 
3.unsupervised learing(epoch#2)
3.unsupervised learing(epoch#2)3.unsupervised learing(epoch#2)
3.unsupervised learing(epoch#2)Haesun Park
 
Chapter 19 Variational Inference
Chapter 19 Variational InferenceChapter 19 Variational Inference
Chapter 19 Variational InferenceKyeongUkJang
 
From maching learning to deep learning
From maching learning to deep learningFrom maching learning to deep learning
From maching learning to deep learningYongdae Kim
 
알기쉬운 Variational autoencoder
알기쉬운 Variational autoencoder알기쉬운 Variational autoencoder
알기쉬운 Variational autoencoder홍배 김
 
Siamese neural networks for one shot image recognition paper explained
Siamese neural networks for one shot image recognition paper explainedSiamese neural networks for one shot image recognition paper explained
Siamese neural networks for one shot image recognition paper explainedtaeseon ryu
 
Learning by association
Learning by associationLearning by association
Learning by association홍배 김
 

La actualidad más candente (8)

딥러닝의 기본
딥러닝의 기본딥러닝의 기본
딥러닝의 기본
 
3.unsupervised learing(epoch#2)
3.unsupervised learing(epoch#2)3.unsupervised learing(epoch#2)
3.unsupervised learing(epoch#2)
 
Chapter 19 Variational Inference
Chapter 19 Variational InferenceChapter 19 Variational Inference
Chapter 19 Variational Inference
 
From maching learning to deep learning
From maching learning to deep learningFrom maching learning to deep learning
From maching learning to deep learning
 
Naive ML Overview
Naive ML OverviewNaive ML Overview
Naive ML Overview
 
알기쉬운 Variational autoencoder
알기쉬운 Variational autoencoder알기쉬운 Variational autoencoder
알기쉬운 Variational autoencoder
 
Siamese neural networks for one shot image recognition paper explained
Siamese neural networks for one shot image recognition paper explainedSiamese neural networks for one shot image recognition paper explained
Siamese neural networks for one shot image recognition paper explained
 
Learning by association
Learning by associationLearning by association
Learning by association
 

Destacado

dart:async로 맛보는 Functional Reactive Programming
dart:async로 맛보는 Functional Reactive Programmingdart:async로 맛보는 Functional Reactive Programming
dart:async로 맛보는 Functional Reactive ProgrammingJong Wook Kim
 
No More "sbt assembly": Rethinking Spark-Submit using CueSheet
No More "sbt assembly": Rethinking Spark-Submit using CueSheetNo More "sbt assembly": Rethinking Spark-Submit using CueSheet
No More "sbt assembly": Rethinking Spark-Submit using CueSheetJong Wook Kim
 
자바 전문가를 위한 스칼라 프로그래밍 언어
자바 전문가를 위한 스칼라 프로그래밍 언어자바 전문가를 위한 스칼라 프로그래밍 언어
자바 전문가를 위한 스칼라 프로그래밍 언어Jong Wook Kim
 
Cascadia.js: Don't Cross the Streams
Cascadia.js: Don't Cross the StreamsCascadia.js: Don't Cross the Streams
Cascadia.js: Don't Cross the Streamsmattpodwysocki
 
NDC14 - Rx와 Functional Reactive Programming으로 고성능 서버 만들기
NDC14 - Rx와 Functional Reactive Programming으로 고성능 서버 만들기NDC14 - Rx와 Functional Reactive Programming으로 고성능 서버 만들기
NDC14 - Rx와 Functional Reactive Programming으로 고성능 서버 만들기Jong Wook Kim
 
RxJS and Reactive Programming - Modern Web UI - May 2015
RxJS and Reactive Programming - Modern Web UI - May 2015RxJS and Reactive Programming - Modern Web UI - May 2015
RxJS and Reactive Programming - Modern Web UI - May 2015Ben Lesh
 
[NDC 16] 당신은 사랑 받기 위해 태어난 사람: 3년차 게임 디자이너의 자존감 찾기
[NDC 16] 당신은 사랑 받기 위해 태어난 사람: 3년차 게임 디자이너의 자존감 찾기 [NDC 16] 당신은 사랑 받기 위해 태어난 사람: 3년차 게임 디자이너의 자존감 찾기
[NDC 16] 당신은 사랑 받기 위해 태어난 사람: 3년차 게임 디자이너의 자존감 찾기 Jungsoo Lee
 
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
 
머피의 머신러닝: 17장 Markov Chain and HMM
머피의 머신러닝: 17장  Markov Chain and HMM머피의 머신러닝: 17장  Markov Chain and HMM
머피의 머신러닝: 17장 Markov Chain and HMMJungkyu Lee
 
KAIST 후배들을 위한 유학에 관한 이야기
KAIST 후배들을 위한 유학에 관한 이야기KAIST 후배들을 위한 유학에 관한 이야기
KAIST 후배들을 위한 유학에 관한 이야기Sang-il Oum
 
Markov chain intro
Markov chain introMarkov chain intro
Markov chain intro2vikasdubey
 
[1B4]안드로이드 동시성_프로그래밍
[1B4]안드로이드 동시성_프로그래밍[1B4]안드로이드 동시성_프로그래밍
[1B4]안드로이드 동시성_프로그래밍NAVER D2
 
Functional Reactive Programming With RxSwift
Functional Reactive Programming With RxSwiftFunctional Reactive Programming With RxSwift
Functional Reactive Programming With RxSwift선협 이
 
Functional Reactive Programming with RxJS
Functional Reactive Programming with RxJSFunctional Reactive Programming with RxJS
Functional Reactive Programming with RxJSstefanmayer13
 
서버 개발자가 바라 본 Functional Reactive Programming with RxJava - SpringCamp2015
서버 개발자가 바라 본 Functional Reactive Programming with RxJava - SpringCamp2015서버 개발자가 바라 본 Functional Reactive Programming with RxJava - SpringCamp2015
서버 개발자가 바라 본 Functional Reactive Programming with RxJava - SpringCamp2015NAVER / MusicPlatform
 

Destacado (16)

dart:async로 맛보는 Functional Reactive Programming
dart:async로 맛보는 Functional Reactive Programmingdart:async로 맛보는 Functional Reactive Programming
dart:async로 맛보는 Functional Reactive Programming
 
No More "sbt assembly": Rethinking Spark-Submit using CueSheet
No More "sbt assembly": Rethinking Spark-Submit using CueSheetNo More "sbt assembly": Rethinking Spark-Submit using CueSheet
No More "sbt assembly": Rethinking Spark-Submit using CueSheet
 
Skip List
Skip ListSkip List
Skip List
 
자바 전문가를 위한 스칼라 프로그래밍 언어
자바 전문가를 위한 스칼라 프로그래밍 언어자바 전문가를 위한 스칼라 프로그래밍 언어
자바 전문가를 위한 스칼라 프로그래밍 언어
 
Cascadia.js: Don't Cross the Streams
Cascadia.js: Don't Cross the StreamsCascadia.js: Don't Cross the Streams
Cascadia.js: Don't Cross the Streams
 
NDC14 - Rx와 Functional Reactive Programming으로 고성능 서버 만들기
NDC14 - Rx와 Functional Reactive Programming으로 고성능 서버 만들기NDC14 - Rx와 Functional Reactive Programming으로 고성능 서버 만들기
NDC14 - Rx와 Functional Reactive Programming으로 고성능 서버 만들기
 
RxJS and Reactive Programming - Modern Web UI - May 2015
RxJS and Reactive Programming - Modern Web UI - May 2015RxJS and Reactive Programming - Modern Web UI - May 2015
RxJS and Reactive Programming - Modern Web UI - May 2015
 
[NDC 16] 당신은 사랑 받기 위해 태어난 사람: 3년차 게임 디자이너의 자존감 찾기
[NDC 16] 당신은 사랑 받기 위해 태어난 사람: 3년차 게임 디자이너의 자존감 찾기 [NDC 16] 당신은 사랑 받기 위해 태어난 사람: 3년차 게임 디자이너의 자존감 찾기
[NDC 16] 당신은 사랑 받기 위해 태어난 사람: 3년차 게임 디자이너의 자존감 찾기
 
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
 
머피의 머신러닝: 17장 Markov Chain and HMM
머피의 머신러닝: 17장  Markov Chain and HMM머피의 머신러닝: 17장  Markov Chain and HMM
머피의 머신러닝: 17장 Markov Chain and HMM
 
KAIST 후배들을 위한 유학에 관한 이야기
KAIST 후배들을 위한 유학에 관한 이야기KAIST 후배들을 위한 유학에 관한 이야기
KAIST 후배들을 위한 유학에 관한 이야기
 
Markov chain intro
Markov chain introMarkov chain intro
Markov chain intro
 
[1B4]안드로이드 동시성_프로그래밍
[1B4]안드로이드 동시성_프로그래밍[1B4]안드로이드 동시성_프로그래밍
[1B4]안드로이드 동시성_프로그래밍
 
Functional Reactive Programming With RxSwift
Functional Reactive Programming With RxSwiftFunctional Reactive Programming With RxSwift
Functional Reactive Programming With RxSwift
 
Functional Reactive Programming with RxJS
Functional Reactive Programming with RxJSFunctional Reactive Programming with RxJS
Functional Reactive Programming with RxJS
 
서버 개발자가 바라 본 Functional Reactive Programming with RxJava - SpringCamp2015
서버 개발자가 바라 본 Functional Reactive Programming with RxJava - SpringCamp2015서버 개발자가 바라 본 Functional Reactive Programming with RxJava - SpringCamp2015
서버 개발자가 바라 본 Functional Reactive Programming with RxJava - SpringCamp2015
 

Similar a Crash Course on Graphical models

From maching learning to deep learning episode2
From maching learning to deep learning episode2 From maching learning to deep learning episode2
From maching learning to deep learning episode2 Yongdae Kim
 
Variational Auto Encoder, Generative Adversarial Model
Variational Auto Encoder, Generative Adversarial ModelVariational Auto Encoder, Generative Adversarial Model
Variational Auto Encoder, Generative Adversarial ModelSEMINARGROOT
 
[D2대학생세미나]lovely algrorithm
[D2대학생세미나]lovely algrorithm[D2대학생세미나]lovely algrorithm
[D2대학생세미나]lovely algrorithmNAVER D2
 
Probability with MLE, MAP
Probability with MLE, MAPProbability with MLE, MAP
Probability with MLE, MAPJunho Lee
 
인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝Jinwon Lee
 
Anomaly Detection based on Diffusion
Anomaly Detection based on DiffusionAnomaly Detection based on Diffusion
Anomaly Detection based on Diffusionssuserbaebf8
 
ESM Mid term Review
ESM Mid term ReviewESM Mid term Review
ESM Mid term ReviewMario Cho
 
Lecture 4: Neural Networks I
Lecture 4: Neural Networks ILecture 4: Neural Networks I
Lecture 4: Neural Networks ISang Jun Lee
 
11_통계 자료분석 입문
11_통계 자료분석 입문11_통계 자료분석 입문
11_통계 자료분석 입문noerror
 
3.neural networks
3.neural networks3.neural networks
3.neural networksHaesun Park
 
(Book Summary) Classification and ensemble(book review)
(Book Summary) Classification and ensemble(book review)(Book Summary) Classification and ensemble(book review)
(Book Summary) Classification and ensemble(book review)MYEONGGYU LEE
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지Haesun Park
 
랜덤Walks, 몬테카를로 시뮬레이션
랜덤Walks, 몬테카를로 시뮬레이션랜덤Walks, 몬테카를로 시뮬레이션
랜덤Walks, 몬테카를로 시뮬레이션Sunggon Song
 
Deep learning study 1
Deep learning study 1Deep learning study 1
Deep learning study 1San Kim
 
[한글] Tutorial: Sparse variational dropout
[한글] Tutorial: Sparse variational dropout[한글] Tutorial: Sparse variational dropout
[한글] Tutorial: Sparse variational dropoutWuhyun Rico Shin
 
Deep Learning from scratch 5장 : backpropagation
 Deep Learning from scratch 5장 : backpropagation Deep Learning from scratch 5장 : backpropagation
Deep Learning from scratch 5장 : backpropagationJinSooKim80
 
RUCK 2017 빅데이터 분석에서 모형의 역할
RUCK 2017 빅데이터 분석에서 모형의 역할RUCK 2017 빅데이터 분석에서 모형의 역할
RUCK 2017 빅데이터 분석에서 모형의 역할r-kor
 
내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)SANG WON PARK
 
2.supervised learning
2.supervised learning2.supervised learning
2.supervised learningHaesun Park
 

Similar a Crash Course on Graphical models (20)

From maching learning to deep learning episode2
From maching learning to deep learning episode2 From maching learning to deep learning episode2
From maching learning to deep learning episode2
 
Variational Auto Encoder, Generative Adversarial Model
Variational Auto Encoder, Generative Adversarial ModelVariational Auto Encoder, Generative Adversarial Model
Variational Auto Encoder, Generative Adversarial Model
 
[D2대학생세미나]lovely algrorithm
[D2대학생세미나]lovely algrorithm[D2대학생세미나]lovely algrorithm
[D2대학생세미나]lovely algrorithm
 
Probability with MLE, MAP
Probability with MLE, MAPProbability with MLE, MAP
Probability with MLE, MAP
 
인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝
 
Decision tree
Decision treeDecision tree
Decision tree
 
Anomaly Detection based on Diffusion
Anomaly Detection based on DiffusionAnomaly Detection based on Diffusion
Anomaly Detection based on Diffusion
 
ESM Mid term Review
ESM Mid term ReviewESM Mid term Review
ESM Mid term Review
 
Lecture 4: Neural Networks I
Lecture 4: Neural Networks ILecture 4: Neural Networks I
Lecture 4: Neural Networks I
 
11_통계 자료분석 입문
11_통계 자료분석 입문11_통계 자료분석 입문
11_통계 자료분석 입문
 
3.neural networks
3.neural networks3.neural networks
3.neural networks
 
(Book Summary) Classification and ensemble(book review)
(Book Summary) Classification and ensemble(book review)(Book Summary) Classification and ensemble(book review)
(Book Summary) Classification and ensemble(book review)
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지
 
랜덤Walks, 몬테카를로 시뮬레이션
랜덤Walks, 몬테카를로 시뮬레이션랜덤Walks, 몬테카를로 시뮬레이션
랜덤Walks, 몬테카를로 시뮬레이션
 
Deep learning study 1
Deep learning study 1Deep learning study 1
Deep learning study 1
 
[한글] Tutorial: Sparse variational dropout
[한글] Tutorial: Sparse variational dropout[한글] Tutorial: Sparse variational dropout
[한글] Tutorial: Sparse variational dropout
 
Deep Learning from scratch 5장 : backpropagation
 Deep Learning from scratch 5장 : backpropagation Deep Learning from scratch 5장 : backpropagation
Deep Learning from scratch 5장 : backpropagation
 
RUCK 2017 빅데이터 분석에서 모형의 역할
RUCK 2017 빅데이터 분석에서 모형의 역할RUCK 2017 빅데이터 분석에서 모형의 역할
RUCK 2017 빅데이터 분석에서 모형의 역할
 
내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)
 
2.supervised learning
2.supervised learning2.supervised learning
2.supervised learning
 

Crash Course on Graphical models

  • 1. Crash Course on Graphical Models 2014.08.06 김종욱
  • 2. 그게 뭐예요 지난 십수년간 머신러닝 분야에서 가장 큰 발전
  • 3. 왜 하나요 제한된 정보로 더 많은 것을 알기 위해 To gain global insight based on local observations
  • 4. 어떻게 하나요 • 표현 Representation • 세상을 확률변수와 확률분포로 표현하기 • P(X1,
  • 6.  ,
  • 7.  Xn)을 어떻게 간단하게 표현할 수 있을까 • Directed Graphical Models (Bayesian Networks) • Undirected
  • 15.  ) • 학습 Learning • Maximum Likelihood Estimation, Others? • 얼마나 많은 데이터가 필요할까? • 얼마나 많은 계산량이 요구될까? • 추론 Inference • 조건부 확률 P(Y | X1,
  • 17.  ,
  • 19. 불확실성을 바탕으로 추론하기 • 불확실한 세상에 살고 있는 우리들 • 80년대까지의 연구는 이것을 무시했음 →
  • 20.  AI
  • 21.  Winter • 최근 십수년의 비약적인 발전은 확률적인 접근법으로 이루어짐
  • 22. 전략 • 표현representation 학습learning 추론inference이 모두 필요함 • 먼저 가장 간단한 경우부터 • 이산(discrete)확률변수 • 완전히 관측된 모델 • 정확한(exact) 학습과 추론 • 그리고 일반화 • 연속(continuous)확률변수 • 부분적으로 관측된 모델 (latent/hidden variables) • 근사적인(approximate) 학습과 추론
  • 23. 순서 1. Directed Graphical Models (Bayesian Networks) 2. Undirected Graphical Models (Markov Random Fields) 3. Generative vs Discriminative Models 4. Conditional Random Fields 5. POS Tagging with CRF
  • 24. 기본개념 확률공간probability space 확률probability 사건events 확률변수random variables 확률분포probability distributions 기대값expectation 독립independence 종속dependence 조건부독립conditional independence 조건부확률conditional probability 결합확률분포joint probability distribution 연쇄법칙chain rule 베이즈 정리Bayes Rule 전체확률의 정리Law of Total Probability 𝑃 𝑌 𝑋 = 𝑃 𝑋 𝑌 𝑃(𝑌) 𝑃(𝑋) 𝑃 𝑋, 𝑌 = 𝑃 𝑋 𝑃(𝑌|𝑋) 𝑃(𝑋) = 𝑃 𝑋 𝑦 𝑃(𝑦)
  • 26. 확률분포: 질병 진단 예제 • 증상(열, 기침, 숨가쁨, 구토)마다 확률변수 하나씩 • 질병(폐렴, 독감, 감기)마다 확률변수 하나씩 • 조건부확률로 추론inference하는 것으로 진단 가능 p( 폐렴 = 1 | 기침 = 1 , 열 = 1 , 구토 = 0 ) • Quick Medical Reference (QMR-DT, 1991): 600개의 질병과 4000개의 증상을 포함하는 모델
  • 27. 확률분포를 표현하는 방법 • 모든 변수의 모든 값의 조합에 대해 표를 만들기 • QMR-DT를 표현하기 위해 필요한 조합은? 24600 • 단점: • 일단 불가능함 (우주에 있는 원자 수 ≒
  • 28.  2250) • 분포를 학습learn하려면 엄청나게 많은 데이터가 필요함 • 조건부 확률을 구하려면 너무 많은 값을 더해야 함
  • 29. 그러니까 독립을 이용하자 • 만약 모든 변수가 서로 독립이면 𝑝 𝑥 , 𝑥 , … , 𝑥 = 𝑝 𝑥 𝑝 𝑥 … 𝑝 𝑥 • (binary인 경우) 2 개 대신 2𝑛개의 숫자만으로 표현가능 • 모두 독립이면 그다지 쓸모가 없다: • 𝑋 를 아는 것이 𝑋 를 아는 것에 아무런 도움이 되지 않음 • 대신 조건부독립을 활용해 보자!
  • 30. 그러니까 조건부 독립을 이용하자 • 𝑌가 주어졌을 때 𝑋 , 𝑋 , … , 𝑋 이 서로 조건부 독립이면 𝑝 𝑥 , 𝑥 , … , 𝑥 , 𝑦 = 𝑝 𝑦 𝑝 𝑥 𝑦 𝑝 𝑥 𝑥 , 𝑦 … 𝑝 𝑥 𝑥 , … , 𝑥 , 𝑦 = 𝑝 𝑦 𝑝 𝑥 𝑦 𝑝 𝑥 𝑦 … 𝑝 𝑥 𝑦 • 다름아닌 Naïve Bayes • Philosophy: 정확하진 않더라도 쓸만한 모델을 찾자
  • 31.
  • 32. Bayesian Network • 방향성 비순환 그래프directed acyclic graph G(V, E) • 각 노드 𝑖 ∈ 𝑉 는 확률변수 𝑋 를 나타냄 • 노드 𝑖 의 부모노드들 Pa(𝑖)에 대한 조건부 확률 분포 𝑝 𝑥 𝑥 • 다음의 Factorization과 1:1 대응 𝑝 𝑥 , 𝑥 , … , 𝑥 = ∈ 𝑝 𝑥 𝑥
  • 33.
  • 34.
  • 35. Bayesian Network는 생성 모델generative model • 모델을 알면 다음과 같이 이메일을 생성generate할 수 있음 • 𝑦~𝑝(𝑌)에 따라 스팸 여부 𝑦를 결정 • 𝑥 ~𝑝(𝑋 |𝑌)에 따라 각 단어를 생성 𝑝 𝑦 𝑝 𝑥 𝑦
  • 36. Bayesian Network는 조건부 독립을 표현함 • 위 그래프로부터 알 수 있는 결합확률분포: • Chain Rule을 이용해 모든 확률분포는 다음과 같이 나타낼 수 있다: 𝐷 ⊥ 𝐼 𝑆 ⊥ 𝐷, 𝐺 | 𝐼 𝐿 ⊥ 𝐼, 𝐷, 𝑆 | 𝐺
  • 38. 경우 1 : 간접적인 영향indirect cause • 𝑃 𝑋, 𝑌, 𝑍 = 𝑃 𝑋 𝑃 𝑍 𝑋 𝑃 𝑌 𝑍 • 𝑃 𝑋, 𝑌|𝑍 = 𝑃(𝑋, 𝑌, 𝑍) 𝑃(𝑍) = 𝑃 𝑋 𝑃(𝑍|𝑋)𝑃(𝑌|𝑍) 𝑃(𝑍) = 𝑃 𝑋, 𝑍 𝑃(𝑌, 𝑍) 𝑃(𝑍)𝑃(𝑍) = 𝑃 𝑋 𝑍 𝑃 𝑌 𝑍 • 그냥은 X, Y가 종속, Z가 주어지면 X, Y는 독립 • X, Y의 자리가 바뀌어도 마찬가지
  • 39. 경우 2 : 공통 원인common cause • 그냥은 X, Y가 종속, Z가 주어지면 X, Y는 독립 • 경우 1과 동등equivalent한 모델 • 𝑃 𝑋, 𝑌, 𝑍 = 𝑃 𝑍 𝑃 𝑋 𝑍 𝑃 𝑌 𝑍 • 𝑃 𝑋, 𝑌|𝑍 = 𝑃(𝑋, 𝑌, 𝑍) 𝑃(𝑍) = 𝑃 𝑍 𝑃(𝑋|𝑍)𝑃(𝑌|𝑍) 𝑃(𝑍) = 𝑃 𝑋, 𝑍 𝑃(𝑌, 𝑍) 𝑃(𝑍)𝑃(𝑍) = 𝑃 𝑋 𝑍 𝑃 𝑌 𝑍
  • 40. 경우 3 : 공통 효과common effect • 그냥은 X, Y가 독립, Z가 주어지면 X, Y가 종속 • 다른 원인을 설명해주는explaining away 효과 • 𝑃 𝑋, 𝑌, 𝑍 = 𝑃 𝑋 𝑃(𝑌)𝑃 𝑍 𝑋, 𝑌 • 𝑃 𝑋, 𝑌, 𝑍 = 𝑃 𝑋 𝑃 𝑌 𝑋 𝑃 𝑍 𝑋, 𝑌 (chain rule) • 𝑃 𝑌 𝑋 = ( , ) ( ) = 𝑃(𝑌) • 𝑃(𝑋, 𝑌) = 𝑃(𝑋)𝑃(𝑌)
  • 41. Explaining Away X : 지진이 발생함 Y : 헐크가 쳐들어옴 Z : 집이 흔들림
  • 47. Bayesian Network 정리 • Bayesian Network 는 확률변수들의 조건부확률분포CPD로 주어진다. • 생성 모델Generative Model로 볼 수 있다. • D-Separation 을 이용하여 조건부 독립을 확인할 수 있다. • 특정 사건이 일어날 확률은 CPD를 곱하는 것으로 얻을 수 있다. • 조건부 확률을 얻으려면 베이즈 법칙Bayes Rule을 사용하면 된다. • 추론Inference은 필요한 계산량이 많아 어려울 때가 많다. • Viterbi Algorithm, Max-Product Belief Propagation, Sum-Product  Algorithm,  …   • 예: Naïve Bayes, Hidden Markov Model, Latent Dirichlet Analysis
  • 48.
  • 49. Undirected Graphical Models • 확률변수들 사이에 방향성이 있는 것이 어색한 경우가 있음 • 픽셀을 격자로 표현하려면 방향이 없는 것이 자연스러움 • 판별discriminative모델은 방향성이 없을 때 대개 성능이 좋음 (CRF)
  • 50. Markov Random Fields • 조건부확률분포CPD 대신 포텐셜potential의 곱으로 표현
  • 52. 조건부 독립 찾기 𝑋 ⊥ 𝑋 | 𝑋 Global Markov Property
  • 53. Markov Blanket 𝑋 ⊥ 𝑉 ∖ {𝑋 ⋃ 𝑚𝑏(𝑋)} | 𝑚𝑏(𝑋) Local Markov Property
  • 54. Pairwise Markov Property 𝑋 ⊥ 𝑌 | 𝑉 ∖ {𝑋 ⋃ 𝑌} ⇔ 𝑛𝑜𝑡(𝑋 ∼ 𝑌 ) Pairwise Markov Property
  • 55. Markov Properties are Equivalent
  • 58.
  • 60. 스팸필터링 예제 • 스팸이면 Y = 1 , 스팸이 아니면 Y = 0 • 𝑤 ~𝑤 : 모든 (영어) 단어 • 단어 𝑤 가 이메일에 포함되면 𝑋 = 1 , 아니면 𝑋 = 0
  • 61. • 두 그림은 결국 같은 확률분포 𝑃(𝑋, 𝑌)를 표현함 • 하지만 Y를 예측하기 위해선 𝑃 𝑌 𝑋)만 알면 충분 • 왼쪽의 경우 𝑃(𝑌)와 𝑃(𝑋|𝑌)를 모두 알아야 함 • 오른쪽 모델에선 𝑃(𝑌|𝑋)만 알면 충분함! • 𝑃(𝑋)에 대해선 알 필요가 없음 • 𝑋중 일부만 관찰할 경우 𝑃(𝑋)도 필요해짐 • 𝑌의 값을 판별하는데만 쓸 수 있어서 판별 모델 생성generative VS 판별discriminative 모델
  • 62. • 각 모델에서 선택해야 하는 것 • 생성 모델에서: 𝑃(𝑋 |𝑿 ( ), 𝑌)를 파라미터화하는 방법 𝑋 ⊥ 𝑋 | 𝑌 라고 가정하기 (Naïve Bayes) • 판별 모델에서: P(Y|𝐗)를 파라미터화하는 방법 𝑃 𝑌 = 1 𝒙; 𝑤) = ( ∑ ) 라고 가정하기 (Logistic Regression) 생성generative VS 판별discriminative 모델
  • 63. 판별모델은 강력하다 • Logistic Regression은 조건부독립을 가정하지 않음 • “bank  account”처럼 항상 같이 사용하는 두 단어가 많은데 • 그러면 𝑋 = 𝑋 , 즉 조건부독립이 아니지만 • Naïve Bayes는 P(𝑋 |𝑌) = 𝑃(𝑋 |𝑌) 로 두 번씩 카운트 • 조건부독립이 아닌 Feature들을 사용할 수 있어서 • 보다 유연한 Feature 선택이 가능
  • 64. 생성모델은 쓸모있다 • 𝑿가 모두 측정가능할 때에만 판별모델을 쓸 수 있다. • 𝑿중 일부만 있더라도 생성모델에서는 P(Y|𝑿 )를 계산가능 • 더 효율적으로 파라미터를 학습할 수 있음 • 충분히 좋은 결과를 얻기 위해 필요한 트레이닝 데이터의 수: • Naïve Bayes는 O(log n)개의 샘플이 필요함 • Logistic Regression은 O(n)개의 샘플이 필요함 • Naïve Bayes가 (부정확할 수도 있지만) 더 빠르게 수렴함
  • 66.
  • 67. Conditional Random Fields • 확률변수들 𝑋 ∪ 𝑌로 이루어진 Markov Network에 대해 • 이번엔 파티션함수가 𝑋에 의존함 • MRF에서는 모든 변수에 대해 합했지만 이번엔 Y로만 더함
  • 68. CRF 매개변수화parameterization • f (x, y )는 Feature vector • tion으로 끝나는 건 주로 명사이겠다 • 대문자로 시작하는 건 고유명사겠다 등등… • w 는 다양한 방법을 통해 학습해야 함
  • 69. 예제: 양안시차disparity 측정 • 𝑃(𝑿)를 고려하지 않는 것이 큰 플러스 • 애초에 어떤 그림이 들어올지 알 수 없으니까
  • 70. 예제: Named Entity Recognition • Skip Chain CRF • 𝜙 (𝑌 , 𝑌 ) : 인접한 단어들 사이의 관계 • 𝜙 (𝑌 , 𝑌 ) : 𝑡와 𝑡′에서 같은 단어가 등장할 경우 • 𝜙 (𝑌 , 𝑿) : 단어 자체에 의존하는 Feature
  • 71. Roadmap • 확률모델로 표현representation하기 • Bayesian Network • Markov Random Field • Conditional Random Field • 추론inference하기 • Variable Elimination • 트리구조의 그래프에서 message passing으로 추론하기 • Dual Decompositon을 통한 MAP 추론 • Variational Methods • Monte Carlo Methods • 학습learn하기 • Bayesian Network의 파라미터 추정 • Markov Random Field의 파라미터 추정 • 불완전한 데이터로부터 학습하기 (EM Algorithm) • Structured Learning
  • 72.
  • 74. CRF로 형태소분석하기 • x : 문장 • y = 𝑤 , 𝑡 , 𝑤 , 𝑡 ,…, 𝑤# , 𝑡# : 가능한 토큰과 POS의 조합 • 𝑌(x) : 문장 x 에서 가능한 모든 경로의 집합 목표: 𝑌(x) 중에서 올바른 경로 y를 찾기
  • 79. ML Paramter Estimation : Forward-Backward Algorithm
  • 80. ML Parameter Estimation : Regularization • Regularization • Occam’s  Razor로 동작하는 일종의 Prior • 더 간단한 해법에 많은 가중치를 두는 결과 • L1-norm과 L2-norm의 차이 • L1-norm은 극히 일부의 Feature 들만이 relevant한 결과 • L2-norm은 거의 모든 Feature들이 relevant하다는 결과
  • 81.
  • 82. References On Discriminative vs. Generative classifiers: A comparison of logistic regression and naive Bayes (Ng Jordan 2001) Conditional Random Fields: Probabilistic Models for Segmenting and Labeling Sequence Data (Lafferty et. al. 2001) Applying Conditional Random Fields to Japanese Morphological Analysis (Kudo et. al. 2004)