1.3 Basic Models of Recommender Systems
추천시스템 기본모델
1. Collaborative filtering 추천시스템
- 등급이나 구매 행동과 같은 user-item 상호작용을 기반으로 추천
2. Contents-based 추천시스템
- 텍스트 프로파일 또는 관련 키워드와 같은 user와 item에 대한 속성종보를 기반으로 추천
3. knowledge-based 추천시스템
- 명시적으로 지정된 user의 요구 사항을 기반으로 추천(체크박스나 키워드 검색 등)
4. Hybrid 추천시스템
- 다양한 유형의 추천 시스템들의 장점을 결합하여 추천
1.3.1 Collaborative Filtering Models
- 여러 사용자가 제공하는 등급의 협업 기능을 사용하여 추천항목을 제공
- 주요 과제는 기본 등급 매트릭스가 희소(0이 많음)하다는 것
- 예측 프로세스에 항목 간 상관 관계 또는 사용자 간 상관 관계를 활용하는 데 초점
- 일반적으로 사용되는 방법에는 메모리 기반 방법과 모델 기반 방법이라고 하는 두 가지 유형이 있음
1) Memory-based methods
- neighborhood-based 협업 필터링 알고리즘이라고도 불림
- user-item 조합의 등급이 이웃을 기반으로 예측되는 최초의 협업 필터링 알고리즘
- neighborhood-based 협업 필터링 알고리즘은 아래의 두가지 방법 중 하나로 정의할 수 있음
[1] User-based collaborative filtering(사용자 기반 협업 필터링)
- 기본 아이디어
- 대상 사용자 A와 유사한 사용자를 결정하고 이 동위 그룹 등급의 가중 평균을 계산하여 A의 관찰되지 않은 등급에 대한 등급을 추천하는 것
- 예시
- 앨리스와 밥이 과거에 비슷한 방식으로 영화를 평가했다면 영화 터미네이터에서 관찰된 앨리스의 등급을 사용하여 이 영화에 대한 밥의 관찰되지 않은 등급 예측가능
- 일반적으로 Bob과 가장 유사한 k명의 사용자를 사용하여 Bob의 등급 예측가능
- 유사성 함수는 유사한 사용자를 찾기 위해 등급 매트릭스의 행 간에 계산
[2] Item-based collaborative filtering(항목 기반 협업 필터링)
- 기본 아이디어
- 사용자 A가 대상 항목 B에 대해서 매길 등급을 예측하기 위해서, 대상항목 B와 유사한 항목 집합 S를 결정하고 이를 활용하여 사용자 A가 항목 B을 선호할지에 관해 예측하여 추천시스템을 구축하는 것
- 예시
- Alien과 Predator와 같은 유사한 공상 과학 영화에서 밥의 평점은 터미네이터에서의 그의 평점을 예측하는 데 사용됨
[3] memory-based collaborative filtering(지식기반 협업 필터링)
- 특징
- 구현이 간단하고 결과 추천항목을 설명하기 용이하지만 희소한 등급을 가지고 있는 행렬에서는 잘 작동하지 않음
- 자세한 내용은 2장에서 설명
2) Model-based methods
- 기계 학습 및 데이터 마이닝 방법이 예측 모델의 맥락에서 사용
- 모델이 매개 변수화된 경우, 이 모델의 매개 변수는 최적화 프레임워크의 컨텍스트 내에서 학습
- 모델 기반 방법의 일부 예로는 의사결정 트리, 규칙 기반 모델, 베이지안 방법 및 잠재 요인 모델이 포함
- 자세한 내용은 3장에서 설명
1.3.1.1 Types of Ratings
- user가 매기는 등급(rating)은 종종 현재 항목의 유사 또는 비호감의 특정 수준을 나타내는 척도
- Rating방법 예시
1) ininterval-based ratings(간격 기반 등급)
- 일정한 간격을 기반으로 등급을 매기는 방법
- 예시 : {-2, -1, 0, 1, 2}
2) forced choice rating(강제 선택 등급)
- 넷플릭스의 5단계로 이루어진 등급 평가 방법처럼 평가 점수를 정해놓고 선택하는 방법
3) ordinal ratings(서수 등급)
- 순서가 있는 범주형 값을 활용하여 등급을 평가하는 방법
4) Unary ratings(단항 등급)
- 호감만 지정할 수 있는 방법
- 페이스북의 좋아요가 이에 해당된다
1.3.1.2 Relationship with Missing Value Analysis
- Collaborative filtering 모델은 결측치 분석과 밀접한 관련이 있음
- 협업 필터링은 기본 데이터 매트릭스가 매우 크고 희소(sparse)한 이 문제의 (어려운) 특수한 경우로 볼 수 있음
- 잠재 요인 모델과 같은 추천 시스템에 대한 일부 최근 모델 클래스는 결측치 분석의 맥락에서 초기에 연구됨
1.3.1.3 Collaborative Filtering as a Generalization of Classification and Regression Modeling
- 협업 필터링에서의 예측은 행별 방식이 아닌 항목별 방식으로 수행되는 분류/회귀 모델링의 일반화
- 두 문제의 차이를 그림으로 나타내면 아래와 같다
- 매트릭스 완성 문제(사용자가 평가하지 않은 부분을 예측을 통해 채워넣는 문제)는 또한 분류 및 회귀에서 transductive setting과 많은 특성을 공유
- matrix completion 관련 자료
Machine learning 스터디 (17) Recommendation System (Matrix Completion) - README - transductive setting과 관련된 자료
Types of Learning in Machine LearningTransduction (Transductive Learning)과 Induction (Inductive Learning) - 해당블로그에서 발췌 Transductive or Transductive learning이란, 특정 예제에 대한 예측을 시행할 때, 특정 예제를 활용하는 것을 의미한다. Induction은 특정 예제로 일반적인 규칙을 학습했지만, Transductive learning은 특정 예제에서 특정 예제로 간다는 면에서 차이가 있는 것. 추천 시스템의 많은 모델들이 Transductive, new unseen user에 대한 예측은 할 수가 없어. Induction과 달리, 일반화가 필요없기 때문에, 단점도 분명하지만, 이로 인한 장점도 있다. 특정한 예제들을 직접적으로 사용하기 때문에, Induction 보다 학습이 더 쉬울 수 있다. "The model of estimating the value of a function at a given point of interest describes a new concept of inference: moving from the particular to the particular. We call this type of inference transductive inference. Note that this concept of inference appears when one would like to get the best result from a restricted amount of information." — Page 169, The Nature of Statistical Learning Theory, 1995. Transductive 한 가장 클래식한 예시는, KNN이 있다. new point가 들어오면 임마들 근처에 있는 친구들을 이용해 예측을 진행하니께... 어? 추천에서는 할 수가 없댔는데, KNN은 되지않나? ㅇㅇ; 되긴함 근디 기존 가지고 있는 데이터셋이랑 터무니 없이 먼 포인트로 예측을 해봐야 정확도가... 그지깽깽이다 그죠잉...
- transductive setting에는 테스트 객체도 학습 프로세스에 포함되며(일반적으로 semi-supervised 알고리즘 사용) 학습 시 사용할 수 없는 테스트 객체에 대해 예측하기 어려운 경우가 많습니다.
1.3.2 Content-Based Recommender Systems
- 콘텐츠 기반 추천 시스템에서는 item의 설명 속성을 사용하여 추천
- "콘텐츠"라는 용어는 이러한 설명을 나타냅니다.
- 콘텐츠 기반 방법에서 사용자의 등급 및 구매 행동은 항목에서 사용할 수 있는 콘텐츠 정보와 결합됨
- 콘텐츠 기반 방법에서 등급으로 레이블이 지정된 항목 설명은 사용자별 분류 또는 회귀 모델링 문제를 생성하기 위한 훈련 데이터로 사용
- 콘텐츠 기반 방법은 해당 항목에 대한 충분한 등급 데이터를 사용할 수 없는 경우 새 항목에 대한 권장 사항을 만들 때 몇 가지 이점이 있음→유사한 속성을 가진 다른 항목이 활성 사용자에 의해 등급이 매겨졌을 수 있기 때문
컨텐츠 기반 방법 단점
- 키워드나 콘텐츠를 사용하기 때문에 콘텐츠 기반 방법은 명확한 추천 항목을 제공한다.
- 사용자가 특정 키워드 집합이 있는 항목을 사용한 적이 없는 경우 이러한 항목은 추천될 가능성이 없습니다.
- 구성된 모델이 거리가 가까운 사용자에게만 한정되어 있고 유사한 사용자의 커뮤니티 지식이 활용되지 않기 때문
- 콘텐츠 기반 방법은 새로운 항목에 대한 추천을 제공하는 데 효과적이지만, 새로운 사용자에 대한 추천을 제공하는 데는 효과적이지 않습니다.
- target user의 학습 모델이 평가 기록을 사용해야 하기 때문
- 과적합 없이 강력한 예측을 하기 위해서는 일반적으로 사용할 수 있는 target user의 평가가 많은 것이 중요
컨텐츠 기반 방법 장점
- 콘텐츠 기반 방법에 대한 기존의 학습 기반 관점을 제공하지만, 때때로 이러한 방법에 대한 더 넓은 시각이 사용
- 사용자가 자신의 프로파일에 관련 키워드를 지정→프로필을 항목 설명과 비교하여 추천 항목을 만들 수 있음→콜드 스타트 시나리오에서 유용
1.3.3 Knowledge-Based Recommender Systems
- 지식 기반 추천 시스템은 자주 구입하지 않는 항목의 맥락에서 특히 유용
(부동산, 자동차, 금융 서비스 등) - 자주 구입하지 않은 항목추천의 경우 추천 프로세스에 대한 등급이 충분하지 않을 수 있습니다.
- 항목을 거의 구입하지 않고 여러 유형의 세부 옵션을 사용할 경우 해당 항목의 특정 인스턴스화(예: 옵션 조합)에 대한 충분한 등급을 얻기 어려움
- 지식 기반 추천 프로세스는 고객 요구사항과 항목 설명 간의 유사성 또는 사용자 요구사항을 지정하는 제약 조건의 사용에 기초하여 수행
- 요구사항의 명시적 사양은 추천 프로세스에 대한 사용자 제어 능력을 강화
- 협업 시스템과 컨텐츠 기반 시스템 모두에서 추천은 전적으로 사용자의 과거 작업/등급, 동료의 작업/등급 또는 둘의 조합에 의해 결정
- 지식 기반 시스템은 사용자가 원하는 것을 명시적으로 지정
- 협업 시스템, 컨텐츠 기반 시스템, 지식 기반 시스템의 차이
지식 기반 추천시스템 분류
- 제약 조건 기반 추천시스템
- 제약 조건 기반 시스템에서 사용자는 일반적으로 항목 속성에 대한 요구 사항 또는 제약 조건(예: 하한 또는 상한)을 지정
- 도메인별 규칙은 사용자 요구 사항을 항목 특성에 일치시키는 데 사용
- 규칙은 시스템에서 사용하는 도메인별 지식
- 이러한 규칙은 항목 속성에 대한 도메인별 제약의 형태
- 제약 조건 기반 시스템은 종종 사용자 속성과 항목 속성과 관련된 규칙을 만듬
- 이 경우 검색 프로세스에서 사용자 속성을 지정
- 반환된 결과의 수와 유형에 따라 사용자는 원래 요구 사항을 수정할 수 있습니다.
- 사례 기반 추천시스템
- 사례 기반 추천시스템의 경우 사용자가 특정 사례를 대상 또는 고정점으로 지정
- 유사성 메트릭은 이러한 사례와 유사한 항목을 검색하기 위해 항목 속성에 정의
- 유사성 메트릭은 이러한 시스템에서 사용되는 도메인 지식을 형성
- 반환된 결과는 종종 사용자에 의해 일부 대화형 수정과 함께 새로운 대상 사례로 사용
- 제약 조건 기반 추천시스템, 사례 기반 추천시스템 두 경우 모두 사용자에게 지정된 요구 사항을 변경할 수 있는 기회를 제공
- 두 방법의 차이점
- 사례 기반 시스템에서 예제(또는 사례)는 유사성 메트릭과 함께 검색을 안내하는 기준점으로 사용
- 제약 조건 기반 시스템에서 규칙(또는 제약 조건)을 사용하여 검색을 안내
- 제약 기반 시스템에서는 사용자가 각 반복에서 하나 이상의 기본 항목의 속성을 반복적으로 수정하는 시스템에서 피드백을 표현하는 데 특히 유용
1.3.3.1 Utility-Based Recommender Systems
- 유틸리티 기반 추천 시스템에서 유틸리티 함수는 사용자가 항목을 좋아할 확률을 계산하기 위해 제품 기능에 정의
- 유틸리티 기반 방법의 핵심 과제는 당면한 사용자에게 적합한 유틸리티 기능을 정의하는 것
- 모든 추천 체계는 대상 사용자에 대한 인지 가치(또는 유틸리티)를 기준으로 권장 항목의 순위를 암시적으로 매긴다
- 유틸리티 값은 선행지식으로 알려진 함수를 기반으로 함
1.3.4 Demographic Recommender Systems
- 인구통계학적 추천 시스템에서는 사용자에 대한 인구통계학적 정보를 활용하여 특정 인구통계를 등급 또는 구매 선호도에 매핑할 수 있는 분류를 학습
- 인구 통계 정보를 추가 컨텍스트와 결합하여 추천 프로세스를 안내
- 인구통계학적 추천자 시스템은 일반적으로 독립적으로 최상의 결과를 제공하지 않지만 하이브리드 또는 앙상블 모델의 구성 요소로서 다른 추천자 시스템의 성능을 크게 향상시킴
1.3.5 Hybrid and Ensemble-Based Recommender Systems
- 앞서 언급한 세 시스템(협업 필터링 추천, 콘텐츠 기반 추천, 지식 기반 추천)은 서로 다른 입력 소스를 이용하며, 서로 다른 시나리오에서 잘 작동함
- 협업 필터링 시스템은 커뮤니티 등급에 의존하며, 콘텐츠 기반 방법은 텍스트 설명 및 대상 사용자 자신의 등급에 의존하며, 지식 기반 시스템은 지식 기반 컨텍스트에서 사용자와의 상호 작용에 의존
- 인구통계학적 시스템은 사용자의 인구통계학적 프로파일을 사용하여 권장사항을 제시
- 지식 기반 시스템과 같은 일부 추천 시스템은 많은 양의 데이터를 사용할 수 없는 콜드 스타트 설정에서 더 효과적입니다.
- 지식 기반 시스템과 같은 일부 추천 시스템은 많은 양의 데이터를 사용할 수 없는 콜드 스타트 설정에서 더 효과적
- 콜드 스타트에서 효과적인 추천시스템
- 협업 방법과 같은 다른 추천 시스템은 많은 데이터를 사용할 수 있을 때 더 효과적
- 많은 데이터 사용가능할 때 효과적인 추천시스템
- 앙상블 기반 추천 시스템은 여러 데이터 소스의 힘을 결합할 수 있을 뿐만 아니라 동일한 유형의 여러 모델을 결합함으로써 특정 등급의 추천자 시스템(예: 협업 시스템)의 효율성을 향상시킬 수 있습니다.
1.3.6 Evaluation of Recommender Systems
- 추천시스템과 분류 및 회귀 모델링의 유사성→결측 데이터 혹은 변수를 예측해야 함
- 추천 문제는 분류 문제의 일반화로 볼 수 있음
'[Rec-Sys]' 카테고리의 다른 글
[Ch02] 2.1 Introduction (0) | 2021.12.01 |
---|---|
[Ch01] 1.5 Advanced Topics and Applications (0) | 2021.11.10 |
[Ch01] 1.4 Domain-Specific Challenges in Recommender Systems (0) | 2021.11.09 |
[Ch01] 1.2 Goals of Recommender Systems (0) | 2021.11.07 |
[Ch01] 1.1 Introduction (0) | 2021.11.07 |