기계 학습의 K-최근접 이웃 알고리즘 [예제 포함]

게시 됨: 2020-10-28

목차

소개

머신 러닝은 의심할 여지 없이 매초 더 많은 양의 데이터를 수집하는 오늘날의 데이터 중심 세계에서 가장 활발하고 강력한 기술 중 하나입니다. 이것은 모든 도메인과 모든 부문에 고유한 사용 사례와 프로젝트가 있는 빠르게 성장하는 기술 중 하나입니다.

기계 학습 또는 모델 개발은 데이터 과학 프로젝트 수명 주기의 단계 중 하나이며 가장 중요한 단계 중 하나입니다. 이 기사는 기계 학습의 KNN(K-Nearest Neighbors)에 대한 소개를 위해 작성되었습니다.

K-가장 가까운 이웃

머신 러닝에 익숙하거나 데이터 과학 또는 AI 팀의 일원이라면 k-최근접 이웃 알고리즘 또는 KNN이라고 하는 간단한 알고리즘에 대해 들어봤을 것입니다. 이 알고리즘은 구현하기 쉽고, 비모수적이며, 게으른 학습이며 계산 시간이 짧기 때문에 기계 학습에 사용되는 알고리즘 중 하나입니다.

k-최근접 이웃 알고리즘의 또 다른 장점은 분류 및 회귀 유형의 문제에 모두 사용할 수 있다는 것입니다. 이 두 가지의 차이점을 모르는 경우 분류와 회귀의 주요 차이점은 회귀의 출력 변수는 숫자 (연속)이고 분류의 출력 변수는 범주형 (이산)이라는 것입니다.

읽기: R의 KNN 알고리즘

k-최근접 이웃은 어떻게 작동합니까?

KNN(K-Nearest Neighbors) 알고리즘은 '특징 유사성' 또는 '최근접 이웃' 기술을 사용하여 새 데이터 포인트가 속하는 클러스터를 예측합니다. 다음은 이 알고리즘의 작동을 더 잘 이해할 수 있는 몇 가지 단계입니다.

1단계 - 머신 러닝에서 알고리즘을 구현하려면 모델링할 준비가 된 정리된 데이터 세트가 필요합니다. 훈련 및 테스트 데이터 세트로 분할된 정리된 데이터 세트가 이미 있다고 가정해 보겠습니다.

2단계 - 데이터 세트가 이미 준비되어 있으므로 알고리즘을 구현하기 위해 고려해야 할 가장 가까운 데이터 포인트의 수를 알려주는 K(정수) 값을 선택해야 합니다. 우리는 기사의 후반 단계에서 k 값을 결정하는 방법을 알 수 있습니다.

3단계 - 이 단계는 반복적이며 데이터 세트의 각 데이터 포인트에 적용해야 합니다.

I. 거리 메트릭 중 하나를 사용하여 테스트 데이터와 교육 데이터의 각 행 사이의 거리를 계산합니다.

ㅏ. 유클리드 거리

비. 맨해튼 거리

씨. 민코프스키 거리

디. 해밍 거리.

많은 데이터 과학자들은 유클리드 거리를 사용하는 경향이 있지만 이 기사의 후반부에서 각 거리의 중요성을 알 수 있습니다.

Ⅱ. 위 단계에서 사용한 거리 측정법을 기반으로 데이터를 정렬해야 합니다.

III. 변환된 정렬 데이터에서 상위 K개 행을 선택합니다.

IV. 그런 다음 이러한 행의 가장 빈번한 클래스를 기반으로 테스트 포인트에 클래스를 할당합니다.

4단계 - 종료

K 값을 결정하는 방법은 무엇입니까?

모델의 최대 정확도를 얻기 위해서는 적절한 K 값을 선택해야 하지만 가장 유리한 K 값을 찾기 위한 사전 정의된 통계적 방법은 없지만 대부분 Elbow 방법을 사용합니다.

팔꿈치 방법은 k의 일부 값에 대해 SSE(Sum of Squared Error)를 계산하는 것으로 시작합니다. SSE는 클러스터의 각 구성원과 해당 중심 사이의 거리 제곱의 합입니다.

SSE=∑Ki=1∑x cidist(x,ci)2SSE= ∑∑ x cidist(x,ci)2

SSE에 대해 다른 k 값을 플롯하면 k 값이 커질수록 오류가 감소하는 것을 볼 수 있습니다. 이는 클러스터 수가 증가하면 클러스터가 작아지는 경향이 있으므로 왜곡도 작아지기 때문입니다. . 팔꿈치 방법의 아이디어는 팔꿈치의 모양을 나타내는 SSE가 갑자기 감소하는 k를 선택하는 것입니다.

어떤 경우에는 하나 이상의 팔꿈치가 있거나 전혀 없는 팔꿈치가 있습니다. 이러한 경우 일반적으로 해결하려는 문제의 맥락에서 k-means ML 알고리즘이 얼마나 잘 수행되는지 평가하여 최상의 k를 계산하게 됩니다.

더 읽어보기: 기계 학습 모델

거리 측정법의 유형

두 데이터 포인트 사이의 거리를 하나씩 계산하는 데 사용되는 다양한 거리 메트릭에 대해 알아보겠습니다.

1. 유클리드 거리 – 유클리드 거리는 두 점 사이의 거리 제곱합의 제곱근입니다.

2. 맨해튼 거리 – 맨해튼 거리는 두 점 간의 차이의 절대값의 합입니다.

3. 민코프스키 거리 – 민코프스키 거리는 두 점 사이의 거리 유사성을 찾는 데 사용됩니다. 아래 공식에 따라 맨해튼 거리(p=1일 때)와 유클리드 거리(p=2일 때)로 변경됩니다.

