혼합 모델의 배경
지도학습과 비지도 학습
지도학습(supervised learning)
관측된 자료가 특징 벡터 x 와 관측 값이 속해있는 클래스 ω 로 이루어진 변수 쌍 {x, ω}으로 구성될 경우의 학습은 특징벡터와 정확한 답이 주어졌기 때문에 교사/감독/지도(supervised: 교사와 함께 훈련한/교사가 지도한) 학습이라고 한다.
비지도학습(unsupervised learning)
클래스 라벨 ω 가 주어지지 않고 특징 벡터 x={x1, x2,...,xN } 만으로 이루어진 데이터 집합이 주어질 경우의 학습은 정확한 답은 제공 받지 못하므로 비교사/무감독/비지도 (unsupervised: 교사 없이 훈련한) 학습이라고 한다.
비지도 학습의 두 가지 접근법
- 모수적(parametric) 방법(혼합모델을 사용하는 방법)
이 방법은 여러 개의 모수적 확률밀도함수(주로 가우시안)를 혼합하여 주어진 확률밀도함수를 모델링하는 방법으로 아래 식과 같이 모델링 되며, 모델 파라미터를 찾는 것이 목적이다. 이 방법을 “모수적 혼합 모델(parametric mixture models)”이라고 한다.
비지도 학습의 접근법 중 모수적(parametric) 방법의 대표적 방법인 가우시안 혼합 모델 그래프
이 방법은 주어진 데이터에 대한 어떠한 가정도 하지 않고 정해진 수의 클러스터들로 데이터를 나누는 방법으로 군집화 (클러스터링)라고 한다. 이 방법은 파라미터 최우추정(MLE)과 밀접하게 관련되어 있다.
클러스터 구분의 최적화 규준
클러스터링을 통해 데이터들을 클래스로 분류를 하게 되면 오차가 발생하게 된다. 클래스의 중심이 되는 값(클래스 내에 가장 밀도가 높은 지점)과 그 클래스로 분류된 데이터간의 차가 최소가 되도록 하는 것이 최적화 과정이다.
이 때 특징 벡터 x의 개수(N)는 항상 클래스의 개수(K)보다 훨씬 많고 서로 관계는 대부분 비선형이므로 직접적으로 최적의 값을 찾는 것은 불가능하다. 따라서 반복적인 최적화 과정을 통해 오차를 최소화 할 수 있다.
군집화에서 고려해야하는 중요한 문제점
1) 최적의 클래스(확률분포모델) 개수는 몇 개 인가?(K의 개수 결정)
2) 주어진 데이터에서 가장 근접한 클래스(확률분포모델)는 무엇인가?(클러스터링 과정)
3) 오차가 가장 최소가 되는 클래스(확률분포모델)는 무엇인가?(클래스 특징을 변화)
위의 3가지 문제를 고려하여 클래스 구성과 최적화 과정을 EM알고리즘을 통하여 진행한다.
K-means 알고리즘을 통하여 반복 수행하여 각 데이터들이 최소 오차를 가지는 군집으로 나뉘어 진다
혼합 모델의 구조
일반적인 혼합 모델
일반적인 유한 차원의 혼합 모델은 다음의 구성요소로 이루어진 계층적 베이즈 모델 이다. :
- N 관측에 대응 되는 확률 변수, 각각의 관측은 'K'개의 요소의 혼합에 의해 분포되어 있다고 가정한다. 각 구성요소는 같은 parametric family를 공유하는 확률 분포에 속한다. (즉, 모두 가우시안 분포이거나 모두 Zipfian 분포에 속하는 등.)
- N 개의 잠재 변수들은 각각의 관측결과에 대해서, 혼합 구성요소의 존재를 나타낸다. 각각은 K 차원의 다항 분포를 따라 분포한다.
- K 개의 혼합 가중치 집합. 각각은 합이 1이 되는 확률값이다.
- K 개의 파라미터 집합, 각각은 대응되는 혼합 구성요소의 파라미터를 나타낸다. 예를 들어, 1차원 가우시안 분포의 혼합에 따라 분포된 관측 결과들은 각 구성요소마다 평균과 분산값이 있다. 또, V차원 다항 분포의 혼합에 따르는 관측(예를 들어, 각 관측결과가 V개의 단어집합에 속하는 단어일 경우)은 V개의 확률 값을 가지는 벡터를 가진다. (전체적인 확률 값의 합은 1이 되어야 한다.)
추가적으로, 베이지안 세팅에서는 혼합 가중치와 파라미터들 자체가 확률 변수이며, 그러한 변수들에 대한 사전확률이 정의되어야 한다. 그런 경우에 가중치들은 보통 디리클레 분포로 부터 뽑은 K차원의 랜덤 벡터라고 간주한다. (디리클레 분포는 다항 분포의 conjugate prior이다.)
따라서 파라미터들은 해당하는 conjugate prior에 따라 분포 될 것이다.
수학적으로, 기본적인 파라미터 혼합 모델은 다음과 같이 나타낼 수 있다 :
혼합 구성요소의 수
관측 데이터의 수
구성요소와 연관된 관측의 분포의 매개변수
혼합 가중치 즉, 특정 구성요소의 사전 확률
로 이루어진
차원의 벡터
관측 데이터 i의 구성 요소
관측 데이터 i
관측의 확률 분포 매개변수 

