본문 바로가기

Enginius/Machine Learning

기계 학습과 수학적 뒷받침

 기계 학습(Machine Learning)이라는 단어를 접한지 이제 1년이 되어간다. 대학원 진로를 선택하면서 KAIST의 유회준 교수님께 처음 듣고 이 분야를 학부생 입장에서 열심히 공부를 했었다. 패턴인식과 추정이론, 두 대학원 과목을 들으면서 기계 학습에 사용되는 몇 가지 테크닉 들을 직접 해보기도 하면서 이 분야가 참 재밌다는 생각을 했다. 

 

 기계학습은 크게 세 가지 방법으로 분류될 수 있을 것 같다. 

1. Supervised Learning

- Supervised Learning은 훈련 data와 label을 같이 주는 것을 뜻한다. 다시 말해서 이 data는 어디에 속하고 이런 정보들을 모두 주고 학습을 시키는 것을 뜻한다. 여기에 속하는 알고리즘들은 통계학에서 주로 사용되는 알고리즘들이다. 

*Support Vector Machine(SVM)

*Hidden Markov Model(HMM)

*Artificial Neural Network(ANN)

*Bayes Classification

*PCA, MDA 

2. Unsupervised Learning

- Unsupervised Learning은 어렵다. 일반적으로 clustering에 많이 사용된다. 

- Deep Belief Network(DBM)나 Restricted Boltzmann Machine(RBM)이 이에 속한다. 

3. Reinforcement Learning 

- Agent based 에 많이 사용된다. 

- 사람의 학습을 모방해서 잘했을 때 보상을 주고, 그렇지 않을 때 벌을 주는 방식이다. 

- Hebbian Learning

 

모 여기까지는 1년동안 수박 겉핧기 식으로 알아본 기계 학습의 종류였다. 이 외에도 내가 모르는 수많가지 기계 학습이 있을 것이다. (혹시 이 글을 볼 지 모르는.. 전문가 분들은 댓글로 알려주시면 정말 감사하겠습니다.)


 여튼 이번 포스팅에서 중심을 두고자 하는 것은 기계 학습에 수학적 뒷받침이 필요한가 여부이다. 


 Supervised Learning의 경우 내가 아는 대부분의 알고리즘은 수학적으로 증명이 가능하다. PCA나 MDA의 경우 애초에 분산을 최소화, 최대화 하는 방향으로 clustering을 해주고, SVM의 경우 내가 모르는 어려운 수학을 통해서 VC dimension을 통해서 증명이 가능하다. (아래 동영상을 통해서 증명 가능 - 나도 나중에 다시 보기 위해서 링크를 걸어놓겠다. )

 




 하지면 unsupervised learning의 경우는 사정이 다르다. 몇몇 알고리즘의 경우 learning rule만이 존재할 뿐 얼마나 이 알고리즘이 제대로 동작할지 여부에 대해서는 증명이 안되는 경우가 있다. 물론 ANN의 경우도 제대로 증명이 되지 않는다. 
 
 그렇다면 여기서 문제가 생긴다. 수학적으로 증명이 안되는 것은 과연 연구할 가치가 있는가? 

 일반적으로 인간의 뇌를 모델링한 ANN이나 Genetic Algorithm의 경우 수학적 뒷받침이 어렵다. 내가 요즘에 구현하고 있는 Hierarchical Temporal Memory(HTM)의 경우도 그렇다. (http://enginius.tistory.com/256)

 내 개인적인 생각으로는 연구할 가치가 있다고 본다. 왜냐하면 기계 학습에 들어가는 학습은 결국 인간의 인지 사고를 모델링 한 것이고 인간의 인지와 학습은 수학적으로 증명될 수 있는 것이 아니기 때문이다. 개인적인 생각으로는 이것이 통계학과 고전적 AI사이에 있는 Machine Learning이라는 학문의 딜레마인 것 같다.