고급통계모형/판별분석discrimnant

판별분석2

학위논문통계 2016. 8. 6. 22:39

이글은 판별분석과 인공지능에 같이 올립니다.

 

 

1.

 

삼성에서 홍채인식을 한다고 하죠. 제 글을 읽으신 분들은 이거 별거 아닌 것 아시겠죠. 은행과 달라 이 세상 사람들 모든 홍체에 대한 정보가 필요없죠. 핸드폰 주인과 주인 아닌 사람 딱 두 개로 나눠지고 주인 아닌 사람들의 홍채를 하나의 표준 홍채로 만들 수가 없습니다.

 

그래서 핸드폰 주인의 표준 홍채 이미지를 저장하고 인증할 때 들어오는 새로운 홍채 이미지와 비교해서 비슷하면 핸드폰 주인이라 인식하고 비슷하지 않으면 인증을 거부하면 됩니다.

 

은행과 달리 핸드폰에는 엄청난 정보나 비밀이 있는 것이 아니기 때문에 좀 느슨하게 인증하면 됩니다. 어느 정도 비슷하면 주인이라 인증한다는 것이죠. 빡빡하게 하면 인증할 때 마다 거부하면 사람들 짜증이 많이 나겠죠.

 

 

 

2.

 

다시 판별 분석으로 들어가서 키와 몸무게로 성인 남자와 성인 여자를 구별하는 문제로 들어가 보죠. 다음 그림은 가상적인 성인 남자와 성인 여자의 키와 몸무게 데이터입니다.




 

 

    

그림에서 딱 보면 눈 대중으로 직선 C를 구하면 남자와 여자 쉽게 구별이 되겠죠.

 

예를 들어 직선 C의 식이

 

Z=a+b*키+c*몸무게

 

에서 a, b, c를 구한 다음 새로운 사람의 키와 몸무게 데이터 (키 값, 몸무게 값)이 들어오면 저 식에 대입하여 양수가 나오면 남자, 음수가 나오면 여자로 판단하면 되죠.

 

이 직선을 구하는 것은 SVM(support vector machine)이라고 합니다. 눈 대중으로 굉장히 직관적이지만 실제로 a, b, c를 구하는 것이 그렇게 쉽지 않습니다.

 

정확한 의미는 아래 그림을 참조하시기 바랍니다. 첫 번째 그림은 우리가 그린 위 그림처럼 남자, 여자가 직선으로 정확하게 짤라지는 경우이고요. 실제는 저런 경우가 거의 없죠. 두 번째 경우는 정확하게 양분되지 않는 경우입니다.




 

    


 

3.


남자 데이터에 두 개의 직선이 그려져 있죠. 이 두 개의 직선이 고유벡터입니다. 지금은 (키, 몸무게) 두 개의 변수만 있어서 마치 타원형 처럼 그려져 있지만 만약 (키, 몸무게, BMI 지수) 처럼 3개의 변수가 있으면 그림은 럭비공 모양을 하고 고유벡터는 3개가 나옵니다.

 

그럼 이 고유벡터는 어떻게 구하는가? 공분산 행렬로 구합니다. 변수를 표준화, 즉 평균이 0, 표준편차가 1로 만들면 공분산 행렬은 상관계수 행렬이 돕니다.

 

공분산 행렬의 고유값을 구해 고유값이 가장 큰 것에 해당하는 고유벡터가 저 타원형의 긴축인 A 직선이 되고요, 두 번째 큰 고유값에 해당하는 고유벡터가 짧은 축인 B 직선이 됩니다.

  


  

여기서 중요한 것은 저 A, B의 고유벡터를 제대로 해석하는 것입니다. 이것 어떻게 해석할 까요.

 

A는 키가 커지면 몸무게로 커지는 관계입니다. 따라서 키와 몸무게가 커지면 A 값이 커지고 키와 몸무게가 작아지면 A 값도 작아집니다. 따라서 A는 일반적인 체력으로 해석할 수 있습니다.

 

반면 B는 반대 반향이죠. 키가 작아지면 몸무게가 커지죠. 그래서 B는 BMI 지수 같은 것으로 해석할 수 있습니다. 즉 비만지수 같은 것입니다. 키가 작은데 비해 몸무게가 크면 비만지수가 커지겠죠.

 

현실의 데이터는 간단한 문제를 빼고 매우 복잡합니다. 예를 들어 기업을 평가할 때 기업의 제무제표 지표는 무지하게 많습니다. 이걸 일일일 다 분석하기 힘듭니다. 그럼 중요한 몇 개의 변수를 뽑아냅니다. 이 때 위에 그림 고유벡터 갖은 것을 뽑아낸다는 것이죠. 이게 PCA (Principal Component Analysis:주성분 분석)입니다.

 

