랜덤 컷 포레스트 (RCF) 알고리즘 - 아마존 SageMaker

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

랜덤 컷 포레스트 (RCF) 알고리즘

Amazon SageMaker Random Cut Forest (RCF) 는 데이터 세트 내의 비정상적인 데이터 포인트를 탐지하기 위한 감독되지 않는 알고리즘입니다. 이는 구조화 또는 패턴화된 데이터로부터 벗어난 관측치입니다. 변칙은 시계열 데이터에서 예기치 않은 급증, 주기성 내의 끊어짐 또는 분류할 수 있는 데이터 지점으로 나타날 수 있습니다. 평면적으로 봤을 때 "정규" 데이터로부터 쉽게 구분할 수 있습니다. 데이터 세트에 이러한 변칙이 포함되면 기계 학습 작업의 복잡성이 극적으로 증가할 수 있습니다. "정규" 데이터가 주로 단순한 모델로 설명될 수 있기 때문입니다.

각 데이터 포인트와 변칙 점수를 연결합니다. RCF 점수 값이 낮은 경우 데이터 지점이 "정상"으로 간주됩니다. 점수 값이 높은 경우 데이터 내에 변칙이 존재함을 나타냅니다. "낮음"과 "높음"의 정의는 애플리케이션에 따라 다릅니다. 하지만 일반적으로 평균 점수로부터 3의 표준편차를 초과하는 점수가 변칙으로 간주됩니다.

이상 탐지 알고리즘은 교통량 분석이나 음량 급증 탐지와 같은 1차원 시계열 데이터에 많이 적용되지만, RCF 이는 임의 차원 입력과 함께 작동하도록 설계되었습니다. Amazon은 기능 수, 데이터 세트 크기 및 인스턴스 수와 관련하여 규모를 잘 SageMaker RCF 조정합니다.

알고리즘의 입력/출력 인터페이스 RCF

Amazon SageMaker 랜덤 컷 포레스트는 traintest 데이터 채널을 지원합니다. 레이블 지정된 데이터의 accuracy, precision, recall 및 F1-score 지표 컴퓨팅을 위해 선택 가능한 test 채널이 사용됩니다. train 및 test 데이터 콘텐츠 유형은 application/x-recordio-protobuf 또는 text/csv 형식일 수 있습니다. 테스트 데이터의 경우 text/csv 형식을 사용할 때 콘텐츠는 text/csv;label_size=1로 지정되어야 합니다. 여기서 각 행의 첫 번째 열은 변칙 레이블 나타냅니다. "1"은 변칙 데이터 지점을, "0"은 정상 데이터 지점을 나타냅니다. 파일 모드 또는 파이프 모드를 사용하여 또는 다음과 같은 recordIO-wrapped-protobuf 형식의 데이터에 대해 RCF 모델을 학습시킬 수 있습니다. CSV

train 채널은 S3DataDistributionType=ShardedByS3Key만을 지원하고, test 채널은 S3DataDistributionType=FullyReplicated만을 지원합니다. 다음 예제에서는 Amazon SageMaker Python을 사용하여 열차 채널의 S3 배포 유형을 지정합니다SDK.

참고

sagemaker.inputs.s3_input 메서드는 SageMaker Python sagemaker.inputs.TrainingInput SDK v2에서 로 이름이 변경되었습니다.

import sagemaker # specify Random Cut Forest training job information and hyperparameters rcf = sagemaker.estimator.Estimator(...) # explicitly specify "ShardedByS3Key" distribution type train_data = sagemaker.inputs.TrainingInput( s3_data=s3_training_data_location, content_type='text/csv;label_size=0', distribution='ShardedByS3Key') # run the training job on input data stored in S3 rcf.fit({'train': train_data})

실행 역할과 관련된 일반적인 오류를 방지하려면 필요한 실행 역할, AmazonSageMakerFullAccessAmazonEC2ContainerRegistryFullAccess가 있는지 확인하세요. 이미지가 존재하지 않거나 권한이 잘못되는 것과 관련된 일반적인 오류를 방지하려면 ECR 이미지가 교육 인스턴스에 할당된 디스크 공간보다 크지 않은지 확인하세요. 이를 방지하려면 디스크 공간이 충분한 인스턴스에서 훈련 작업을 실행하세요. 또한 다른 AWS 계정의 Elastic Container Service (ECS) 리포지토리에서 가져온 ECR 이미지인데 액세스 권한을 부여하도록 리포지토리 권한을 설정하지 않은 경우 오류가 발생합니다. ECR리포지토리 정책 설명 설정에 대한 자세한 내용은 리포지토리 권한을 참조하십시오.

S3 데이터 소스 속성을 사용자 지정하는 방법에 대한 자세한 내용은 S3DataSource을 참고하세요. 마지막으로 여러 인스턴스를 활용하여 훈련하려면 훈련 데이터가 최소 인스턴스의 수만큼 여러 파일로 분할되어야 합니다.

추론application/x-recordio-protobuf, RCF 지원 text/csvapplication/json 입력 데이터 콘텐츠 유형에 대해 알아보십시오. 자세한 정보는 기본 제공 알고리즘의 공통 데이터 형식 설명서를 참조하세요. RCF추론 리턴 application/x-recordio-protobuf 또는 application/json 포맷된 출력 출력 데이터의 각 레코드에는 각 입력 데이터 지점에 대한 해당 변칙 점수가 포함되어 있습니다. 자세한 정보는 공동 데이터 형식--추론 단원을 참조하세요.

입력 및 출력 파일 형식에 대한 자세한 정보는 RCF응답 포맷(추론의 경우) 및 RCF 샘플 노트북 단원을 참조하세요.

알고리즘에 대한 인스턴스 권장 사항 RCF

훈련을 위해 ml.m4, ml.c4ml.c5 인스턴스 패밀리를 권장합니다. 추론에 대해 특히 최소의 사용 시간당 비용과 최대의 성능을 위해 ml.c5.xl 인스턴스 유형 사용을 권장합니다. 알고리즘은 기술적으로 GPU 인스턴스 유형에서 실행할 수 있지만 GPU 하드웨어를 활용하지는 않습니다.

RCF 샘플 노트북

모델을 학습시키고 RCF 모델을 사용하여 추론을 수행하는 방법에 대한 예는 SageMaker Random Cut Forest 소개 노트북을 참조하십시오. 예제를 실행하는 데 사용할 수 있는 Jupyter 노트북 인스턴스를 만들고 액세스하는 방법에 대한 지침은 을 참조하십시오. SageMaker 아마존 SageMaker 노트북 인스턴스 Notebook 인스턴스를 생성하여 연 후 SageMaker Examples 탭을 선택하면 모든 샘플 목록이 표시됩니다. SageMaker 노트북을 열려면 사용 탭을 클릭하고 Create copy(사본 생성)를 선택합니다.

RCF알고리즘 사용에 대한 블로그 게시물은 예외 항목 탐지를 위한 내장된 Amazon SageMaker Random Cut Forest 알고리즘 사용을 참조하십시오.