id, title, category, status, canonical_id, aliases, duplicate_of, source_trust_level, confidence_score, verification_status, tags, raw_sources, last_reinforced, github_commit, tech_stack
id
title
category
status
canonical_id
aliases
duplicate_of
source_trust_level
confidence_score
verification_status
tags
raw_sources
last_reinforced
github_commit
tech_stack
wiki-2026-0508-matrix-factorization
Matrix Factorization
10_Wiki/Topics
verified
self
MF
Matrix Decomposition
Latent Factor Models
Collaborative Filtering MF
none
A
0.93
applied
ml
recommender
svd
nmf
als
collaborative-filtering
dimensionality-reduction
2026-05-10
pending
language
framework
python
scipy|surprise|implicit|sklearn
Matrix Factorization
한 줄: 큰 행렬 R ≈ U·Vᵀ로 분해해 잠재 요인(latent factor)을 학습 — 추천 시스템·차원 축소·이미지 압축의 핵심.
핵심
목표 : R (m× n, 희소) → U (m× k) · Vᵀ (k× n), k ≪ min(m,n).
변형 : SVD (full/truncated), NMF (≥0 제약, 해석성), ALS (희소 explicit/implicit 피드백), FunkSVD (RMSE optimize), BPR (ranking loss).
손실 : explicit → MSE on observed; implicit → weighted MSE w/ confidence (Hu-Koren-Volinsky).
정규화 : L2 (λ‖U‖² + λ‖V‖²) — 과적합 방지. λ 튜닝 필수.
Cold-start : side feature 결합 (FM, hybrid), content-based fallback.
결정 기준
데이터
알고리즘
라이브러리
작은 dense matrix, 차원 축소
Truncated SVD
sklearn.decomposition.TruncatedSVD
토픽 모델 / 해석성
NMF
sklearn.decomposition.NMF
Explicit ratings (1-5)
SVD/SVD++
surprise
Implicit feedback (click/play)
ALS / BPR
implicit
사이드 피처 포함
Factorization Machines
xlearn, pyFM
대규모 분산
Spark ALS
pyspark.ml.recommendation
딥러닝 추천
NCF / Two-Tower
TF Recommenders, PyTorch
💻 패턴
Truncated SVD
NMF (해석 가능 토픽)
ALS implicit (BM25 weighting)
Surprise (explicit ratings)
From-scratch SGD (FunkSVD)
Cold-start: Hybrid with content
🔗 Graph
🤖 LLM 활용
LLM 임베딩 → MF의 V를 부분 초기화 → cold-start 완화.
잠재 factor 해석: top-N 아이템을 LLM에 던져 "이 그룹 공통 테마는?" — 차원 라벨링 자동화.
❌ 안티패턴
Implicit feedback에 MSE 그대로 — 0(미상호작용)을 negative로 학습 → confidence weighting 필요.
k 무작정 크게 — 과적합·메모리 폭발. validation으로 elbow 찾기.
정규화 0 — train RMSE만 떨어지고 test 폭발.
유저/아이템 ID 인코딩 누락 — sparse matrix 인덱스 mismatch 흔함.
Cold-start에 MF 단독 — 신규 유저/아이템은 hybrid/content 필수.
시간 무시 — 추천에선 최근성 큼. session-aware 모델 또는 time-decay weighting.
🧪 검증 / 중복
중복: SVD , NMF , ALS 별도 — 본 문서는 우산.
검증: held-out RMSE/MAE (explicit), NDCG@k·Recall@k·MAP (implicit). bootstrap CI 권장.
🕓 Changelog
2026-05-08 | Phase 1 — 자동 시드.
2026-05-10 | Manual cleanup — SVD/NMF/ALS/Surprise/FunkSVD 코드, cold-start, 안티패턴 정리.