

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

# k-means 알고리즘
<a name="k-means"></a>

k-means는 비지도 학습 알고리즘입니다. 데이터 내 별도의 그룹화를 찾으려 합니다. 이 경우 그룹의 멤버는 가급적 다른 멤버와 유사하고 다른 그룹의 멤버와는 가급적 다릅니다. 알고리즘이 유사성을 결정하는 데 사용하고자 하는 속성을 정의합니다.

Amazon SageMaker AI는 수정된 버전의 웹 스케일 k-means 클러스터링 알고리즘을 사용합니다. 기존 버전의 알고리즘과 비교했을 때, Amazon SageMaker AI에서 사용하는 버전의 정확도가 더 높습니다. 기존 알고리즘과 마찬가지로 대량의 데이터 세트로 크기 조정되고 훈련 시간이 개선됩니다. 이를 위해 Amazon SageMaker AI에서 사용하는 버전은 훈련 데이터의 미니 배치(소규모 임의 하위 세트)를 스트림합니다. 미니 배치 k-means에 대한 자세한 정보는 [Web-scale k-means Clustering](https://dl.acm.org/doi/10.1145/1772690.1772862)을 참조하세요.

k-means 알고리즘은 테이블형 데이터를 예상합니다. 여기에서 행은 클러스터링하고자 하는 관측치를 나타내고 열은 관측치의 속성을 나타냅니다. 각 행의 *n* 속성은 *n* 차원 공간의 지점을 나타냅니다. 지점 사이의 유클리드 거리는 해당 관측치의 유사성을 나타냅니다. 속성 값이 유사한 알고리즘 그룹 관측치(이러한 관측치를 나타내는 지점은 가까이에 있습니다). Amazon SageMaker AI에서 k-means가 작동하는 방식에 대한 자세한 내용은 [k-means 클러스터링 작동 방식](algo-kmeans-tech-notes.md) 섹션을 참조하세요.

**Topics**
+ [K-Means 알고리즘의 입/출력 인터페이스](#km-inputoutput)
+ [K-Means 알고리즘에 대한 EC2 인스턴스 권장 사항](#km-instances)
+ [K-Means 샘플 노트북](#kmeans-sample-notebooks)
+ [k-means 클러스터링 작동 방식](algo-kmeans-tech-notes.md)
+ [k-means 하이퍼파라미터](k-means-api-config.md)
+ [K-Means 모델 튜닝](k-means-tuning.md)
+ [K-Means 응답 형식](km-in-formats.md)

## K-Means 알고리즘의 입/출력 인터페이스
<a name="km-inputoutput"></a>

훈련을 위해 k-means 알고리즘은 데이터가 *train* 채널(권장 `S3DataDistributionType=ShardedByS3Key`)에서 제공되고, 선택적 *test* 채널(권장 `S3DataDistributionType=FullyReplicated`)을 사용하여 데이터에 대한 점수를 매긴다고 예상합니다. `recordIO-wrapped-protobuf` 형식과 `CSV` 형식 모두 훈련에 지원됩니다. 파일 모드 또는 파이프 모드를 사용하여 `recordIO-wrapped-protobuf` 또는 `CSV`로 형식이 지정된 데이터에 대해 모델을 훈련할 수 있습니다.

추론을 위해 `text/csv`, `application/json` 및 `application/x-recordio-protobuf`가 지원됩니다. k-means는 각 관측에 대해 `closest_cluster` 레이블 및 `distance_to_cluster`를 반환합니다.

입력 및 출력 파일 형식에 대한 자세한 정보는 [K-Means 응답 형식](km-in-formats.md)(추론의 경우) 및 [K-Means 샘플 노트북](#kmeans-sample-notebooks) 섹션을 참조하세요. k-means 알고리즘은 복수의 인스턴스 학습을 지원하지 않으며, 훈련 세트는 라벨링되지 않은 인스턴스 집합인 라벨링된 "백"으로 구성됩니다.

## K-Means 알고리즘에 대한 EC2 인스턴스 권장 사항
<a name="km-instances"></a>

CPU 인스턴스에서 훈련 k-means를 권장합니다. GPU 인스턴스에서 훈련할 수 있지만 GPU 훈련을 ml.g4dn.xlarge와 같은 단일 GPU 인스턴스로 제한해야 합니다. 인스턴스당 단 하나의 GPU만 사용되기 때문입니다. k-means 알고리즘은 훈련 및 추론을 위해 P2, P3, G4dn, G5 인스턴스를 지원합니다.

## K-Means 샘플 노트북
<a name="kmeans-sample-notebooks"></a>

주 구성 요소 분석을 사용하여 식별된 속성에 따라 미국 내 카운티의 인구를 분할하기 위해 SageMaker AI K-means 알고리즘을 사용하는 샘플 노트북은 [Analyze US census data for population segmentation using Amazon SageMaker AI](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_applying_machine_learning/US-census_population_segmentation_PCA_Kmeans/sagemaker-countycensusclustering.html)를 참조하세요. SageMaker AI에서 예시 실행에 사용할 수 있는 Jupyter Notebook 인스턴스를 만들고 이 인스턴스에 액세스하는 방법에 대한 설명은 [Amazon SageMaker 노트북 인스턴스](nbi.md) 섹션을 참조하세요. 노트북 인스턴스를 만든 후 열면 **SageMaker AI 예시** 탭을 선택하여 모든 SageMaker AI 샘플 목록을 확인할 수 있습니다. 노트북을 열려면 **사용** 탭을 클릭하고 사본 생성을 선택합니다.