인공지능관련/인공지능(AI)

mixture, Pet, neural net

학위논문통계 2016. 5. 9. 14:18




음... 한글에서 수식 작업한게 이제는 다음 블로그에 바로 올라가네요. 이젠 작업이 많이 편해져서 매우 좋네요. 은행에서 또 홍채, 지문, 얼굴인식 등을 하겠다고 하는데 정말 코메디한다는 생각입니다.

 

 

1. Mixure Model

 

 

지난 글에서 히든변수가 들어 있는 EM 알고리즘에 대해 설명을 했는데 그런 현상 자체가 바로 크게 공감이 안 될 겁니다. 간단한 예를 들어 볼게요. 10살 이하 어린이와 성인을 대상으로 키에 대해서 데이터를 뽑았습니다. 데이터 X=(170, 120, 110, 160, 180) 이렇게 나왔다는 것이죠. 이 값들이 어떤 집단에서 온지는 모릅니다. 그럼 우리가 상식적으로 생각할 때 (120, 110)은 10살 이하 어린이 집단에서 온 데이터라고 생각하고, (170, 160, 180)은 성인집단에서 온 데이터라고 생각할 겁니다.

 

그러면 이 데이터를 가지고 어린이 집단의 키의 평균과 표준편차를 추정할 수 있을 것이고, 성인집단의 키의 평균과 표준편차를 추정할 수 있을 겁니다. 표본 표준편차는 계산하기 귀찮으니까 표본 평균만 생각하면 어린이 집단의 키의 평균은 115.0이라 추정하고 성인집단의 키의 평균은 170이라 추정할 겁니다. 그리고 어린이 집단은 비율은 0.4, 성인집단의 비중은 0.6라고 생각할 것이고요.

 

EM 알고리즘은 이런 작업을 이론적으로 하는 것입니다. 위의 예는 극단적이라 상식적으로 판단하면 되지만 만약 두 집단이 성인의 남자 집단, 여자 집단에서 키를 조사한 것이라면 이젠 눈 대중으로 안되는 것이죠. 키가 160-170 사이에 있는 경우는 여자 집단에서 온 것인지, 남자 집단에서 온 것인지 판단이 안되는 것이죠.

 

EM알고리즘은 수학적으로 풀어야 하는 부분과 수치해석처럼 풀어야 하는 두 부분이 같이 있습니다. 그래서 수학적으로 풀어야 하는 부분, 즉 E[f(x,u|a)]가 간단하지 않습니다. 이걸 사람들이 나중에 MCMC로 풀려고 합니다. 나중에 조금 더 이야기해보고요. EM 알고리즘을 푸는 예를 보시려면 Davison의 Statistical Models 라는 책을 보시기 바랍니다. 이것도 인터넷에 돌아다닙니다.

 

E[f(x,u|a)]는 정확하게는 f(x,u|a)를 u|x에 대해 기댓값을 취하는 것입니다. 말이 어려운 것 같지만 조건부 확률분포 즉 관찰 가능 변수 x 값이 주어졌을 때 히든 변수 u의 확률분포 f(u|x)를 구해 적분하면 됩니다. 즉

 

 

를 구해 이것을 최대화하는 a를 구하고 여기서 구한 a를 위의 식에 집어 넣고 또 구하고 이런 반복적인 작업을 합니다. 그래서 수치해석처럼 푸는 것 같지만 실제로는 기댓값(expectation) 구하고, 이걸 최대화(maximization, 그래서 EM) 시키는 a를 구하는 것을 수학적으로 풀어냅니다. 통상 f(u|x, a)는 주어지지 않기 때문에 f(x|u, a)에서 구해야 합니다.



즉, 확률공식, 또는 베이지안 공식을 써서

 

 

 

이 공식을 가지고 장난질을 하는 것입니다.


 

