티스토리 뷰
[ML] K-Nearest Neighbors Algorithms(KNN, K-최근접 이웃 알고리즘)
Daniel803 2023. 6. 20. 01:51: KNN은 비모수적(모수에 의하지 않는 검정) 지도 학습 분류로, 근접성을 사용해 개별 데이터를 그룹화하는 분류 또는 예측에 사용된다. Regression(회귀)나 Classifciation(분류) 문제 모두에 사용될 수 있지만, 일반적으로 유사한 점들이 서로 가까이에 있다는 가정 하에 분류 알고리즘으로 사용된다.
분류 문제의 경우, 클래스 레이블은 다수결에 의해 할당된다. 즉, 레이블은 주어진 데이터 포인트 주변에서 가장 빈번하게 나타나는 레이블이 사용된다. 이는 기술적으로 "plurality voting(다수결 투표)"라 간주되지만, 문헌에선 "majority vote(다수결 투표)"라는 용어가 좀 더 보편적이다. 두 용어의 차이점은 "majority voting"은 기술적으로 주로 두 가지의 카테고리가 있을 때, 50% 이상의 투표가 요구된다. 다수의 클래스가 있을 때도 사용이 가능한데, 예를 들어, 4개의 카테고리가 있다면 반드시 50%를 넘는 투표가 있어야 클래스를 결정하는 게 아니라; 25% 이상의 투표를 얻는다면 클래스를 할당할 수 있다.
K-Nearest Neighbors Algorithm
: The k-nearest neighbors algorithm, also known as KNN or k-NN, is a non-parametric, supervised learning classifier, which uses proximity to make classifications or predictions about the grouping of an individual data point. While it can be used for either regression or classification problems, it is typically used as a classification algorithm, working off the assumption that similar points can be found near one another.
For classification problems, a class label is assigned on the basis of a majority vote—i.e. the label that is most frequently represented around a given data point is used. While this is technically considered “plurality voting”, the term, “majority vote” is more commonly used in literature. The distinction between these terminologies is that “majority voting” technically requires a majority of greater than 50%, which primarily works when there are only two categories. When you have multiple classes-e.g. four categories, you don’t necessarily need 50% of the vote to make a conclusion about a class; you could assign a class label with a vote of greater than 25%.
아래를 다이어그램 예시인데, 보라색 '?' 데이터 포인트를 할당 할 때 주변엔 Class A인 파란색 데이터 포인트가 하나 Class B인 초록색 포인트가 두 개 있기 때문에 더 많은 Class B로 '?' 데이터 포인트를 할당한다.
참고
'기술(Tech, IT) > 머신 러닝(Machine Learning)' 카테고리의 다른 글
[ML] Calinski-Harabasz Index (칼린스키-하라바츠 인덱스) (0) | 2023.06.27 |
---|---|
[ML] Disentangled Representation Learning(DRL) (0) | 2023.06.21 |
[ML] Deep Convolutional Neural Networks(DCNN) (0) | 2023.06.18 |
[ML] K-means clustering algorithms(k-평균 알고리즘) (0) | 2023.06.16 |
[ML] Normalization Technique(정규화 기법) (0) | 2023.03.26 |
- Total
- Today
- Yesterday
- join
- machine learning
- socket programming
- 안드로이드
- leetcode
- java
- 이코노미스트
- 리트코드
- C++
- Python
- vertex shader
- 투 포인터
- I2C
- 딕셔너리
- defaultdict
- DICTIONARY
- ml
- The Economist
- 소켓 프로그래밍
- 오블완
- 티스토리챌린지
- tf-idf
- 머신 러닝
- Computer Graphics
- 파이썬
- min heap
- Android
- 이코노미스트 에스프레소
- The Economist Espresso
- Hash Map
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |