Gaussian mixture model(2014. 06. 07.)
Computer Science/Image processing

Gaussian mixture model(2014. 06. 07.)

728x90
반응형

우리가 이미지를 잘 처리하기 위해 확률밀도함수PDF를 사용하는 것처럼

이미지의 밝기값에 따른 히스토그램을 알 수 없을 때

임의로 가우시안 모델을 따른다고 가정하고 시작한다.



그림에 나타난 데이터 분포를 표현하기 위한 확률 모델을 생각해 보자.

그림의 1차원 데이터의 경우를 보면, 데이터가 밀집되어 있는 그룹이 3개 정도로 나뉘어져 있기 때문에, 평균을 중심으로 하나의 그룹으로 뭉쳐져 있는 형태를 표현하는 가우시안 분포로는 그 특성을 제대로 표현하기 힘들다. 이를 바로 표현하기 위해서는 그림에서 보는 바와 같이, 3의 가우시안 분포를 함께 사용하는 것이 바람직하다

또한 {그림9-2}를 보면, 도우넛 형태의 데이터 분포를 가지고 있어서, 이 역시 하나의 가우시안만으로 표현하는 것은 불가능하다. 그런데 그림에서와 같이 여러 개의 가우시안들이 각각 특정 영역을 맡아 표현할 수 있도록 하고 그것들을 연결하면 어느 정도 유사한 형태의 확률 모델을 찾을 수 있을 것이다.

이와 같이, 복수개의 가우시안 분포들의 합으로 새로운 확률분포를 나타내는 가우시안 혼합 모델을 사용하면, 가우시안 분포함수 하나가 나타낼 수 없었던 분포 특성 뿐 아니라,아무리 복잡한 형태의 함수라도 충분한 개수의 가우시안 함수를 사용하기만 하면 원하는 만큼 정확하게 근사해 낼 수 있다.

이제부터는 수학적인 틀에 넣어 생각해 보려고 합니다.


먼저 가우시안 모델의 공식은 이와 같습니다.

평균과 분산이 주어지면 X값에 따른 y값이 나오는 함수로 표현하면 이와 같습니다.


K개의 가우시안안을 표현하는 모델은 이와 같습니다.

우리는 각각의 가우시안이 어떤 평균과 분산으로 이루어져 잇는지 알 수 없기 때문에 주어진 x 즉 밝기 값 정보를 갖고 가우시안의 평균과 분산을 추정해야 합니다.



우리에게 24개의 샘ㅁ플이 주어져잇따. X를 가지고 추정해야 하는 매개변수는 다음과 같다

2개의 가우시언을 사용한다고 가정하면 k2이다. 두번째 매개변수는 각 가우시언의 평균과 벡터이다.

세번째는가우시안의 각각의 영향력을 나타내는 가중치이다.

그림을 보면 1가우시안쪽에는 샘플이 82번가우시안에는 16개 있다고 하면 가중치는 각각 1/3 2/3으로 불 수 있다.

이제 왼쪽 아래의 식과 같이 주어진 샘플집합x모델링하였다.

하지만 실제로는 샘플이 어느 가우시언에 속할 것인가 불분명한 상황이 대부분 입니다.



왼쪽 그림의 histogram의 결과는 다음과 같습니다. 

우리는 이 histogram은 3개의 가우시안 모델로 estimation 할 수 있음을 직관적으로 알 수 있습니다.





“주어진X를 발생시켰을 가능성이 가장 높은 매개 변수 Θ를 찾아라.”

 이를 수학적으로 표현하면 주어진X에 대해 가장 큰 우도를 갖는 Θ를 찾아라.”

그림을 보면 6개의 샘플이 있다. 이 샘플x를 발생시킬 가능성은 Θ1Θ2보다 높다 이 사실을 우도로 표현하면

P(X| Θ1) P(X| Θ2)보다 높다고 할 수 있다.

우리가 풀어야 할 문제는 X가 발생했을 때 다시 말해 이미지의 밝기값에 따른 히스토그램이 주어졌을때

여러가지 가우시안 분포에서  어떤 Θ가 최대 우도를 갖을까?