여기서 f(x|u)는 간단하죠. u=10대 이하 아동이면 즉, f(x|u=아동)이면 정규분포 평균이 b이고 표준편차가 s1이고 u=성인이라면 f(x|u=성인)는 정규분포 평균이 c 이고 표준편차가 s2라 가정하면 됩니다. 식에서 x는 실제 벡타값입니다. x=(x1, x2, ..., xn)이고 u는 베루누이 시행이라 볼 수 있습니다. 모수 p를 아동의 비율, 그럼 1-p는 성인의 비율이 되고요, 그래서 실제 모수 a=(p, b, s1, c, s2) 다섯 개가 됩니다.

 

아래 그림은 Davison 책에서의 일반적 풀이입니다.

    



 

 

 

 

 

 

 

 

 

2. PET 모형

 

이 PET 모형이 뇌사진 찰영하는 기법입니다. 위의 Mixture 모형보다 복잡합니다. 아래 그림을 보시죠.

 

 

 

    pet에서 뇌의 제일 위 부분 화살은 잘못된 것입니다.

 

뇌의 j 위치에서 detector의 다양한 위치 i로 갈 수 있고, detector i 위치에서 발견한 입자 수 Yi는 뇌의 다양한 위치 j에서 올 수 있습니다. 그래서 매우 복잡한 모형입니다. 좀 더 실감나게 그리면 아래처럼 되겠습니다. 뇌사진의 음영의 정도는 뇌의 활성화 정도로 생각할 수 있게고, 디텍터에서 음영의 정도는 관찰된 입자의 수라 생각하시면 되겠습니다.  

 

 

 

 

 

 

 

 

 

 

 

디텍터

 

 

 

뇌사진

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

현상: ===>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

추론: <===

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p(ij)는 뇌의 j 부분에서 출발한 입자가 detector의 i 부분에서 관찰된 확률입니다. 이건 통상 주어지는 것으로 합니다. 왜냐하면 머리 j 부분에서 입자를 쏠 때 이게 반사되어 detector i 부분에 맞을 확률은 3차원의 기학적인 문제 풀이이거든요. 물론 실제 상황에서는 다른 요인들이 작용할 수 있죠. 뇌의 j 위치에서 detector의 i 위치로 튀어나간 입자의 수 Uij는 관찰되지 않습니다. 즉 히든변수입니다. 그리고 일정시간에 일어난 사건의 횟수는 통상 포아송 분포를 가정합니다. 관찰된 변수는 Yi는 detector i 위치에서 발견한 입자의 수입니다. 즉, 관찰변수입니다. 이것 역시 포아송 분포를 가정합니다. i 위치에서 발견된 입자는 뇌의 다양한 j 위치에서 올 수 있습니다. 그래서

 

 

가 되고 i에서 관찰된 입자 수 Yi에서 뇌의 j 위치에서 올 가능성 f(u(ij)|y(i))는 이항분포입니다. 간단하게 j 위치에서 오는 경우와 j 위치가 아닌 위치에서 오는 경우 두 가지로 나눠 생각하면 됩니다. 다음은 Davison 책의 풀이입니다.









풀이 과정에서 생략된 부분이 많아 이해하기 좀 힘들시겁니다. 원 논문이 있는데 저자가 생각이 안나네요. 다음에 알려 드리겠습니다. 하여간 이 EM 알고리즘을 적용하면 뇌 사진이 좀 둔탁하다고 합니다. 따라서 여러 추가적인 기법을 쓰고, 또 베이지안 방법을 추가한 논문들도 있습니다.

 

 

3. 남녀 구별

 

인공지능으로도 남녀 사진 이미지를 보고 판단하기 쉽지 않다고 하죠. 남녀 사진 이미지를 10*10 회색이미지라고 보죠. 그럼 이쪽에서는 이미지라 생각하지 않고 0에서 255까지 숫자를 가진 10*10=100개의 변수로 봅니다. 행렬로 놓지 않고 그냥 벡터로 일자로 죽 늘이면 데이터는 그냥 X=(X1, X2, ..., X100)이 됩니다.

 

 

