Skip to main content

추천 SVD++

SVD++ 알고리즘을 사용하여 사용자 맞춤형 추천을 제공하는 협업 필터링 모델입니다.


설명

추천 SVD++(Singular Value Decomposition Plus Plus)는 행렬 분해 기반의 협업 필터링 알고리즘입니다.

사용자의 명시적 평점(예: 별점, 좋아요)뿐만 아니라 암묵적 피드백(예: 조회 기록, 구매 이력)까지 함께 고려하여 더욱 정확한 추천을 제공합니다.

사용자와 아이템을 잠재 요인(Latent Factor) 공간으로 변환하여, 사용자가 평가하지 않은 아이템에 대한 선호도를 예측할 수 있습니다.


포트 구성

입력 포트

없음

출력 포트

  • 미학습 추천모델: 학습되지 않은 SVD++ 추천 모델 (추천 모델 학습 노드에 연결하여 사용)

속성

요인(Factor) 개수 설정

잠재 요인(Latent Factor)의 개수를 설정합니다.

잠재 요인은 사용자와 아이템의 숨겨진 특성을 나타내는 차원입니다.

  • 많은 요인: 복잡한 패턴 학습 가능, 과적합 위험 증가, 계산 비용 증가
  • 적은 요인: 단순한 패턴만 학습, 빠른 학습

반복(Epochs) 횟수 설정

SVD 학습 과정이 반복될 횟수를 설정합니다.

한 에포크는 전체 학습 데이터를 한 번 모두 사용하는 단위입니다.

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

학습률(Learning Rate) 설정

모델의 가중치를 업데이트하는 속도를 설정합니다.

  • 큰 값: 빠른 학습, 발산 위험 증가, 불안정한 학습
  • 작은 값: 안정적인 학습, 느린 수렴, 많은 에포크 필요

정규화(Regularization) 비율 설정

과적합을 방지하기 위한 정규화 강도를 설정합니다.

정규화는 모델의 복잡도를 제한하여 학습 데이터에만 과도하게 맞추는 것을 방지합니다.

  • 큰 정규화:

    • 강한 과적합 방지
    • 모델이 단순해짐
    • 성능 저하 가능성
  • 작은 정규화:

    • 약한 과적합 방지
    • 복잡한 패턴 학습 가능
    • 과적합 위험 증가

사용 방법

  1. 추천 SVD++ 노드를 캔버스에 추가합니다
  2. 요인 개수, 반복 횟수, 학습률, 정규화 비율을 설정합니다
  3. 출력된 미학습 추천모델을 추천 모델 학습 노드에 연결합니다
  4. 사용자-아이템 평점 데이터셋을 추천 모델 학습 노드에 연결합니다
  5. 학습이 완료되면 학습된 모델로 추천을 수행할 수 있습니다

예제

추천 SVD++ 예제