기계학습은 크게 세 가지 방법으로 분류될 수 있을 것 같다.
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을 통해서 증명이 가능하다. (아래 동영상을 통해서 증명 가능 - 나도 나중에 다시 보기 위해서 링크를 걸어놓겠다. )
'Enginius > Machine Learning' 카테고리의 다른 글
푸리에 변환과 라플라스 변환 (18) | 2012.05.01 |
---|---|
Hierarchical Temporal Memory Prototype ver1.0.0 (4) | 2012.04.26 |
predictions in the brain using our past to generate a future (0) | 2012.04.05 |
HTM Specific - Spatial / Temporal Pooler (0) | 2012.03.30 |
HTM Overview (0) | 2012.03.06 |