4. 해밍 거리 – 해밍 거리는 범주형 변수에 사용됩니다. 이 메트릭은 두 개의 범주형 변수가 동일한지 여부를 알려줍니다.

KNN의 응용

이미 사용 가능한 고객의 신용 사용 및 등급을 기반으로 새로운 고객의 신용 등급을 예측합니다.

  1. 대출 승인 여부 후보자에게.
  2. 주어진 거래를 분류하는 것은 사기인지 아닌지.
  3. 추천 시스템(YouTube, Netflix)
  4. 필기 감지(예: OCR).
  5. 이미지 인식.
  6. 비디오 인식.

KNN의 장단점

머신 러닝은 많은 알고리즘으로 구성되어 있으므로 각각의 알고리즘에는 장단점이 있습니다. 산업, 영역, 데이터 유형 및 각 알고리즘에 대한 다양한 평가 메트릭에 따라 데이터 과학자는 비즈니스 문제에 적합하고 답하는 최상의 알고리즘을 선택해야 합니다. K-Nearest Neighbors의 장단점을 살펴보겠습니다.

장점

  1. 사용, 이해 및 해석이 쉽습니다.
  2. 빠른 계산 시간.
  3. 데이터에 대한 가정이 없습니다.
  4. 예측의 높은 정확도.
  5. 다목적 – 분류 및 회귀 비즈니스 문제 모두에 사용할 수 있습니다.
  6. 다중 클래스 문제에도 사용할 수 있습니다.
  7. Hyperparameter Tuning 단계에서 조정할 Hyper 매개변수는 단 하나뿐입니다.

단점

  1. 알고리즘이 모든 훈련 데이터를 저장하므로 계산 비용이 많이 들고 높은 메모리가 필요합니다.
  2. 변수가 증가하면 알고리즘이 느려집니다.
  3. 관련 없는 기능에 매우 민감합니다.
  4. 차원의 저주.
  5. K의 최적 값을 선택합니다.
  6. 클래스 불균형 데이터 세트는 문제를 일으킬 것입니다.
  7. 데이터에 누락된 값도 문제를 일으킵니다.

필독: 기계 학습 프로젝트 아이디어

결론

이것은 사용의 용이성과 빠른 계산 시간으로 널리 알려진 기본적인 기계 학습 알고리즘입니다. 이것은 기계 학습 세계를 처음 접하고 주어진 작업을 많은 번거로움 없이 완료하고 싶은 경우에 선택할 수 있는 괜찮은 알고리즘입니다.

기계 학습에 대해 자세히 알아보려면 IIIT-B 및 upGrad의 기계 학습 및 AI PG 디플로마를 확인하세요. 이 PG 디플로마는 일하는 전문가를 위해 설계되었으며 450시간 이상의 엄격한 교육, 30개 이상의 사례 연구 및 과제, IIIT- B 동문 자격, 5개 이상의 실용적인 실습 캡스톤 프로젝트 및 최고의 기업과의 취업 지원.

K-최근접이웃 알고리즘은 비용이 많이 듭니까?

방대한 데이터 세트의 경우 K-최근접 이웃 알고리즘은 저장 시간과 계산 시간 모두에서 비용이 많이 들 수 있습니다. 이것은 이 KNN 알고리즘이 작동하려면 모든 훈련 데이터 세트를 저장하고 저장해야 하기 때문입니다. KNN은 거리 계산에 의존하기 때문에 훈련 데이터의 규모에 매우 민감합니다. 이 알고리즘은 훈련 데이터에 대한 가정을 기반으로 결과를 가져오지 않습니다. 다른 지도 학습 알고리즘을 고려할 때 이것이 일반적인 경우가 아닐 수도 있지만 KNN 알고리즘은 비선형 데이터 포인트와 함께 발생하는 문제를 해결하는 데 매우 효과적인 것으로 간주됩니다.

K-NN 알고리즘의 실제 적용은 무엇입니까?

KNN 알고리즘은 기업에서 공통 관심사를 공유하는 개인에게 제품을 추천하는 데 자주 사용됩니다. 예를 들어, 기업은 시청자 선택을 기반으로 TV 프로그램을 제안하고, 이전 구매를 기반으로 의류 디자인을, 예약 내역을 기반으로 투어 중 호텔 및 숙박 옵션을 제안할 수 있습니다. 또한 금융 기관에서 유사한 재무 기능을 기반으로 고객에게 신용 등급을 부여하는 데 사용할 수 있습니다. 은행은 채무 불이행자와 유사한 특성을 공유하는 것으로 보이는 특정 응용 프로그램을 기반으로 대출 지급 결정을 내립니다. 이 알고리즘의 고급 응용 프로그램에는 이미지 인식, OCR을 사용한 필기 감지 및 비디오 인식이 포함됩니다.

머신 러닝 엔지니어의 미래는 어떤 모습인가요?

AI 및 기계 학습의 추가 발전으로 기계 학습 엔지니어에 대한 시장 또는 수요는 매우 유망해 보입니다. 2021년 하반기까지 LinkedIn에는 기계 학습 엔지니어를 위한 약 23,000개의 일자리가 등록되었습니다. Amazon 및 Google에서 시작하여 PayPal, Autodesk, Morgan Stanley, Accenture 등에 이르기까지 글로벌 거대 조직은 항상 최고의 인재를 찾고 있습니다. 프로그래밍, 통계, 기계 학습과 같은 주제에 대한 강력한 기초를 바탕으로 엔지니어는 데이터 분석, 자동화, AI 통합 및 기타 영역에서도 리더십 역할을 맡을 수 있습니다.