'최근접 이웃 알고리즘'에 해당되는 글 1건
- 2019.11.11 :: K-최근접 이웃 알고리즘 (KNN)
Python 파이썬/머신러닝
2019. 11. 11. 01:29
K-최근접 이웃 알고리즘은 특정 공간 내에서 입력과 가장 근접한 K개의 요소를 찾아서 더 많이 일치하는 것으로 분류하는 알고리즘으로 가장 간단한 기계학습 알고리즘입니다.
그림으로 살펴보도록 하겠습니다.
최근접 이웃 알고리즘은 그림 속의 물음표의 주변에 세모가 있기 때문에 세모라고 판단하는 알고리즘입니다.
다음 그림도 살펴보겠습니다.
위의 그림은 주변에서 몇 개를 골라서 볼 것인가에 따라 물음표의 분류가 바뀝니다.
이렇게 주변에 있는 몇 개의 요소들을 같이 봐서 가장 많이 골라내는 것을 K-최근접 이웃 알고리즘(KNN)이라고 할 수 있습니다. KNN 알고리즘에서 K는 주변의 개수를 의미한다고 보시면 됩니다.
K가 1일 때는 동그라미라고 판단하겠지만, K를 3으로 변경한다면 세모라고 판단할 것입니다.
하지만 문제가 있습니다. 과연 K는 몇인가 가장 좋을까요?
위의 그림에서 확인할 수 있듯이, 물음표를 네모인지 세모인지 결론을 내릴 수 없게 됩니다.
위의 그림 처럼 k값이 커지면 항목 간의 경계가 불분명해지며, 결론을 내기 더 힘들어 질 수 있습니다.
이진(2개의 항목) 분류 문제에서는 홀수인 K를 선택하는 것이 바람직 하지만 항목이 여러개일 수도 있습니다.
따라서, KNN알고리즘을 사용할 때는 분류될 그룹의 종류등을 고려하여 적절한 K값을 설정하는 것이 중요합니다.
'Python 파이썬 > 머신러닝' 카테고리의 다른 글
군집 분석 (클러스터 분석) (0) | 2019.11.12 |
---|---|
K-최근접 이웃 알고리즘 (KNN) 간단한 파이썬 코드 (0) | 2019.11.11 |
범주형 데이터 선형회귀 분석하기 (2) | 2019.11.06 |
넘파이 NumPy (0) | 2019.10.11 |
머신러닝의 개념 (0) | 2019.10.09 |