쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

K-Nearest Neighbors(k-NN) 알고리즘

포커스 모드
K-Nearest Neighbors(k-NN) 알고리즘 - Amazon SageMaker AI

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon SageMaker AI k-Nearest Neighbors(k-NN) 알고리즘은 인덱스 기반 알고리즘입니다. 이 알고리즘은 분류 또는 회귀에 비모수적 방법을 사용합니다. 분류 문제의 경우 이 알고리즘은 샘플 지점과 가장 가까운 k 지점을 쿼리하여 가장 자주 사용하는 클래스 레이블을 예측 레이블로 반환합니다. 회귀 문제의 경우 이 알고리즘은 샘플 지점과 가장 가까운 k 지점을 쿼리해 특징 값의 평균을 예측 값으로 반환합니다.

k-NN 알고리즘을 사용한 훈련에는 샘플링, 차원 감소 및 인덱스 빌드, 이렇게 3가지 단계가 있습니다. 샘플링은 메모리에 맞도록 최초 데이터세트의 크기를 줄입니다. 차원 감소를 위해 이 알고리즘은 데이터의 특징 차원을 줄여 메모리 내에서 k-NN 모델이 차지하는 공간을 줄이고 추론 지연 시간을 단축합니다. 차원 감소 메서드로 Random Projection과 빠른 Johnson-Lindenstrauss 변환 두 가지를 제공합니다. 일반적으로, 차원의 증가에 따라 밀도가 떨어지는 데이터의 통계적 분석 문제를 일으키는 "차원의 저주"(curse of dimensionality)를 피하기 위해 고차원(d >1000) 데이터세트에 대해 차원 감소를 사용합니다. k-NN의 주요 훈련 목표는 인덱스를 생성하는 것입니다. 인덱스를 사용하면 값 또는 클래스 레이블이 아직 확인되지 않은 지점과 추론에 사용할 k nearest 지점 간에 거리를 효율적으로 조회할 수 있습니다.

k-NN 알고리즘에 대한 입력/출력 인터페이스

SageMaker AI k-NN은 훈련 및 테스트 데이터 채널을 지원합니다.

  • train 채널은 샘플링하거나 k-NN 인덱스로 생성하려는 데이터에 사용합니다.

  • test 채널은 로그 파일에 점수를 내보냅니다. 점수는 미니 배치당 행 하나로 나열되는데, classifier는 정확도, regressor 점수는 평균 제곱근 오차(mse)를 나타냅니다.

훈련 입력의 경우 k-NN은 text/csvapplication/x-recordio-protobuf 데이터 형식을 지원합니다. 입력 유형 text/csv의 경우 첫 번째 label_size 열은 해당 행의 레이블 벡터로 해석됩니다. 파일 모드 또는 파이프 모드를 사용하여 recordIO-wrapped-protobuf 또는 CSV로 형식이 지정된 데이터에 대해 모델을 훈련할 수 있습니다.

추론 입력의 경우 k-NN은 application/json, application/x-recordio-protobuftext/csv 데이터 형식을 지원합니다. text/csv 형식은 label_size 및 인코딩 파라미터를 수용하고, 0의 label_size와 UTF-8 인코딩을 가정합니다.

추론 출력의 경우 k-NN은 application/jsonapplication/x-recordio-protobuf 데이터 형식을 지원합니다. 이러한 두 가지 데이터 형식 역시 verbose 출력 모드를 지원합니다. verbose 출력 모드에서 API는 가장 작은 항목에서 가장 큰 항목 순으로 정렬된 거리 벡터 및 레이블 벡터의 해당 요소와 함께 검색 결과를 제공합니다.

배치 변환의 경우 k-NN은 입력 및 출력 둘 다에 대해 application/jsonlines 데이터 형식을 지원합니다. 예제 입력은 다음과 같습니다.

content-type: application/jsonlines {"features": [1.5, 16.0, 14.0, 23.0]} {"data": {"features": {"values": [1.5, 16.0, 14.0, 23.0]}}

예제 출력은 다음과 같습니다.

accept: application/jsonlines {"predicted_label": 0.0} {"predicted_label": 2.0}

입력 및 출력 파일 형식에 대한 자세한 정보는 k-NN 훈련 입력을 위한 데이터 형식(훈련의 경우), k-NN 요청 및 응답 형식(추론의 경우) 및 k-NN 샘플 노트북 섹션을 참조하세요.

k-NN 샘플 노트북

SageMaker AI k-nearest neighbor 알고리즘을 사용하여 지리 및 포리스트 서비스 데이터에서 황무지 커버 유형을 예측하는 샘플 노트북은 K-Nearest Neighbor Covertype을 참조하세요.

Jupyter 노트북 인스턴스를 사용하여 SageMaker AI에서 예제를 실행합니다. SageMaker AI에서 Jupyter 노트북 인스턴스를 생성하고 여는 방법을 알아보려면 섹션을 참조하세요Amazon SageMaker 노트북 인스턴스. 노트북 인스턴스를 생성하고 연 후 SageMaker AI 예제 탭을 선택하여 모든 SageMaker AI 예제 노트북 목록을 확인합니다. Introduction to Amazon algorithms(Amazon 알고리즘 소개) 섹션에서 K-Nearest Neighbor 노트북을 찾으세요. 노트북을 열려면 사용 탭을 클릭하고 사본 생성을 선택합니다.

k-NN 알고리즘에 대한 EC2 인스턴스 권장 사항

CPU 인스턴스(예: ml.m5.2xlarge) 또는 GPU 인스턴스에서 훈련하는 것이 좋습니다. k-NN 알고리즘은 훈련 및 추론을 위해 P2, P3, G4dn, G5 GPU 인스턴스 패밀리를 지원합니다.

GPU 하드웨어를 사용하는 경우 GPU 간 통신에 대한 부담이 있기 때문에 CPU의 추론 요청은 일반적으로 GPU의 요청보다 평균 지연 시간이 낮습니다. 그러나 GPU는 일반적으로 큰 배치에 대해 처리량이 더 많습니다.

프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.