Skip to main content

추천 베이스라인

행렬 분해 기반의 기본 추천 시스템으로 사용자-아이템 추천을 제공하는 모델입니다.


설명

추천 베이스라인은 협업 필터링 기반의 행렬 분해(Matrix Factorization) 추천 알고리즘입니다.

사용자-아이템 평점 행렬을 사용자 잠재 행렬과 아이템 잠재 행렬로 분해하여, 사용자가 평가하지 않은 아이템에 대한 선호도를 예측합니다.

ALS(Alternating Least Squares) 또는 SGD(Stochastic Gradient Descent) 최적화 기법을 선택하여 모델을 학습할 수 있습니다.


포트 구성

입력 포트

없음

출력 포트

  • 미학습 추천모델: 학습되지 않은 베이스라인 추천 모델 (추천 모델 학습 노드에 연결하여 사용)

속성

추천 방법 선택

행렬 분해 모델의 목적함수 최적화 기법을 선택합니다.

  • ALS (Alternating Least Squares):

    • 사용자 행렬과 아이템 행렬을 번갈아가며 최적화
    • 암묵적 피드백(조회, 구매 등) 데이터에 효과적
    • 병렬 처리 가능하여 대규모 데이터에 적합
    • 안정적인 수렴
  • SGD (Stochastic Gradient Descent):

    • 확률적 경사 하강법으로 최적화
    • 명시적 평점 데이터에 효과적
    • 학습률 조정 필요
    • 빠른 학습 속도

반복 횟수

행렬 계산을 반복할 횟수를 설정합니다 (기본값: 10).

  • 많은 반복: 더 정확한 학습, 시간 증가, 과적합 위험
  • 적은 반복: 빠른 학습, 성능 제한적

사용자 정규화 비율 설정

과적합을 방지하기 위해 User Latent에 대한 정규화 값을 설정합니다 (ALS 선택 시).

정규화 값이 클수록 과적합을 강하게 방지하지만, 모델이 단순해질 수 있습니다.

ALS는 정수형 정규화 값을 사용합니다.

아이템 정규화 비율 설정

과적합을 방지하기 위해 Item Latent에 대한 정규화 값을 설정합니다 (ALS 선택 시).

정규화 값이 클수록 과적합을 강하게 방지하지만, 모델이 단순해질 수 있습니다.

ALS는 정수형 정규화 값을 사용합니다.

정규화 비율 설정

과적합을 방지하기 위한 정규화 강도를 설정합니다 (SGD 선택 시).

  • 큰 값: 강한 과적합 방지, 단순한 모델
  • 작은 값: 복잡한 패턴 학습 가능, 과적합 위험

학습률 설정

모델의 가중치를 업데이트하는 속도를 설정합니다 (SGD 선택 시).

  • 큰 값: 빠른 학습, 발산 위험 증가
  • 작은 값: 안정적인 학습, 느린 수렴

사용 방법

  1. 추천 베이스라인 노드를 캔버스에 추가합니다
  2. 추천 방법(ALS 또는 SGD)을 선택합니다
  3. 반복 횟수를 설정합니다
  4. 선택한 방법에 따라 정규화 비율을 설정합니다
    • ALS: 사용자 정규화 비율, 아이템 정규화 비율
    • SGD: 정규화 비율, 학습률
  5. 출력된 미학습 추천모델을 추천 모델 학습 노드에 연결합니다
  6. 사용자-아이템 평점 데이터셋을 추천 모델 학습 노드에 연결합니다
  7. 학습이 완료되면 학습된 모델을 일괄 예측 노드에서 사용할 수 있습니다

예제

추천 베이스라인 예제