Machine Learning - Supervised Learning (3)
Supervised Learning의 여러 가지 알고리즘들에 대해 살펴보자.
1. Naïve Bayesian Classifier
2. Decision Tree
3. K-Nearest Neighbors
4. Linear Models
5. Support Vector Machine (SVM)
6. Multi Layer Perceptron(MLP)
여러 가지 알고리즘들이 있고, 상황에 따라 다른 알고리즘을 적용해야 한다.
3. K-Nearest Neighbors (유유상종)
입력 데이터에 가장 가까운 K개의 데이터 레이블을 표결해 출력 클래스를 결정한다.
이전에 살펴본 스팸 메일 구분하기로 예시를 들면, 먼저 그래프로 스팸메일과 일반 메일들을 데이터화 한 다음 어느 한 메일이 도착했을 때 그 메일 주변에 어떤 메일이 위치해 있는지 살펴보고, 스팸 메일인지 일반 메일인지 확인하는 알고리즘이다. 즉, K개의 데이터 레이블을 확인하는건 주변의 K개의 데이터를 조사하고 스팸메일인지 아닌지 조사하는걸 의미한다.
가장 가까운 데이터를 조사할 때 거리 계산 시 왼쪽의 수식을 사용한다.
학습 단계가 필요하지 않다는 장점이 있지만, 적용 단계에서의 예측이 매우 느리다는 단점이 있는 알고리즘이다.
최고의 성능을 보이는 K를 결정하는건 쉽지 않다.
위의 그림처럼, Training Error와 Test Error의 분포도 K에 따라 매우 다르다.
위의 그림처럼 결과가 나왔다면 K를 10으로 설정하는 것이 합리적이겠지만, 상황 마다 다른 값을 가지기 때문에 항상 계산을 통해 찾아줘야 한다.
(K는 홀수로 결정하는 것이 좋은데, 짝수로 결정했을 때 spam과 nonspam이 반반 나오게 되면 이를 따로 처리해 줘야 하기 때문이다.)
학습의 목적은 Test Error를 줄이는 것에 있으니, 이에 맞춰서 생각해 보는 것도 합리적이다.
'Machine Learning > AI Introduction' 카테고리의 다른 글
Machine Learning - Supervised Learning (5) (0) | 2021.10.17 |
---|---|
Machine Learning - Supervised Learning (4) (0) | 2021.10.17 |
Machine Learning - Supervised Learning (2) (0) | 2021.10.17 |
Machine Learning - Supervised Learning (1) (0) | 2021.10.17 |
Machine Learning (2) (0) | 2021.10.17 |
댓글
이 글 공유하기
다른 글
-
Machine Learning - Supervised Learning (5)
Machine Learning - Supervised Learning (5)
2021.10.17 -
Machine Learning - Supervised Learning (4)
Machine Learning - Supervised Learning (4)
2021.10.17 -
Machine Learning - Supervised Learning (2)
Machine Learning - Supervised Learning (2)
2021.10.17 -
Machine Learning - Supervised Learning (1)
Machine Learning - Supervised Learning (1)
2021.10.17