선형 학습자 알고리즘 - 아마존 SageMaker

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

선형 학습자 알고리즘

선형 모델은 분류 또는 회귀 문제를 해결하는 데 사용되는 지도 학습 알고리즘입니다. 입력을 위해 라벨링된 모델 예제를 제공합니다(x, y). x 는 고차원 벡터이고, y는 숫자 레이블입니다. 이진 분류 문제의 경우 레이블이 0 또는 1이어야 합니다. 멀티클래스 분류 문제의 경우 레이블이 0 또는 num_classes - 1이어야 합니다. 회귀 문제의 경우 y는 실수입니다. 이 알고리즘은 선형 함수 또는 선형 임계 함수(분류 문제의 경우)를 학습하여 벡터 x를 레이블 y의 근사치로 매핑합니다.

Amazon SageMaker 선형 학습자 알고리즘은 분류 및 회귀 문제에 대한 솔루션을 제공합니다. SageMaker 알고리즘을 사용하면 다양한 훈련 목표를 동시에 탐색할 수 있고 검증 세트에서 최적의 솔루션을 선택할 수 있습니다. 또한 많은 수의 모델을 탐색하여 최적의 모델을 선택할 수 있습니다. 최적의 모델은 다음 중 하나를 최적화합니다.

  • 지속적 목표(예: 평균 제곱근 오차, 교차 엔트로피 손실, 절대 오차).

  • 분류에 맞는 별도 목표(예: F1 측정, 정밀도, 재현율 또는 정확도)

지속적인 목표에 대한 솔루션만을 제공하는 방법과 비교했을 때 SageMaker 선형 학습자 알고리즘은 단순한 하이퍼파라미터 최적화 기법에 비해 속도를 크게 높입니다. 뿐만 아니라 훨씬 더 편리합니다.

Linear Learner 알고리즘은 데이터 매트릭스를 예상합니다. 매트릭스에서 행은 관측치를 나타내고 열은 특징의 차원을 나타냅니다. 또한 데이터 지점과 일치하는 레이블을 포함하는 추가 열을 필요로 합니다. 최소한 Amazon SageMaker 선형 학습자의 경우 입력 및 출력 데이터 위치와 목표 유형(분류 또는 회귀)을 인수로 지정해야 합니다. 특징 차원 또한 필요합니다. 자세한 내용은 CreateTrainingJob 섹션을 참조하세요. 요청 본문의 HyperParameters 문자열 맵에서 추가 파라미터를 지정할 수 있습니다. 이러한 파라미터는 최적화 절차를 제어하거나 훈련시킬 목표 함수를 지정합니다. epoch의 수, 정규화 및 손실 유형이 그 예입니다.

관리형 스팟 훈련을 사용하는 경우 선형 학습자 알고리즘은 모델 상태의 스냅샷을 찍을 수 있는 체크포인트 사용을 지원합니다.

선형 학습자 알고리즘에 대한 입력/출력 인터페이스

Amazon SageMaker 선형 학습자 알고리즘은 훈련, 검증(선택 사항) 및 테스트(선택 사항)의 3가지 데이터 채널을 지원합니다. 검증 데이터를 제공하는 경우 S3DataDistributionTypeFullyReplicated여야 합니다. 이 알고리즘은 epoch마다 검증 손실을 로깅하고, 검증 데이터의 샘플을 사용해 최적의 모델을 보정 및 선택합니다. 검증 데이터를 제공하지 않는 경우 이 알고리즘은 훈련 데이터 샘플을 사용하여 모델을 보정 및 선택합니다. 테스트 데이터가 제공된 경우 알고리즘 로그에는 최종 모델에 대한 테스트 점수가 포함됩니다.

훈련의 경우 선형 학습자 알고리즘은 recordIO-wrapped protobufCSV 형식을 지원합니다. application/x-recordio-protobuf 입력 유형의 경우 Float32 텐서만 지원됩니다. text/csv 입력 유형의 경우 첫 번째 열은 레이블(예측에 대한 대상 변수)로 간주됩니다. 파일 모드 또는 파이프 모드를 사용하여 recordIO-wrapped-protobuf 또는 CSV로 형식이 지정된 데이터에 대해 선형 학습자 모델을 훈련할 수 있습니다.

