Recommendation System
in Til on Til
01. 추천 시스템의 기본 개념
- 추천 시스템 정의
- 데이터를 기반으로 사용자에게 맞춤형 옵션을 제공하는 머신러닝 기법.
- 추천 시스템 구성요소
- 사용자(User): 추천을 받는 주체.
- 아이템(Item): 추천의 대상(상품, 콘텐츠 등).
- 활동 기록(Transaction Log): 사용자의 행동 데이터.
- 피드백(Feedback):
- 직접적: 별점, 좋아요 등.
- 간접적: 클릭, 구매, 체류 시간 등.
- 유저 프로필(User Profile): 활동 및 피드백 정보를 모은 데이터.
- 활용 분야
스트리밍 서비스, 소셜 네트워크, 광고, 금융, 교육 등 다양한 산업.
02. 추천 시스템 문제 정의
- 입력값
- 유저 프로필: 사용자의 선호 및 행동 데이터.
- 아이템 프로필: 아이템의 특성 정보(예: 영화의 장르, 감독).
- 유저 피드백: 선호도 평가, 상호작용 데이터.
- 결과값
- 분류: 특정 유저가 특정 아이템을 선택할 가능성 예측.
- 회귀: 특정 아이템에 대한 선호도(평점) 예측.
비지도 학습: 유사성 기반 아이템 순위 예측.
03. 추천 시스템 기초 방법론
- 추천 방식
- 인기도 기반: 조회수, 평점 등으로 인기 아이템 추천.
- 연관 규칙: 아이템 간 동시 구매 패턴 활용.
- 콘텐츠 기반 필터링 (CBF): 유저 선호 콘텐츠와 유사한 아이템 추천.
- 협업 필터링 (CF, Collaborative Filtering)
- 개념: 사용자 및 아이템 간 유사성을 기반으로 추천. CBF 일종 (중요)
- 방식:
- 메모리 기반 (Memory-based): 유저-아이템 선호도 행렬로 유사성 계산.
- User-based: 유사한 사용자를 기반으로 추천.
- Item-based: 유사한 아이템을 기반으로 추천.
- 잠재 요인 모델 (Latent Factor): 사용자 및 아이템을 잠재 공간에 매핑하여 유사성 계산.
- 메모리 기반 (Memory-based): 유저-아이템 선호도 행렬로 유사성 계산.
- CTR (Click through rate) 예측 문제
순차적 데이터 활용한 추천 시스템
04. 협업 필터링의 한계
- 콜드스타트 문제
- 신규 사용자나 아이템에 데이터가 부족해 추천 품질 저하.
- 개인정보 문제
- 타 사용자 데이터 사용으로 인한 프라이버시 이슈.
- 시간에 따른 선호도 변화
- 사용자 취향 변화 반영의 어려움.
Time-series data analysis 시계열 데이터 분석
01. 시계열 데이터의 특성
- 사용자 취향 변화 반영의 어려움.
- 시계열 데이터와 순차적 데이터
- 시계열 데이터: 시간 순서에 따라 일정 간격으로 취합된 데이터.
- 순차적 데이터: 순서가 바뀌면 의미를 잃는 데이터(예: 텍스트, DNA). 시계열 포함
- 시계열 데이터의 구성성분
- 불규칙 성분: 랜덤한 변동, 예측 불가한 노이즈.
- 규칙 성분: 예측 가능한 변동(추세, 계절성, 순환성).
- Trend 추세: 장기적인 증가/감소 경향.
- Seasonal 계절성: 정기적으로 반복되는 패턴.
- Cyclic 순환성: 일정하지 않은 주기의 변화.
- 시계열 분석의 목적
- 기술적 분석: 과거 데이터의 패턴 및 이상치 이해.
- 예측적 분석: 과거 데이터를 바탕으로 미래 데이터 예측.
- 시계열 데이터의 주요 특성
- non-IID 비독립 항등 분포: 과거 데이터가 미래에 영향을 줌.
- Auto-correlation 자기 상관: 시차 간 데이터의 상관관계.
- Markov property 마르코프 속성: 현재 상태가 과거 일부 정보에만 의존.
Stationary 정상성: 시간에 따라 데이터 분포가 일정함.
02. 시계열 데이터 모델링 방법론
- 시계열 데이터 분석방법
- 데이터의 정상성 여부 검토 후, 전처리 수행.
- 평균 및 분산의 일관성을 유지하도록 변환.
- 적용 분야:
- 진동수 기반 분석: 푸리에, 스펙트럼 밀도, 웨이브렛 분석.
- 시간 기반 통계적 분석:
- 구성성분과 그 분해 Decomposition
- 이동평균 Moving Average
- 자기회귀모델 Auto Regressive
- 시계열 데이터의 분해
- 시계열 데이터를 계절성, 추세, 불규칙 성분으로 분해.
- 이동평균 및 자기회귀 모델
- 이동평균 모델(MA): 과거 p기간 데이터를 평균하여 변동성을 완화.
- 자기회귀 모델(AR): 과거 p기간 데이터를 기반으로 선형회귀를 통해 미래 예측.
모델 평가와 개선
1. 모델 평가의 중요성과 복잡성
- **모델 평가의 필요성**: 손실 함수 최소화가 항상 목표 성능을 보장하지 않음. - **데이터의 한계**: 사람의 편견 반영 가능. - **비유**: 원숭이 손, 종이클립 아포칼립스 등. ### **2. 모델 평가의 구성요소** 2.1 **평가 방식** - **정성평가**: 사람이 직접 입력과 출력을 평가. - **정량평가**: 지표를 통해 성능을 수치로 평가. 2.2 **정량평가의 지표** - **손실함수 vs. 평가 지표**: 학습과 평가 목적의 차이. - **선택 기준**: 연구는 표준 지표, 서비스는 목표 지표 기반. 2.3 **평가 데이터셋 구성** - 데이터셋을 학습, 검증, 평가용으로 8:1:1 등으로 분할. - 데이터 누출, 대표성 부족 문제에 유의. 2.4 **모델의 일반화 성능, 복잡도 및 Regularization** - **Generalization Ability** - 접한적 없는(Unseen) 별도의 평가용 데이터로 측정 - 과적합: 학습 데이터에만 최적화된 상태. - Regularization: 모델 복잡도 제한으로 과적합 방지. —
3. 데이터셋 분할과 일반화 성능
3.1 분할 방법 - 3분할: Train / Val / Test학습, 검증, 평가 데이터셋. - k-fold 교차검증: 데이터 효율적 활용. 3.2 시계열 및 계층적 분할 - 시계열 데이터는 시간 순서에 따른 분할. - 계층적 분할은 클래스별 균형을 고려. —
4. 정량평가 지표
4.1 이진 분류 - 정밀도(Precision): 양성 예측 중 실제 정답 비율. - 재현율(Recall): 실제 양성 중 정확히 예측한 비율. - F1 스코어: 정밀도와 재현율의 조화 평균. 4.2 회귀 문제 - MAE: 평균 절대 오차. - MSE/RMSE: 제곱 평균 오차. 4.3 컴퓨팅 지표 - Latency: 처리 시간. - Throughput: 단위 시간당 처리량. - 메모리 사용량: 모델의 자원 소모. —
5. 정성평가
5.1 필요성 - 정량평가로 드러나지 않는 모델의 문제 발견. - 데이터 노이즈, 오답 패턴 분석. 5.2 효율적인 정성평가 방법
- 전문가 집단, 소규모 평가: 평가 과정의 효율성 분석.
- 샘플링: 무작위 순서로 소량 관찰.
- 점진적 개선: 반복적 문제 해결.
이슈 기록: 문제 패턴(Trigger)을 분류해 관리.
6. 모델 최적화와 에러 분석
6.1 에러 원인
- 편향(Bias): 평균 예측과 목표값 차이.
- 분산(Variance): 예측값의 변동성. 6.2 과적합 해결 방법
- Regularization: L1/L2, weight decay.
- 데이터 증강: 변형 데이터를 추가.
- Early Stopping: 적절한 시점에 학습 중단. 6.3 Double Descent
과적합 후에도 모델 복잡도를 높이면 성능이 다시 향상될 수 있음.
7. 베이스라인과 리더보드
- 베이스라인 모델: 초기 비교 기준.
- 리더보드: SOTA 모델 성능 비교.
- 휴먼 퍼포먼스: 베이즈 에러 추정의 기준.