

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

# Factorization Machine 알고리즘
<a name="fact-machines"></a>

Factorization Machine 알고리즘은 분류 및 회귀 작업 모두에 대해 사용할 수 있는 범용 지도 학습 알고리즘입니다. 고차원 희소 데이터세트 내 특징 간 상호 작용을 경제적으로 캡처하도록 설계된 선형 모델의 확장입니다. 예를 들어 클릭 예측 시스템에서 Factorization Machine 모델은 특정 페이지 범주에 속한 페이지에 배치된 특정 광고 범주의 광고로부터 관측된 클릭 비율 패턴을 캡쳐할 수 있습니다. Factorization Machine은 클릭 예측 및 품목 추천과 같은 고차원 희소 데이터세트를 처리하는 작업에 있어 좋은 선택합니다.

**참고**  
Factorization Machine 알고리즘의 Amazon SageMaker AI 구현은 특성 간 쌍 비교(pair-wise)(2차) 상호 작용만을 고려합니다.

**Topics**
+ [Factorization Machines 알고리즘의 입력/출력 인터페이스](#fm-inputoutput)
+ [Factorization Machines 알고리즘에 대한 EC2 인스턴스 권장 사항](#fm-instances)
+ [Factorization Machines 샘플 노트북](#fm-sample-notebooks)
+ [Factorization Machine 작동 방법](fact-machines-howitworks.md)
+ [Factorization Machine 하이퍼파라미터](fact-machines-hyperparameters.md)
+ [Factorization Machine 모델 튜닝](fm-tuning.md)
+ [Factorization Machine 응답 형식](fm-in-formats.md)

## Factorization Machines 알고리즘의 입력/출력 인터페이스
<a name="fm-inputoutput"></a>

Factorization Machine 알고리즘은 바이너리 분류 모드 또는 회귀 모드 중 하나에서 실행될 수 있습니다. 각 모드에서 데이터세트는 교육 채널 데이터세트와 함께 **테스트** 채널로 제공될 수 있습니다. 점수 계산은 사용하는 모드에 따라 달라집니다. 회귀 모드에서 테스팅 데이터세트는 평균 제곱근 오차(RMSE)를 사용하여 점수가 매겨집니다. 바이너리 분류 모드에서 테스트 데이터세트는 바이너리 교차 엔트로피(로그 손실), 정확성(임계치 = 0.5) 및 F1 점수(임계치 = 0.5)를 사용하여 점수가 매겨집니다.

**훈련**의 경우 Factorization Machine 알고리즘은 현재 `Float32` 텐서가 포함된 `recordIO-protobuf` 형식만 지원합니다. 사용 사례가 주로 희소 데이터이기 때문에 `CSV`는 좋은 선택이 아닙니다. 파일 및 파이프 모드 훈련 둘 다 recordIO-wrapped protobuf에 대해 지원됩니다.

**추론**의 경우 Factorization Machine 알고리즘은 `application/json` 및 `x-recordio-protobuf` 형식을 지원합니다.
+ **바이너리 분류** 문제의 경우 알고리즘은 점수와 레이블을 예측합니다. 레이블은 숫자이고 `0` 또는 `1`일 수 있습니다. 점수는 알고리즘이 레이블이 `1`일 것이라고 판단하는 강도를 나타내는 숫자입니다. 알고리즘은 먼저 점수를 계산한 후 점수 값에서 레이블을 도출합니다. 점수가 0.5 이상이면 레이블은 `1`입니다.
+ **회귀** 문제의 경우 점수만 반환되며 이것은 예측된 값입니다. 예를 들어 Factorization Machines을 사용하여 영화 평점을 예측하는 경우 점수는 에측된 평점 값입니다.

훈련 및 추론 파일 형식에 대한 자세한 정보는 [Factorization Machines 샘플 노트북](#fm-sample-notebooks) 섹션을 참조하세요.

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

Amazon SageMaker AI Factorization Machine 알고리즘은 확장성이 높고 배포된 인스턴스에 걸쳐 훈련이 가능합니다. 희소 및 밀집 데이터세트에 대해 CPU 인스턴스를 사용한 훈련 및 추론을 권장합니다. 일부 환경의 경우 밀집 데이터에서 하나 이상의 GPU를 사용한 훈련은 약간의 이점을 제공할 수 있습니다. GPU를 사용한 훈련은 밀집 데이터에서만 가능합니다. 희소 데이터에 대해 CPU 인스턴스를 사용하세요. Factorization Machines 알고리즘은 훈련 및 추론을 위해 P2, P3, G4dn, G5 인스턴스를 지원합니다.

## Factorization Machines 샘플 노트북
<a name="fm-sample-notebooks"></a>

SageMaker AI Factorization Machines 알고리즘을 사용하여 MNIST 데이터세트 내에서 0\~9의 수기 숫자 이미지를 분석하는 샘플 노트북은 [An Introduction to Factorization Machines with MNIST](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/factorization_machines_mnist/factorization_machines_mnist.html)를 참조하세요. SageMaker AI에서 예시 실행에 사용할 수 있는 Jupyter Notebook 인스턴스를 만들고 이 인스턴스에 액세스하는 방법에 대한 설명은 [Amazon SageMaker 노트북 인스턴스](nbi.md) 섹션을 참조하세요. 노트북 인스턴스를 만든 후 열면 **SageMaker AI 예시** 탭을 선택하여 모든 SageMaker AI 샘플 목록을 확인할 수 있습니다. Factorization Machines 알고리즘을 사용하는 예제 노트북은 **Amazon 알고리즘 소개** 섹션에 있습니다. 노트북을 열려면 **사용** 탭을 클릭하고 사본 생성을 선택합니다.