우도를 수식으로 표현하면 이와 같습니다. 계산을 더 효율적으로 하기위해 로그우도를 이용합니다.

즉 특정 가우시언 분푸에 들어갈 가능성이 최대로 되게 하는 최적화문제로 공식화 하여 해를 찾고자 합니다.

이 최적화라는 것은 초기 해를 설정하고어떤 과정을 반복하여 이것을최적해에 조금씩 접근시켜 최적해에 가까운 값을 내는 것입니다.

지금까지는 최적화 문제를 유도하였고 그와 관련된 모든 수식을 제시하였습니다.

이제 이 최적화 문제를 어떻게 풀 것 인지만 해결하면 됩니다.

해결방법은 EM알고리즘을 이용하는 것입니다.





EM알고리즘은 2단계로 되어있는데 일단

첫째, 샘플이 어느 가우시언에 속하는지 추정하고

둘째 소속값 추정을 마친 후에 매개변수 집합을 추정합니다.

매개변수Θ에는 성격이 다른 두가지 매개변수가 있습니다. 하나는 k개의 평균과 분산이고 또하나는 혼합계수 b입니다.

이들 E단계와 M단계를 반복하다가 수렴조건이 만족하면 멈춥니다



EM알고리즘을 구체화 하기 위해서는 샘플x가 어느 가우시언에 소속되는지를 나타내는 새로운 개념이 도입되어야 합니다. 이 개념은 백터z표현햇습니다.

zk개의 요소중에서 하나만 1을 갖고 나머지는 0입니다.

이제 샘플x j번째 가우시언에서 발생했다고 가정하면 그때의 x의 조건부 확률을 이와 같이 쓸 수 있습니다. 이 확률을 우도 라고 볼수 있습니다.

(참고로 벡터 z는 주어진 x나 결과로 나타날 평균과 분산과는 달리 알고리즘의 입력이되거나 출력이 되지 않습니다. 이런 변수를 은닉변수라고 합니다)

또다른 중요한 확률은 xi가 관찰되었을 때 그것이 j 번째 가우시언에서 발생했을 조건부 확률 입니다. 이 확률은 사후확률로 간주할수 있고 공식화하면 이와 같습니다



앞에서 살펴보았던 다시 우리가 풀어야 할 문제인 3.22.를 보면 함수 ln p(x|0)를 최대로 하는 매개변수 0를 찾는 것입니다.

앞에서 살펴본 바와 같이 0는 평균과 분산 그리고 혼합계수가 있습니다.

미분의 성질에 따라 함수 ln p(x|0)최대점에서 μj 로 미분한 값이 0이 되어야 한다. 미분하고 정리하면 평균벡터를 구하기 위한 다음 식을 얻을 수 있다.

Njj번째 가우시언에 속할 확률을 구하고 이들을 모두 더한 값이기 때문에 j 번째 가우시언에 소속된샘플의 개수이다.

Μjj번째 가우시언에 속할 확률을 가중치로보고 이들을 곱하여 구한  j 번째 가우시언에 소속된 샘플의 가중치 평균이다.


평균벡터와 비슷한과정을 거치면 이와같은 식을 얻을 수 있습니다. 이 식은 j 번째 가우시언에 소속된 샘플의 공분산 행렬로 해석할 수 있습니다.

마지막으로 혼합계수를 라그랑제승스를 도입하여 정리하면 위와같은 식을 얻을 수 있습니다.

보면 ,j번째 가우시언의 영향력을 나타내는 가중치가우시언에 소속된 샘플의 개수를 전체 샘플의 개수로 나누어 구하라는 것이다.


이제 e단계에서 사용할 샘플의 소속확률 추정을 위한 식과

M단계에서 이용할 평균 분산 혼합계수를 위한 수식을 구했기 때문에 각각의 수식을 대입하면 알고리즘이 완성됩니다.


Μjj번째 가우시언에 속할 확률을 가중치로보고 이들을 곱하여 구한  j 번째 가우시언에 소속된 샘플의 가중치 평균이다















우도는 가우시안 함수값이다.

X가 어떤 가우시안에 소속되었는지를 나타내는 변수가 여기서 은닉변수이다.

















참고: 패턴인식 -오일석 저





















728x90
반응형