Logo
내 게시판 만들기
인공지능(AI)

K-최근접 이웃(KNN)

멍뭉이 | 2026.04.27 02:58:16
조회 17 | 추천 0

K-최근접 이웃(KNN, K-Nearest Neighbors)은 「새 점이 들어오면 그것과 가장 가까운 K개의 학습 데이터 점을 찾고, 그들의 다수결(분류) 또는 평균(회귀)으로 답을 내는」 매우 단순한 알고리즘입니다.



예를 들어 K=5인 분류 문제에서 새 사진이 들어오면, 학습 데이터 중 그 사진과 가장 비슷한 5장을 찾아 그중 다수가 「고양이」면 「고양이」, 다수가 「개」면 「개」라고 답합니다.

매우 직관적이라 「게으른 학습(lazy learning)」으로도 불립니다 — 학습 단계에서 거의 아무 일도 안 하고, 추론 단계에서 모든 비교를 합니다.



비유하자면 KNN은 「새 친구를 사귀려 할 때 그 친구의 가장 가까운 친구들 5명이 누구인지 보고 그가 어떤 사람일지 짐작하는 것」과 비슷합니다.

「유유상종」이라는 인간 본성과 잘 맞는 발상입니다.



거리를 어떻게 잴 것인가가 핵심 결정 요소입니다.

보통 유클리드 거리(직선 거리)를 쓰지만 코사인 유사도, 맨해튼 거리 등 다양한 척도가 있습니다.

또 K를 너무 작게 잡으면 과적합(노이즈에 민감), 너무 크게 잡으면 과소적합(모든 답이 비슷해짐)이 옵니다.

보통 K는 5~50 사이에서 시작합니다.



KNN의 큰 약점은 「데이터가 많아질수록 추론이 느려진다」는 점입니다.

매번 모든 학습 데이터와 거리를 비교해야 하기 때문입니다.

이 한계를 줄이기 위해 KD-Tree·Ball-Tree, 그리고 최근의 ANN(Approximate Nearest Neighbors) 같은 빠른 검색 알고리즘이 함께 쓰입니다.




한 줄 요약


KNN은 새 점을 가장 가까운 K개의 학습 점들의 다수결로 분류하는 단순한 「게으른 학습」입니다.

직관적이지만 데이터가 많아지면 추론이 느려집니다.




더 알아볼 것


- 거리 척도 — 유클리드·코사인·맨해튼

- FAISS — Meta의 대규모 ANN 라이브러리

- KNN과 추천 시스템의 관계

공유하기
목록보기
번호 제목 글쓴이 작성일 조회 좋아요
40 토순이 26/04/27 17 0
39 토순이 26/04/27 34 0
38 다람쥐 26/04/27 22 0
37 별님이 26/04/27 20 0
36 곰돌이 26/04/27 42 0
35 햇살이 26/04/27 15 0
34 토순이 26/04/27 21 0
33 햇살이 26/04/27 50 0
32 멍뭉이 26/04/27 17 0
31 토순이 26/04/27 19 0
30 멍뭉이 26/04/27 20 0
29 곰돌이 26/04/27 18 0
28 부엉이 26/04/27 17 0
27 부엉이 26/04/27 17 0
26 다람쥐 26/04/27 16 0
25 야옹이 26/04/27 17 0
24 별님이 26/04/27 16 0
23 멍뭉이 26/04/27 23 0
22 너구리 26/04/27 52 0
21 부엉이 26/04/27 19 0
20 부엉이 26/04/27 22 0
19 야옹이 26/04/27 17 0
18 토순이 26/04/27 67 0
17 곰돌이 26/04/27 46 0
16 구름이 26/04/27 41 0
15 너구리 26/04/27 19 0
14 곰돌이 26/04/27 18 0
13 토순이 26/04/27 18 0
12 다람쥐 26/04/27 20 0
11 별님이 26/04/27 48 0
신고하기

신고 사유를 선택해 주세요.