추론의 경우 선형 학습자 알고리즘은 application/json, application/x-recordio-protobuf, 및 text/csv 형식을 지원합니다. 새로운 데이터에 대해 예측할 경우 응답 형식은 모델 유형에 따라 달라집니다. 회귀의 경우 (predictor_type='regressor') score는 모델에 의해 생성된 예측입니다. 분류의 경우 (predictor_type='binary_classifier' 또는 predictor_type='multiclass_classifier') 모델은 score를 반환하고 predicted_label도 반환합니다. predicted_label은 모델이 예측한 클래스이고, score는 해당 예측의 강도를 측정합니다.

  • 이진 분류의 경우 predicted_label0이나 1score이며 레이블이 1이어야 한다고 알고리즘에서 간주하는 정도를 나타내는 단일 부동 소수점 숫자입니다.

  • 멀티클래스 분류의 경우 predicted_class0~num_classes-1 사이의 정수이고, score는 클래스당 단일 부동 소수점 숫자의 목록입니다.

분류 문제에서 score를 해석하려면 사용된 손실 함수를 고려해야 합니다. loss 하이퍼파라미터 값이 logistic(이진 분류) 또는 softmax_loss 멀티클래스 분류인 경우 score는 해당 클래스의 확률로 해석할 수 있습니다. 이들은 loss 값이 auto 기본값일 때 선형 학습자가 사용하는 손실 값입니다. 하지만 손실이 hinge_loss로 설정된 경우 점수를 확률로 해석할 수 없습니다. 이는 Hinge 손실이 확률 추정치를 생산하지 않는 Support Vector 분류자에 해당하기 때문입니다.

입력 및 출력 파일 형식에 대한 자세한 내용은 선형 학습자 응답 형식 단원을 참조하십시오. 추론 형식에 대한 자세한 내용은 선형 학습자 샘플 노트북 단원을 참조하십시오.

선형 학습자 알고리즘에 대한 EC2 인스턴스 권장 사항

선형 학습자 알고리즘은 훈련 및 추론을 위해 CPU 및 GPU 인스턴스를 모두 지원합니다. GPU의 경우 선형 학습자 알고리즘은 P2, P3, G4dn 및 G5 GPU 패밀리를 지원합니다.

테스트 과정에서 다중 GPU 인스턴스가 단일 GPU 인스턴스에 비해 빠르다는 확실한 증거는 발견되지 않았습니다. 결과는 특정 사용 사례에 따라 다를 수 있습니다.

선형 학습자 샘플 노트북

다음 테이블에는 Amazon SageMaker 선형 학습자 알고리즘의 다양한 사용 사례를 다루는 다양한 샘플 노트북이 요약되어 있습니다.

노트북 제목 설명

MNIST 데이터 세트 소개

MNIST 데이터 세트를 사용하여 한 자릿수를 예측하도록 바이너리 분류자를 훈련시킵니다.

멀티클래스 분류자를 구축하는 방법은 무엇입니까?

UCI의 Covertype 데이터 세트를 사용하여 멀티클래스 분류자를 훈련하는 방법을 보여줍니다.

추론을 위한 기계 학습(ML) 파이프라인을 구축하는 방법은 무엇입니까?

Scikit-Learn 컨테이너를 사용하여 엔드-투-엔드 ML 파이프라인을 구축하는 방법을 보여줍니다.

SageMaker에서 예제 실행에 사용할 수 있는 Jupyter 노트북 인스턴스를 생성하고 액세스하는 방법은 아마존 SageMaker 노트북 인스턴스 섹션을 참조하세요. 노트북 인스턴스를 생성하고 연 후 SageMaker 예제 탭을 선택하여 모든 SageMaker 예제 목록을 볼 수 있습니다. 선형 학습 알고리즘을 사용하는 주제 모델링 예제 노트북은 Introduction to Amazon algorithms(Amazon 알고리즘 소개) 섹션에 있습니다. 노트북을 열려면 사용 탭을 선택한 후 Create copy(사본 생성)를 선택합니다.