통계학 하는 사람에게 만명의 사람 이미지를 주고 남녀를 구별하는 인공지능을 하라고 하면 그냥 로지스틱 분석 같은 것을 합니다. 로지스틱 식은 다음과 같습니다. 종속변수 남자를 0, 여자를 1로 한 다음 로지스틱 결과가 나옵니다. 즉 예측 식이 나옵니다. 이때 로지스틱 결과의 예측값은 Pr(Y=1), 즉 여자일 확률이 됩니다. 그래서 남녀 구분이 없는 새로운 이미지 즉 새로운 데이터 (x1, x2,...,x100)가 들어오면 이 예측값에 넣고 이 값이 0.5보다 크면 여자라 판단하고, 0.5보다 작으면 남자로 판단하고 그렇게 하는 것이죠.

 

로지스틱 모형의 식을 잠깐 볼까요.

 

 

가 됩니다. 이걸 뉴런넷으로 한번 표현할까요.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

투입층

 

 

 

은닉층 z

 

 

 

결과층 y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x2

 

==>

 

 

z

 

==>

 

y=0 또는 1

 

 

 

 

 

 

 

 

 

...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x100

 

 

 

 

 

 

 

 

 

 

 

 

 

 

    


위 뉴런 모형은 정확한 것이 아닙니다. 통계학과 관련해서 비교하기 위해 만든 것입니다.

 

그럼 뉴런 넷과 전통적인 통계 방법론과 무슨 차이가 있을까요? 수식 표현은 똑 같습니다.

 

통계학에는 절약의 법칙(parsimony principle)이라는 것이 있습니다. 적합도가 크게 나쁘지 않으면 가능하면 모형은 간단하게 표현하는 것입니다. 오캄의 면도날과 비슷합니다. 적합도가 크게 나쁘지 않다는 이야기는 이런 분류의 문제에서는 오분류가 크게 차이가 나지 않으면 가능하면 간단한 모형을 택하라는 이야기입니다. 모형이 복잡해지면 무조건 데이터에 잘 적합됩니다. 즉 분류가 조금이라도 잘 됩니다. 그런데 왜 간단한 모형을 택하라는 것일까요? 첫째 나중에 새로운 데이터가 들어왔을 때 복잡한 모형이 오히려 분류가 더 나빠질수 있습니다. 즉 robust 하지 않습니다. 그리고 복잡해지면 인간이 그 모형을 이해하기가 힘듭니다. 또한 변수들간의 상관관계에 의해 다중공선성 문제가 발생할 수 있습니다.

 

그러면 어떻게 간단하게 하는가. 즉 독립변수의 수를 줄이는 것입니다. 이게 되기 위해서는 남녀 얼굴에서 남녀를 잘 구별해줄 수 있는 어떤 특징적인 성격을 변수로 집어 넣어야 한다는 것이죠. 그러나 현재 deep learning의 기본 생각은 그런 것이 필요없다는 것이죠. 이미지를 숫자로 변환하여 무조건 그냥 때려 넣어 위의 모양처럼 풀어 낸다는 것이죠. 빅데이타 때문에 데이터로 들어가는 것이 몇 만개, 몇 십만개 들어가고 또 은닉층을 더 많이 넣어 모형을 매우 복잡한 형태로 만들면 남녀 얼굴을 구별하는 특징적인 변수를 찾아내지 않아도 잘 할 수 있다는 것이죠.

 

다음은 남녀간의 키와 몸무게를 독립변수로 하여 남녀 구별하는 판별분석을 설명하겠습니다.

 

 

 

 

 

 

 

 


'인공지능관련 > 인공지능(AI)' 카테고리의 다른 글

엔트로피 단상  (0) 2016.06.10
그럼 MCMC는 도대체 뭔가?  (0) 2016.05.13
importance sampling, EM  (0) 2016.05.07
여론조사와 몬테카를로  (0) 2016.05.02
세일즈맨 문제와 알파고 문제  (0) 2016.04.30