추천 SVD++
SVD++ 알고리즘을 사용하여 사용자 맞춤형 추천을 제공하는 협업 필터링 모델입니다.
설명
추천 SVD++(Singular Value Decomposition Plus Plus)는 행렬 분해 기반의 협업 필터링 알고리즘입니다.
사용자의 명시적 평점(예: 별점, 좋아요)뿐만 아니라 암묵적 피드백(예: 조회 기록, 구매 이력)까지 함께 고려하여 더욱 정확한 추천을 제공합니다.
사용자와 아이템을 잠재 요인(Latent Factor) 공간으로 변환하여, 사용자가 평가하지 않은 아이템에 대한 선호도를 예측할 수 있습니다.
포트 구성
입력 포트
없음
출력 포트
- 미학습 추천모델: 학습되지 않은 SVD++ 추천 모델 (추천 모델 학습 노드에 연결하여 사용)
속성
요인(Factor) 개수 설정
잠재 요인(Latent Factor)의 개수를 설정합니다.
잠재 요인은 사용자와 아이템의 숨겨진 특성을 나타내는 차원입니다.
- 많은 요인: 복잡한 패턴 학습 가능, 과적합 위험 증가, 계산 비용 증가
- 적은 요인: 단순한 패턴만 학습, 빠른 학습
반복(Epochs) 횟수 설정
SVD 학습 과정이 반복될 횟수를 설정합니다.
한 에포크는 전체 학습 데이터를 한 번 모두 사용하는 단위입니다.
- 많은 반복: 더 정확한 학습, 시간 증가, 과적합 위험
- 적은 반복: 빠른 학습, 성능 제한적
학습률(Learning Rate) 설정
모델의 가중치를 업데이트하는 속도를 설정합니다.
- 큰 값: 빠른 학습, 발산 위험 증가, 불안정한 학습
- 작은 값: 안정적인 학습, 느린 수렴, 많은 에포크 필요
정규화(Regularization) 비율 설정
과적합을 방지하기 위한 정규화 강도를 설정합니다.
정규화는 모델의 복잡도를 제한하여 학습 데이터에만 과도하게 맞추는 것을 방지합니다.
-
큰 정규화:
- 강한 과적합 방지
- 모델이 단순해짐
- 성능 저하 가능성
-
작은 정규화:
- 약한 과적합 방지
- 복잡한 패턴 학습 가능
- 과적합 위험 증가
사용 방법
- 추천 SVD++ 노드를 캔버스에 추가합니다
- 요인 개수, 반복 횟수, 학습률, 정규화 비율을 설정합니다
- 출력된 미학습 추천모델을 추천 모델 학습 노드에 연결합니다
- 사용자-아이템 평점 데이터셋을 추천 모델 학습 노드에 연결합니다
- 학습이 완료되면 학습된 모델로 추천을 수행할 수 있습니다
예제
