데이터사이언스/추천시스템

추천시스템 - (4) 추천 알고리즘

_금융덕후_ 2020. 2. 21. 20:43
728x90
반응형

추천시스템

추천 알고리즘의 종류

기본적인 모델

추천 모델에는 다음과 같은 원소들이 있다.

사용자

    • 시스템을 사용하는 사용자들
    • 아이템에 대한 선호도를 가지고있다

아이템

    • 추천을 시행할 대상이다.

평점

    • 사용자가 아이템에 대해 표현하는 선호도이다.

(커뮤니티)

    • 사용자들이 표현하는 의견들이 통용되는 공간(커뮤니티) 이다.

 

사용자는 개개인의 속성(특성) 가지고 있고,  속성에 기반해 사용자모델이 만들어진다. 

사용자 모델은 선호하는 영화 장르, 좋아하는 샐깔과 같은 사용자의 정보들의 집합이다.

 아이템에도 속성이 있다 - 영화의 감독은 누구인가, 책의 저자는 누구인가와 같은 속성을 가지고있다.

그리고 사용자는 아이템에 대한 평점을 매길  있다 - 평점은 수적인 점수일 수도 있고, 구입한 이력일 수도 있다.

 

비개인적 기술 통계

커뮤니티의 외적인 정보들을 이용한다.

  • 베스트셀러, 가장 핫한 아이템 
  • 커뮤니티 전체의 평점의 요약

 

기술통계 기반의 예로는, 빌보드 차트 랭킹, 트립어드바이저의 호텔 랭킹 등이 있다.

 

컨텐츠 기반 필터링

사용자들이 아이템에 평점을 부여하면, 시스템은 아이템의 속성들을 이용해 사용자모델을 만든다. 

사용자가 액션장르에 지속적으로 좋은 평점을 주고 로맨스 장르에 지속적으로 나쁜 평점을 준다면, 

시스템은  기준으로, 사용자가 어떤 배우를 좋아하는지 등의 새로운 정보를 추론해   있다.

 

지식베이스 기반의 방식도 있다. 

시스템이 지식베이스 기반의 아이템 속성들을 노출시키면, 사용자는  정보들을 탐색하고 서핑한다.

 

컨텐츠 기반 필터링의 예로는 뉴스피드, 좋아하는 가수의  노래 추천 등이 있다.

 

개인화된 협업 필터링

속성만을 사용하는 것이 아니라, 다른 사람들의 의견을 반영한 추천이 이루어진다. 

사용자모델과 아이템 모델 모두가 평점의 집합이기 때문에, 

 평점의 집합들을 행렬로 만들고,  공간을 채워 나간다. 

그리고, 높은 확률을 가진 셀들을 추천하게 된다.

 

협업필터링 기법

사용자-사용자

비슷한 취향을 가진 이웃들을 골라내고, 그들의 의견을 사용한다.

아이템-아이템

비슷한 아이템들을 모으고,  아이템이 좋은 평점을 받으면 다른 아이템을 추천한다

차원 축소

수학적인 방법으로 행렬을 압축해 적은 차원의 행렬을 만들어낸다. 그리고  행렬에서 취향의 연관성을 구한다.

 

추천시스템 평가

어떠한 추천 기법을 적용하려면, 먼저 주어진 상황과 추천의 방법론을 충분한 시간을 두어 평가해야한다.

평가의 종류:

  • 예측의 정확도
  • 추천의 효율성 (정확도, 너무 뻔하지는 않는지, 다양성)
  • 계산의 성능

본 포스팅은 Minnesota대학교의 Intro to Recommender Systems코세라 강좌를 정리한 내용입니다.

https://www.coursera.org/learn/recommender-systems-introduction?specialization=recommender-systems

728x90
반응형