머신러닝

머신러닝의 초창기 Fisher 교수의 Linear Discriminant Analysis 기법으로 돌아가 보자::I

coding art 2019. 5. 10. 16:05
728x90


2025년 이후 미래의 취업 전쟁에서 연봉10억 이상을 꿈꾸십니까?

그렇다면 파이선 코딩을 배우는 초보자라도 바로 이 머신 러닝에

독학으로 한번 도전해 보세요. 왜냐구요? 그다지 어렵지 않으니까요!

인공 지능을 배우려는 파이선 코딩 초보자들이 가지게 될 확률이 높은 의문점들을

하나하나 찾아내어 실제 풀어보고 결과를 확인해볼 수 있는 머신 러닝!

인터넷 교보문고에서 450페이지19900원에 판매중입니다.











________________________________________________________________________________________________________________________

1936년 영국의 Fisher 교수와 Anderson 교수에 의해 150개의 데이터 세트로 구성된 붓꽃 데이터베이스(Iris flowers database)가 만들어졌다.

 

이미 오래 전 연구에서 탄생한 귀중한 데이터이기도 하지만 과연 이 데이터를 준비했던 Fisher 교수의 시대에는 계산기도 없던 시대였는데 어떤 방식으로 붓꽃 샘플데이터를 처리하여 분류했는지 그 방법론인 LDA(Linear Discriminant Analysis) 기법에 관해서 알아보자. 이 데이터 세트는 현재 scikit learn 라이브러리를 사용하는 Classification 머신 러닝 코드 연구과정에서 다양한 알고리듬을 시험하기 위하여 핵심적으로 사용되고 있지만 다루는 내용은 결국 1930년대 Fisher 교수의 시대에 고민했던 범주를 벗어날 수 없는 듯하다.

 

다음 그림과 같이 데이터들을 2 그룹으로 나눠보자. Classification 문제인 것이다. 시각적으로 쉽게 굳이 머신 러닝 기법을 사용하지 않고도 hyperplane 선을 그어 볼 수 있다.



과연 그렇다면 1936년에 붓꽃 데이터 베이스를 만들었던 LDA(Linear Discriminant Analysis) 기법을 창시했던 Fisher 교수는 어떤 아이디어로 붓꽃 데이터를 대상으로 Classification 작업을 했을까? Fisher 교수는 거의 바이오 통계학 분야의 원조급에 속하는 인물로서 우리가 알고 있는 통계학의 달인이라 보면 된다. 그 당시나 지금이나 통계학 하면 데이터, 평균, 표준편차, 분산 및 공분산 을 다뤄야 하므로 지금과 비교해 컴퓨터라는 툴을 제외하고는 아무런 차이가 없다고 볼 수 있다.

 

Fisher 의 아이디어는 시각적으로 표현해 보면 원점을 통과하는 직선을 그어서 각 데이터 점들로부터 수선을 그려보는 것이다.


즉 직선 위에 점들로부터의 수직선을 긋는다는 행위는 기하학에서 말하는 투영(projection) 작업에 해당한다. projection 1 projection 2를 비교해 보자. projection 1에서는 투영된 점들이 섞여 있지만 projection 2에서는 투영된 점들이 명확하게 구분되어 있음을 알 수 있다. projection 2 와 같은 결과를 얻어낼 수 있다면 classification 작업이 성공적이라고 할 수 있다.

 

Fisher 교수의 LDA 기법의 아이디어는 예를 들어 2차원 데이터를 1차원 낮춰 놓은 상태에서 Classification 이 가능해야 한다는 점이다. 이와 같이 차원을 낮춘 상태에서 2종류로 class 가 분할 되는 점을 찾아 수직선을 긋는다면 바로 이 직선이 hyperplane 선이 될 것이며 이 후로는 임의 의 데이터에 대해 그 데이터가 어느 class 영역에 속하는지 쉽게 판단할 수 있게 된다.

 

아울러 2차원 데이터들에 대한 투영 작업 과정에서 그룹별 데이터들에 대한 평균 값, 분산 값을 비롯한 각종 통계 인덱스들의 값도 변환이 일어날 것이며 이 변환된 통계 인덱스를 사용하여 hyperplane을 결정하도록 해 보자.