추천 시스템 문제의 본질
협업필터링으로 추천 시스템의 본질과 선호 추정 가정을 정리한 실무 메모
Posted
By okorion
추천 시스템 문제의 본질
추천 시스템은 “무엇을 좋아할까”를 맞히는 문제가 아니다.
핵심은 관측된 일부 행동으로 보이지 않는 선호 구조를 추정하는 것이다.
사용자 기반 협업 필터링은
이 문제를 가장 단순한 구조로 환원한 기준점이다.
추천 시스템 문제 정의
추천 시스템의 기본 입력과 출력은 다음으로 고정된다.
- 입력:
- 사용자
- 아이템
- 사용자–아이템 간의 과거 상호작용
- 출력:
- 아직 보지 않은 아이템에 대한 선호 추정
문제의 본질:
- 데이터는 희소하다
- 대부분의 조합은 관측되지 않았다
- 예측 대상은 “미래 행동”이다
👉 추천은 분류도 회귀도 아닌
관계 추론 문제다.
사용자 기반 협업 필터링 개념
핵심 아이디어
- 나와 비슷한 사용자를 찾는다
- 그들이 좋아했지만 나는 보지 않은 것을 추천한다
직관적 비유
취향을 모르는 새 영화를 고를 때,
나와 영화 취향이 비슷한 사람의 리스트를 훔쳐본다는 발상이다.
구조 요약
- 사용자 × 아이템 관계를 표로 본다
- 사용자를 기준으로 유사도를 계산한다
- 유사한 사용자들의 선택을 합쳐 예측한다
👉 모델이 아니라
“비슷한 사람은 비슷한 선택을 한다”는 가정이 전부다.
단일 영화 추천 vs 전체 추천 차이
단일 영화 추천
- 질문: “이 영화, 이 사용자가 좋아할까?”
- 필요한 것:
- 유사 사용자 일부
- 국소적 판단
전체 추천
- 질문: “이 사용자에게 뭘 보여줄까?”
- 필요한 것:
- 전체 아이템 공간 탐색
- 순위 결정 로직
문제 난이도 관점
| 항목 | 단일 추천 | 전체 추천 |
|---|---|---|
| 계산 범위 | 좁음 | 넓음 |
| 오류 영향 | 제한적 | 누적됨 |
| 실무 난이도 | 낮음 | 높음 |
👉 “하나 맞히기”와
“리스트를 만드는 것”은 전혀 다른 문제다.
실제 서비스에서의 한계
데이터 스케일
- 사용자·아이템 수가 늘수록 계산 비용 증가
- 유사도 계산이 병목이 된다
- 실시간 추천에 부적합해진다
콜드 스타트
- 신규 사용자:
- 과거 행동 없음
- 신규 아이템:
- 평가 데이터 없음
이 경우:
- “비슷한 사용자” 자체가 정의되지 않는다
👉 사용자 기반 협업 필터링은
초기 구조 이해에는 최적,
대규모 서비스에는 그대로 쓰기 어렵다.
구조 요약
- 추천 문제는 관계 문제다
- 사용자 기반 협업 필터링은 가장 직관적인 해법이다
- 한계가 명확하기 때문에, 이후 확장의 기준점이 된다
이 구조를 이해하면, 다른 추천 모델들은 모두
“여기서 무엇을 자동화·대체했는가”로 환원된다.