베이지안 세팅에서, 모든 파라미터들은 확률 변수와 다음과 같이 연관되어 있다. :
위와 같음
위와 같음
위와 같음
구성요소 매개변수에 대한 공유 하이퍼 매개변수
혼합 가중치에 대한 하이퍼 매개변수
매개변수를
로 하는 구성요소 매개변수의 사전 확률

데이터가 정규분포 혼합모델에서 관측되었다고 가정하고(모수적방법), EM알고리즘을 통해 매개변수들을 추정하는 과정이다. EM알고리즘을 반복하면서 매개변수들이 수렴하고 두개의 군집으로 나타나는 것을 확인 할 수 있다.
위와 같은 정의에서 F와 H는 각각 관찰과 파라미터에 대한 임의의 분포를 묘사하기 위해 사용된다. 보통 H는 F의 conjugate prior이다.
F분포의 가장 흔한 선택 두가지로는 가우시안 분포(실수값을 가지는 관측) 그리고 다항 분포(이산적인 값을 가지는 관측)가 있다. 혼합 구성요소로 가능한 다른 일반적인 분포들로는 다음과 같은 것들이 있다. :
- 이항 분포, 고정된 수의 전체 발생 중에서 어떤 사건이 일어나는 횟수
- 다항 분포, 이항 분포와 비슷하나, 두가지 사건이 아닌 여러가지 사건중에 하나가 일어나는 횟수
- 푸아송 분포, 주어진 기간동안 특정 사건이 일어나는 횟수 (사건이 일어나는 비율 고정되어 있을 때)
- 지수분포, 다음 사건이 일어나기 까지의 시간 (사건이 일어나는 비율 고정되어 있을 때)
- 로그 정규분포, 지수적으로 증가하는 실수 값 (수입이나 가격)
- 다변수 정규분포 결과가 관련되어 있는 벡터 값 , 각 값들은 가우시안 분포를 가진다.
구체적인 예
가우시안 혼합 모델
plate notation 을 사용하여 나타낸 비(非)베이지안 혼합모델. 작은 사각형들은 고정된 파라미터들을 나타낸다. 큰 사각형들은 확률변수를 나타낸다. 색이 채워진 도형들은 알려진 값을 나타낸다. [K]는 사이즈
K인 벡터를 의미한다.
대표적인 비(非)베이지안 혼합모델은 다음과 같다.
위와 같음
위와 같음
위와 같음
구성 요소 i의 평균
구성 요소 i의 분산

plate notation 을 사용하여 나타낸 베이지안 가우시안 혼합 모델. 작은 사각형은 고정된 파라미터를 뜻한다. 큰 원들은 확률 변수를 의미한다. 색이 채워진 도형들은 알려진 값을 나타낸다. [K]는 사이즈
K인 벡터를 의미한다.
베이지안 버전의 가우시안 혼합 모델은 다음과 같다.
위와 같음
위와 같음
위와 같음
구성 요소 i의 평균
구성 요소 i의 분산
공유되는 하이퍼 매개변수

가우시안 혼합 모델
베이지안 가우시안 혼합 모델은 흔히 미지의 파라미터 벡터에 적용될 수 있도록 확장되거나, 다변수 정규 분포로 확장된다. 다변수 분포에서(즉 N 개의 확률 변수를 모델링할 때,
), 파라미터 벡터를 모델링할 때, 다음과 같이 가우시안 혼합 모델 사전 분포를 사용하여 추정 할 수 있다.

벡터의 ith 요소는 가중치
, 평균
그리고 공분산
을 갖는다. .
이러한 사전 확률을 베이지안 추론에 통합하기 위해서, 사전 확률은 조건부
데이터
의 알려진 분포
와 곱해져야 한다. 이러한 공식하에서 posterior
확률 역시 다음과 같은 형태의 가우시안 혼합 모델이다.

