기존의 메모리 기반 방법론(고전적 추천 알고리즘)은 단순하지만 확장성이 낮고, 계산 시간이 오래 걸릴 수 있습니다. 이를 극복하기 위해 머신러닝 기반 추천 시스템이 활용됩니다.
1. 트리 기반 모델:
- 트리 기반 모델은 주어진 입력 피처에 대하여 일련의 결정 규칙을 생성하는 알고리즘
- 단순한 구조로 다소 부족한 일반화 성능을 가짐. 단일 모델로 과적합 가능성이 높음
- 어떻게 하면 더 효과적인 모델을 만들 수 있을까?
=> 앙상블 모델을 사용하자
1-1. 앙상블
1) 앙상블이란
- 다수의 모델을 구성해 에러를 줄이는 것
다수의 모델을 조합하여 사용한다면 개별적인 알고리즘이 가진 장점을 더하고 단점을 보완할 수 있음
2) 고려해야할 점
1) 어떻게 충분한 다양성을 보장할까?
2) 개별 모델을 어떻게 취합할까?
3) 앙상블의 종류
- 배깅(Bagging): Bootstrap Aggregating의 약자로, 다르게 샘플링한 데이터로 각각 다른 모델을 학습
- 부스팅(Boosting): 모델을 순차적으로 학습시키며, 이전 모델의 약점을 해결하며 성능을 높임
- 스태킹(Stacking): 서로 다른 모델의 출력에서 최종 출력을 만드는 메타 모델을 학습시키는 기법
1-2 Bagging(Bootstrap Aggregating)
- bootstrap: 원본 데이터셋에서 복원 추출 (sampling with replacement) 한 데이터셋. 데이터의 다양성을 확보하는 데 사용- - aggregation: 각 데이터셋에서 샘플링된 결과를 결합
=> 복원추출한 결과를 종합한 것!
1-3 Boosting
-여러 weak learner를 사용해서 순차적으로 학습
-이전 차례에 잘 못 맞춘 문제에 집중하여 더 잘 풀도록 유도하는 알고리즘
-Bagging과는 달리, 이전 모델의 예측 성능에 따라 weighted sampling을 수행함
-부스팅은 모델의 편향을 줄이는 데 목표
1-4 LGBM(LightGBM) 으로보는 트리 기반 모델이 추천에서 갖는 이점
- 높은 성능
- prediction/classification에서 딥러닝 방법론에 비교할 수 있을만한 추천 성능을 보이며, 이와 관련된 실무적/연구적 기반이 탄탄함
- 확장가능성
- 피처 히스토그램화 방식으로, 자원 효율적인 학습이 가능함
- 구현 및 관리의 효율성
- 범용 알고리즘의 특성상 API가 잘 활발히 관리/개선되고 있음- 타 모듈 (하이퍼 파라미터 최적화, 서빙 관련 등)과 호환성이 높음
- 해석 가능성
- 행렬분해 기반 방법론에 비해 모델의 판단을 해석하기 용이함
- 자체적으로 제공하는 Feature Importance 및 기타 XAI 알고리즘을 손쉽게 적용할 수 있음
2. 행렬 분해(Matrix Factorization):
1) 행렬 분해을 알아보기전에 상호작용 행렬을 먼저 보자
상호작용 행렬이란?
- 각 유저가 아이템에 대해 매긴 평점, 혹은 구매/클릭 여부를 나타낸 행렬
- 유저의 직접적/간접적인 선호가 드러나있음
- 이 행렬에 없을 경우, 어떻게 추정할 수 있을까?
=> 이때 등장하는 것이 행렬 분해
행렬 분해
- 평점 행렬을 두개의 작은 행렬로 쪼개어, 그들의 곱으로 유저의 평점을 예측하는 모델
- 각각 행렬은 유저 잠재 요인, 아이템 잠재 요인을 나타냄
- 그러나 위와 같은 모델에서 볼 수 있는 코미디, 액션과 같은 특성(feature)은 실제로는 찾아볼 수 없음
- 대부분 특성1, 특성2 처럼 사람이 해석할 수 없는 의미를 갖는 수치 값으로 나타나게 됨
- 이렇게 의미가 숨어있는 특성을 Latent Factor라고 부름
- 이러한 Latent Factor를 어떻게 찾아내느냐가 Matrix Factorization 알고리즘의 핵심적인 요소
- Matrix Factorization 알고리즘의 종류에는 SVD, NMF 등이 있음
.
3. Factorization Machines:
상호작용 행렬뿐만 아니라 다양한 피처 데이터를 함께 활용하며 Sparse 데이터에 강점을 가집니다.
'추천 시스템 > 이론' 카테고리의 다른 글
| 유사도 계산 (0) | 2024.11.27 |
|---|---|
| 컨텐츠 기반 필터링과 협업 필터링 (0) | 2024.11.27 |
| 고전적인 추천 알고리즘: 연관 규칙 기반 추천 (Association Rule Mining) (0) | 2024.11.26 |
| 고전적 추천 알고리즘 (0) | 2024.11.26 |
| 추천 시스템이란? (0) | 2024.11.25 |