Random Cut Forest(RCF) 알고리즘 - 아마존 SageMaker

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

Random Cut Forest(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 또는 CSV로 형식이 지정된 데이터에 대해 RCF 모델을 훈련할 수 있습니다.

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

참고

sagemaker.inputs.s3_input 메서드는 SageMaker Python SDK sagemaker.inputs.TrainingInput 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 이미지가 훈련 인스턴스에 할당된 디스크 공간보다 크지 않은지 확인하세요. 이를 방지하려면 디스크 공간이 충분한 인스턴스에서 훈련 작업을 실행하세요. 또한 ECR 이미지가 다른 AWS 계정의 Elastic Container Service (ECS) 리포지토리에서 가져온 것이고 액세스를 허용하도록 리포지토리 권한을 설정하지 않은 경우 오류가 발생합니다. 리포지토리 정책 설명 설정에 대한 자세한 내용은 ECR 리포지토리 권한을 참고하세요.

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

추론의 경우 RCF는 application/x-recordio-protobuf, 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 알고리즘 사용을 참조하십시오.