새로운 파라미터들은
and
EM 알고리즘을 이용해서 업데이트된다.
EM 기반의 파라미터 업데이트 방식들을 사용하는 방법은 이미 잘알려져있지만, 이러한 파라미터들의 초기 추정치를 알아내는 것은 현재에도 활발하게 연구되고 있다. 이러한 공식화는 complete posterior 분포의 closed-form 해를 구할 수 있게 한다. 확률 변수
의 추정치들은 여러개의 posterior 분포의 최댓값이나 평균 등의 추정자들 중 하나로 구할 수 있다.
다항 혼합 모델
Non-Bayesian categorical mixture model using plate notation. 작은 사각형은 고정된 파라미터를 뜻한다. 큰 원들은 확률 변수를 의미한다. 색이 채워진 도형들은 알려진 값을 나타낸다. [K]는 사이즈
K인 벡터를 의미한다.
대표적인 다항 분포의 비(非)베이지안 혼합 모델 관측은 다음과 같다.
위와 같음
위와 같음
위와 같음
다항 관측의 차원 (예, 단어의 수)
구성요소
가 데이터
을 관측할 확률
로 이루어진
차원 벡터, 합이 1이 되어야 함.
확률 변수들은 다음과 같다.:

Bayesian categorical mixture model using plate notation. 작은 사각형은 고정된 파라미터를 뜻한다. 큰 원들은 확률 변수를 의미한다. 색이 채워진 도형들은 알려진 값을 나타낸다. [K]는 사이즈
K인 벡터를 의미한다.
대표적인 다항 분포의 베이지안 혼합 모델 관측은 다음과 같다.
위와 같음
위와 같음
위와 같음
다항 관측의 차원 (예, 단어의 수)
구성요소
가 데이터
을 관측할 확률
로 이루어진
차원 벡터, 합이 1이 되어야 함.
각 구성요소에 대한 공유 집중 하이퍼 매개변수 
집중 하이퍼 매개변수 
확률 변수들은 다음과 같다.:

식별성(Identifiability)
정의
- 식별성은 특정 클래스에서의 어떠한 모델에 대해서 고유의 특성의 존재를 말한다. 모델이 식별 가능하지 않다면, 추정 과정이 잘 정의되지 않거나 점근적 이론(Asymptotic theory)이 성립하지 않을 수 있다.
예시
- 사후확률이 포함하는 봉우리의 개수가 몇 개인지 찾는 것은 굉장히 어려운 문제다. K개의 모델이 혼합되어있는 혼합모델은 K!의 라벨링 경우의 수가 있는데, 이 중 몇 개의 피크는 하나로 합쳐질 수 있기 때문이다. 특히 가우시안 혼합 모델에 대한 최적의 최대 우도 추정을 찾는 방법이 NP-hard 문제라고 알려져 있다.
매개 변수 추정과 시스템 확인
- 매개변수 혼합 모델은 우리가 Y의 분포를 알고 있거나 X의 샘플을 가지고 있을 때 자주 사용 된다. 그러나 우리는 ai와 θi의 값을 결정하기를 원한다. 그러한 상황은 몇 개의 다른 분포가 혼합된 것으로 부터의 샘플을 통해 정보를 얻을 수 있다.
- 혼합 모델의 확률의 생각은 공통적으로 사라진 정보 문제에서부터 온다. 이때 사라진 정보는 샘플 데이터들이 어떠한 확률분포모델에 속해있는지에 대한 정보이다. 이를 이해하는 한 가지 방법은 데이터 좌표가 우리가 적용하고자 하는 모델의 분포 중에 하나의 모델에 적합하게 위치한다는 것을 가정하는 것이다. 이 추정에서 할 일은 우리가 선택한 모델의 함수에 맞는 적절한 매개변수를 고안하는 것이다. 데이터 좌표에 대한 연결은 각각의 개별 모델의 분포의 연관성으로 표현 된다.
- 혼합의 분해에 대한 문제의 다양한 접근이 제시되었다. 대부분 expectation maximization (EM) 또는 maximum a posteriori estimation (MAP) 와 같은 maximum likelihood 방식에 초점을 많이 맞추고 있다. 일반적으로 이러한 방법은 매개변수 추정의 문제와 시스템 정체확인으로 분리하여 고려된다. 즉 다시 말하면, 샘플 데이터들이 어떠한 확률분포모델에 속하는지 결정을 하는 과정과 확률분포모델의 매개변수를 새롭게 업데이트 하는 과정의 반복으로 문제를 해결한다.
EM(Expectation Maximization)알고리즘
- EM 알고리즘은 1958년에 Hartley에 의해서 처음 제안되었고 1977년에 Dempster에 의해서 체계화되어 된 군집 알고리즘이다. EM 알고리즘은 K-Means 알고리즘과 마찬가지로 초기 모델을 생성한 후 반복 정제과정을 통하여 모델을 최적화된 모델을 생성해간다. EM 알고리즘은 반복 정제 과정을 통하여 각 객체들이 혼합 모델(Mixture Model)에 속할 가능성(Probability)을 조정하여 최적의 모델을 생성해 간다. K-Means 알고리즘에서는 유클리디언(Euclidean) 거리 함수를 사용하는 반면에 EM 알고리즘은 log-likelihood 함수를 사용하여 모델의 적합성을 평가한다. 즉, K-Means가 거리 기반 군집 방법인 것에 비하여 EM은 확률 기반 군집(Probability-based clustering)이라고 한다.
- EM 알고리즘은 Finite Mixture Model 통계 개념에 기반하고 있다. Mixture 하는 것은 여러 개의 확률 분포를 혼합된 것을 의미한다. 군집의 개수가 k라고 하면 k개의 확률 분포를 갖는 것을 의미한다. EM 알고리즘에서는 각 레코드들은 여러 개의 확률 분포 모델(군집)에 속하는 가중치를 가지고 배정된다.
EM 알고리즘
입력: 군집의 개수 k, 입력 데이터(샘플데이터), 종료 조건
출력: Log-likelihood를 최대화 하는 k 군집의 가중치 값과 군집의 매개변수 값

