이전 포스트에서 거리를 구하는 함수와 다수결 값을 구하는 함수를 정의했었고, 이번 포스트에서는 kNN 의 핵심인 가까운 이웃을 찾는 함수를 구현해보고자 한다. 우선 kNN의 처리 과정을 단계별로 써보면1. 전체 데이터 집단을 살펴보고, 2. 그중 한점과 다른 점간의 거리들을 구한 후 3. 그 거리를 나열해 기준에 적합한 점들을 반환해주면된다. 이게 kNN이 동작하는 원리다. 예를 들어 이런 케이스를 살펴보자위와 같이 빨간색 점들이 있는데 파란 점이 왔을때 어떤 빨간점이 파란점과 가깝다고 표현할 수 있을까? 당연히 딱 보기에도 (2, 2)에 있는 점과 (3, 2)에 있는 점이 파란 점에 가깝다고 할 수 있다. 이게 가깝다고 정의한것은 당연하다. 두 점 사이의 거리를 구해 그게 가장 짧은 거리를 찾은 것이다..
머신러닝의 수많은 주제 중 아마 제일 잘 다뤄지는 주제가 바로 Classification이 아닐까 생각된다. 물론 어떤 값을 예측한다던가, 어떤 일이 발생할 확률 같이 명확한 수치가 나오는 건 아니지만, 과거의 Data를 통해서 미지의 입력값이 어떤 종류로 분류하는 것 자체도 머신러닝에서 다뤄질 수 있는 주제가 아닐까 생각한다. 물론 이런 Classification 문제를 해결하는 여러 알고리즘들이 있겠지만 이번 포스트를 통해서 다루고자 하는 주제는 흔히 k-NN이라고 불리는 k-Nearest Neighborhood Algorithm 이다. 이름이 사실 거창해서 그렇지 두 점사이의 거리를 구하는 공식(보통 Euclidean Distance라고 표현한다.)만 알고 있으면 그 원리가 명확하게 설명되는 알고리..
- Total
- Today
- Yesterday
- DepthStream
- dynamic programming
- processing
- Kinect
- reward
- Python
- ColorStream
- PowerPoint
- RL
- Policy Gradient
- Windows Phone 7
- Kinect SDK
- Off-policy
- 한빛미디어
- End-To-End
- arduino
- Offline RL
- bias
- SketchFlow
- windows 8
- 강화학습
- Expression Blend 4
- Variance
- Gan
- 파이썬
- 딥러닝
- Kinect for windows
- TensorFlow Lite
- Pipeline
- Distribution
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |