본문 바로가기
ML 공부

[1] 추천 시스템

by 민지기il 2025. 3. 18.

> 추천 시스템

ex) 사용자가 관심 있을만한 아이템을 제공해주는 자동화 시스템

> 협업 필터링

: 내가 A를 샀는데 A를 샀던 사람들이 구매한 아이템들을 추천

 

> 추천 엔진

[1] 예시

- 아마존 관련 상품 추천: 사용자 - 고객, 아이템 - 상품

- 넷플릭스: 사용자 - 고객, 아이템 - 영화/드라마

- 구글 자동 검색어: 사용자 - 고객, 아이템 - 검색어

- LinnkedIn: 사용자 - 고객, 아이템 - 다른 고객

 

[2] 추천 엔진 종류

1) 컨텐츠 기반: 개인화 x,  아이템을 기반으로 추천, 어떻게 아이템을 표현할지? (분류체계(키워드,제목), 텍스트 처리 필요(NLP)) -> 행렬로 변환, 유사도 계산(코사인, 피어슨)

2) 협업 필터링(사용자 & 아이템 기반): 평점 기준, 다른 유저의 정보를 기반으로 내 취향을 예측함, 행렬 계산

사용자 기반 - 나와 비슷한 평점 패턴을 보이는 사람이 높게 평가한 아이템 추천

아이템 기반 - 평점 패턴이 비슷한 아이템을 찾아서 그걸 추천함

ex) 검은색 여성 블라우스: 검은색 여성 원피스, 상의 (콘텐츠 기반 추천), 여성 의류 (협업 기반 추천)

3) 사용자 행동 기반: 아이템 클릭, 구매 기반으로 한 추천, 의사 결정 트리 & deep learning 사용 가능

 

[3] 콘텐츠 기반 추천

: 아이템 간의 유사도(코사인, 피어슨)를 측정하여 추천, NLP를 사용해 text -> vector로 변환

완전 개인화 X (모두에게 동일한 아이템), 간단한 구현 (아이템 수 < 사용자 수)

ex) 책 - 제목, 저자, 장르 등등

[4] 협업 필터링

> 사용자 기반

: 나와 비슷한 평점 패턴을 보이는 이들이 높게 평가한 아이템 추천 - 사용자 profile 정보 필요, profile 정보간의 유사도 계산

> 아이템 기반

: 아이템 간의 유사도를 비교하는 것으로 시작, 사용자 기반보다 더 안정적 & 좋은 성능

> 문제점

- Cold Start: 새로운 아이템에는 평점이 없음 -> 컨텐츠 기반, 사용자 행동 기반 추천을 병행하여 문제 해결

- 리뷰 정보의 부족

- 확장성 이슈

 

[5] 협업 필터링 구현 기반

> 메모리 기반

: 사용자 / 아이템간 유사도를 미리 계산 -> 추천 요청이 오면 유사한 사용자 / 아이템을 K개 뽑아서 추천함

> 모델 기반

: 사용자 아이템 행렬에서 비어있는 평점들을 SGD(singular vector decomposition)를 사용해서 예측해서 채우는 방식

-> 다른 사용자 행동을 예측하는 방식으로 진화 (클릭, 구매)

 

 

 

 

 

 

'ML 공부' 카테고리의 다른 글

[3] 추천 시스템 3  (1) 2025.03.24
[2] 추천 시스템 2  (0) 2025.03.20
TextMining_lecture06  (0) 2024.11.10
TextMining_lecture05  (0) 2024.11.07
TextMining_lecture04  (2) 2024.11.07