(1) 추정 단계(Expectation Step)
k개의 확률 분포(군집)에 대하여 각 레코드들이 속할 확률을 계산하여 weight 로 변환하여 배정한다.
![Q(\boldsymbol\theta|\boldsymbol\theta^{(t)}) = \operatorname{E}_{\mathbf{Z}|\mathbf{X},\boldsymbol\theta^{(t)}}\left[ \log L (\boldsymbol\theta;\mathbf{X},\mathbf{Z}) \right] = \sum_{\mathbf{Z}} p(\mathbf{Z}|\mathbf{X}, \boldsymbol{\theta}^{(t)}) \log L(\boldsymbol\theta;\mathbf{X},\mathbf{Z})](https://wikimedia.org/api/rest_v1/media/math/render/svg/3143bc24fbbfec0a4a5000b1185707834ec554b6)
(2) 최대화 단계(Maximization Step)
혼합모델의 매개변수들을 업데이트한다

(3) 종료 조건
반복하는 과정에서 Log-likelihood의 변화 정도가 입력받은 종료 조건 값보다 작아 질 때 종료한다.
그렇지 않는다면 (1)의 과정으로 다시 돌아가서 반복한다.
|
EM알고리즘과 K-means 알고리즘과의 관계
- K-mean 알고리즘은 임의의 데이터 셋을 클러스터링 할 때 쓰이는 알고리즘으로, 가우시안 혼합 모델의 EM 알고리즘과 비슷하다. K-means 알고리즘의 경우, 각 데이터 포인트에 클러스터를 정확히 1가지 지정하는데에 반해(hard assignment), EM알고리즘은 여러개의 클러스터에 대해 사후 확률에 비례하도록 지정한다(soft assignment). 실제로 가우시안의 혼합 EM 알고리즘으로 부터 K-means 알고리즘을 다음과 같이 유도할 수 있다.
- 공분산 행렬이
인 가우시안 혼합 모델을 고려하자.
은 모든 혼합 구성요소들이 공유하는 분산값이고
는 항등 행렬이다. 따라서,

- 이제 위와 같은 K개의 가우시안 혼합 모델을 위한 EM알고리즘을 고려하면, 특정 데이터 포인트에 대한 사후확률은 다음과 같다.

일 때, 분모의 항중 가장 작은
를 가진 항이 천천히 0 값에 가까워지므로, 데이터 포인트
에 대한 사후확률
은 j를 제외하고는 모두 0이 되고 j에 대한 사후확률은 1이된다. 이것은 모든
값이 0이 아닌 한,
에 관계없이 성립한다.
- 따라서 위와 같은 경우, 클러스터 지정은 k-means 알고리즘과 똑같이 이루어진다. 따라서 데이터 포인트들은 가장 가까운 거리에 있는 클러스터에 배정되게 된다.
- K-means 알고리즘에서는 클러스터의 평균값만 추정하고 공분산값은 추정하지 않는다.
혼합 모델의 응용
가우시안 혼합 모델의 응용
- 가우시안 모델은 자연적인 현상을 표현하기에 좋은 모델이기 때문에, 많은 분야에서 가우시안 모델이 사용될 수 있다.
- 두 개 이상의 봉우리를 가진 분포를 최소의 오류로 모델링하기 위해서는 여러 개의 가우시언 분포를 사용하는 가우시안 혼합 모델을 사용해야한다.
- 이러한 과정을 통해 가우시언 혼합 모델을 아래와 같은 응용에 적용시킬 수 있다.
금융 모델
주택 가격
퍼지 영상 분할(Fuzzy image segmentation)
문서의 주제
필기 인식
- 다음 예시는 Christopher M. Bishop, Pattern Recognition and Machine Learning 의 한 예시를 바탕으로 하였다.
- 손으로 쓴 0과 9 사이의 숫자를 스캔한 N*N 크기의 흑백 이미지가 있는데, 어느 숫자가 쓰였는지는 모른다고 가정하자. 여기서 K=10인 서로 다른 성분으로 되어 있는 혼합 모델을 만들 수 있다. 각 성분은 크기가
인 베르누이 분포(픽셀 당 하나)의 벡터로 되어 있다. 이 모델은 EM 알고리즘을 분류되지 않은 세트의 손으로 쓴 숫자에 적용시켜 훈련될 수 있고, 쓰인 숫자에 따라 이미지를 효과적으로 분류할 수 있다. 이와 같은 모델을 분류뿐만 아니라 다른 이미지의 숫자를 인식하는 데에 사용할 수 있다. 이는 모델에서 새로운 이미지에 대한 각 숫자의 확률을 계산하여 가장 높은 확률을 나타내는 숫자를 결과 값으로 나타내면 된다.
- 베르누이 혼합 모델은 손으로 쓴 숫자에 대한 전체적인 모델링에 사용된다.
- 하나의 데이터
가 D개의 2진 변수
를 가지고 있고,
가 매개변수
에 대해서 베르누이 분포를 가진다고 하면 그 식은 다음과 같다.


,
and 
- 이 분포에 대한 혼합 모델은 다음과 같다.
: 혼합계수
- 이 혼합모델을 풀기 위해서 EM 알고리즘의 각 단계(E단계, M단계)를 위한 식을 구해야 하고, 이 혼합모델에 대한 최대 우도 추정을 구해야한다.
- 완전한 데이터 로그 우도(Complete data log likelihood)
를 구하는 과정은 다음과 같다.



- 위 값을 최대화 하는
값을 업데이트하는 과정이 기댓값(Expectation) 과정이다.

- E 단계에서 구한
을 이용하여 모델 매개변수를 업데이트하는 과정이 최대화(Maximization) 과정이다.


- 따라서 위 EM 과정을 반복할수록 로그 우도를 최대화하는 매개변수에 수렴하게 되고, 이를 통해 손으로 쓴 숫자를 0~9까지 분류하여 판별할 수 있다.
직접적인 또는 간접적인 응용
- 위의 금융에 적용한 예시는 혼합 모델의 직접적인 응용 중 하나이다. 왜냐하면 근본적인 메커니즘을 가정하여 각각의 관찰된 정보가 서로 다른 구성성분이나 범주 중 하나에 반드시 속하도록 하였기 때문이다. 그러나 이러한 근본적인 메커니즘은 관찰될 수도 있고, 관찰되지 않을 수도 있다. 이러한 형태의 혼합 모델에서 각각의 구성 성분은 하나의 확률 밀도 함수에 의해 나타날 수 있다. 그리고 각 구성 성분의 계수는 관찰된 정보가 이 성분으로부터 올 확률에 해당한다.
- 혼합 모델의 간접적인 응용에서는 위의 메커니즘처럼 가정할 수 없다. 혼합 모델이 단순히 수학적으로 다루기 쉽도록 사용되는 것이다. 예를 들어, 서로 다른 2개의 정규 분포의 혼합 모델은 표준 범주형 분포(Standard parametric distribution)에 의해 모델링되지 않은 2개의 모드의 분포를 나타낸다. 또 다른 예로 혼합 모델을 사용하여, 기본적인 가우시안 분포보다 더 평평한 꼬리 부분(tail)을 만들어서 극단적인 사건에 대해 더 잘 모델링되도록 하는 것이다.