또 증시에 수 많은 상장회사가 있습니다. 이걸 주성분 분석해서 몇 게의 중요한 변수로 축약해서 상장회사를 분석한다는 것이죠. 또 숫자나 얼굴 인식할 때 수 많은 표본 이미지가 있습니다. 이 때 100*100 흑백 이미지라면 천 개의 변수가 존재합니다. 이 때 10000개의 변수를 주성분 분석해서 중요한 요인만 뽑아 새로운 이미지를 만듭니다. 이건 나중에 다시 한번 설명하겠습니다.

 

 

 

4.

아래 그림은 타원형과 고유값, 고유벡터의 관계를 그린 그림입니다. 타원형 공식은 이미 고등학교에서 다 배웠죠.










 

이쪽에서는 행렬을 가지고 많이 분석합니다. 예를 들어 우리가 2차원 공간에서 원점에서 어떤 점 (x1, x2)간의 거리를 구할 때 다음과 같은 공식을 씁니다. 골치 아프니까 루트는 빼죠.

 

d=x12+x22

 

이걸 행렬로 표시하면

 

d=x'Ax

=

 

 

모양이 좀 이상하지만 거리를 위 행렬 모양으로 쓸 수 있습니다. 위의 있는 거리 공식은 유클리디안 공간에서 사용되는 공식입니다.

 

현실에서는 이 공식은 틀린 겁니다. 우리가 거리를 잴 때 평면처럼 생각하고 위 공식을 사용하지만 현실은 우리가 있는 공간은 지구 위, 즉 삼차원 공간에서 있거든요.

 

즉 구의 한 점에서 다른 점까지 거리를 구해야 합니다. 수학을 좀 아시는 분은 알겠지만 구는 특별한 공간입니다. 삼각형의 합이 180%도 보다 큽니다. 직선을 구하기도 쉽지 않습니다. 그래서 일반화해서 직선이라는 말을 쓰지 않고 geodesic 이라는 말을 씁니다.

 

우리가 공간을 이해할 때 저 거리 공식 안에 있는 행렬 A가 매우 중요한 역할을 합니다. metric tensor라고 하는데 우리가 삼 차원 안에 있는 지구를 항해할 때나 GPS 할 때 좌표전환을 계속하면서 저 metric tensor를 바꿔 가면서 계산을 해야 합니다.

 

통계학에서 좀 다른 공식을 사용합니다. 어떤 점 (x1, x2)에서 평균 (m1, m2)까지 거리를 구할 때

 

d=(x1-m1)2+(x2-m2)2

 

이렇게 구하지 않고 행렬A 대신 공분산 행렬의 역행렬 을 사용합니다. 실제 공분산을 모르니까 표본 공분산 행력을 사용하여 S-1을 사용합니다.

 

왜 이렇게 하는가?

 

예를 들어 학생들의 국어 점수와 수학 점수를 비교해보죠. 둘 다 100점 만점이라고 하죠. 국어 점수의 분포는 평균을 중심으로 상당히 밀집하게 밀려 있고, 수학 점수는 평균을 중심으로 평평하게 퍼져 있다고 생각할 수 있죠. 즉 국어 점수의 표준편차(분산)을 작고 수학 점수의 표준편차(분석)은 상당히 크다고 볼 수 있습니다.

 

이럴 경우 평균 근처에서 국어 점수의 10점 차이에는 수 많은 학생들이 들어가 있습니다. 즉 등수 차이가 많이 난다는 것이죠. 이에 비해 수학 점수는 평균 근처에서 10점 차이라도 국어에 비해 그 안에 있는 학생들의 수는 많지 않습니다.

 

그래서 등수를 거리 개념으로 보면 국어 점수의 경우 똑 같은 점수 차이라 해도 거리가 상당히 큰 반면 수학 점수는 거리가 상당히 작다고 볼 수 있습니다.

 

수능시험에서 표준화 점수라는게 이런 작업을 하는 것입니다.

 

즉 결론적으로 표준편차(분산)가 작으면 거리가 커지고 표준편차가 크면 거리가 작아지는 현상이 일어납니다. 통계학 책을 자세히 보면 거리를 재는 개념이 많은데 이때 분모를 자세히 보면 표준편차로 나눠져 있거나 공분산 행렬로 나눠져 있는데 이게 이런 이유 때문에 그렇습니다.

 

이런 통계학 거리를 Mahalanobis 거리라 합니다.

 

 

 

 

 

 

 

 


'고급통계모형 > 판별분석discrimnant' 카테고리의 다른 글

판별분석1  (0) 2016.07.25