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

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

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

Amazon SageMaker k-nearest Neighbors (k-NN) 알고리즘은인덱스 기반 알고리즘. a를 사용합니다.비파라메트릭 메서드분류 또는 회귀 분석용. 분류 문제의 경우 이 알고리즘은 샘플 지점과 가장 가까운 k 지점을 쿼리하여 가장 자주 사용하는 클래스 레이블을 예측 레이블로 반환합니다. 회귀 문제의 경우 이 알고리즘은 샘플 지점과 가장 가까운 k 지점을 쿼리해 특징 값의 평균을 예측 값으로 반환합니다.

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

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

SageMaker k-NNN은 train 및 test data 채널을 지원합니다.

  • 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 k-nearest neighbor 알고리즘을 사용하여 지질 및 삼림 서비스 데이터에서 황무지 초목 유형을 예측하는 샘플 노트북은K-최근접이웃 커버타입.

Jupyter 노트북 인스턴스를 사용하여 SageMaker에서 예제를 실행합니다. SageMaker에서 Jupyter 노트북 인스턴스를 생성해서 여는 방법은 단원을 참조하십시오.Amazon 사용 SageMaker 노트북 인스턴스. 노트북 인스턴스를 생성해서 열었으면SageMaker 예제모든 SageMaker 예제 노트북의 목록을 보려면 탭을 클릭합니다. Introduction to Amazon algorithms(Amazon 알고리즘 소개) 섹션에서 K-Nearest Neighbor 노트북을 찾으십시오. 노트북을 열려면 사용 탭을 클릭하고 Create copy(사본 생성)를 선택합니다.

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

k-NN 알고리즘을 사용한 훈련을 위한 인스턴스 권장 사항

시작하려면예를 들어 ml.m5.2xlarge 인스턴스를 사용하여 CPU에서 훈련을 실행하거나 ml.p2.xlarge 인스턴스를 사용하여 GPU에서 훈련을 실행합니다.

k-NN 알고리즘을 사용한 추론을 위한 인스턴스 권장 사항

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