비슷한 이용자들이 평점을 주는 방식에 비슷한 패턴을 보이고, 비슷한 아이템에는 유사한 평점을 주는 사실을 기반으로 한다.
1. 사용자 기반 협업 필터링 : 이웃 사용자 평점을 활용해 예측한다.
2. 아이템 기반 협업 필터링 : 사용자가 평가한 평점 중 가장 비슷한 아이템에 대한 평점을 이용하여 예측한다.
1. 유저-아이템 조합의 평점 값 예측
2. 상위-k 아이템 혹은 상위-k 사용자 결정
R이라고 표현하며, m 명의 사용자와 n 개의 아이템을 가지고 있는 m x n 행렬이다.
1. 연속 평점 : 평점은 역속형이며 아이템에 대한 좋음과 싦음을 나타낸다.
2. 인터벌 기반 평점 : 인터벌 기반 평점은 5점이나 7점 스케일을 주로 쓴다.
3. 서수 평점 : 순서형의 범주형 값을 쓴다.
4. 강제 선택 방법 : 서수 평점 중 "Neutral" 옵션을 제공하지 않는 경우이다.
5. 이진 평점 : 긍정 혹은 부정의 응답인 두 개의 옵션만이 존재한다.
6. 단항 평점 : 사용자에게 아이템에 대해 긍정 선호도를 지정할 수 있게 하지만 부정 선호도를 지정하는 구조는 없다.
1. 많은 경우 잦은 빈도를 보이는 아이템은 판매자에게는 이익이 거의 없는 치열한 아이템인 반면 낮은 빈도를 보이는 아이템은 이윤이 더 크게 남는다.
2. 롱테일에서의 관찰된 평점은 매우 드문 경우이기 때문에 롱테일에서의 견고한 평점 예측은 일반적으로 더 어렵다.
3. 이웃한 아이템이 종종 자주 평가된 아이템을 기반으로 정의되지만, 자주 등장하는 상품과 적게 등장하는 상품은 평점 패턴에 있어서 본질적으로 다른 차이를 갖고 있기 때문에 위의 방식으로 상품을 정의 할 경우 잘못된 결과를 낳을 수 있다.
가장 큰 문제점은 서로 다른 사용자가 평점에 각기 다른 스케일을 부여할 수 있다는 점이다.
Ex> 어떤 사용자는 모든 아이템에 대해서 높은 점수를 부여하고, 또 다른 사용자는 모든 아이템에 대해 부정적으로 평가할 수 있다.
* 이를 해결하기 위해 피어슨 상관계수를 계산하기 전 기존 행렬을 평균 중심 행렬로 재배열한다.
* 평균 중심 과정은 이미 평가된 평점에 대해 훨씬 좋은 상대적 예측을 가능하게 한다.
* 유일한 약점 : 예측 값이 주어진 평점의 범위에서 벗어날 수 있다.
만일 두 명의 사용자가 공통적으로 평점을 부여한 수가 적다면, 유사도 함수는 두 사용자 쌍의 중요도를 덜 강조하기 위해 할인 요인을 적용해 낮춘다.
사용자 u의 관측된 평점을 표준편차로 나눠준다.
* 평균 중심과 Z-스코어 중 어떤 결과가 더 나은 결과물을 제공하는지에 대한 생각은 다양하다.
피어슨 상관계수를 α의 지수로 지수화해 가중치를 증폭한다.
* 장점 : 평균 평점의 값보다는 가장 정답에 가까운 평점을 준다.
* 평점의 종류가 적을 때 더 효과적이다.
타깃 사용자에 대한 피어 그룹은 다양한 방법으로 정의되고 필터링 될 수 있다.
* 가장 간단한 방법 : 타깃 사용자의 상위-k 유사 사용자 그룹을 이용하는 것
* 이러한 방법은 타깃가 약하너가 음의 상관관계가 있는 사용자들까지 포함하게 될 수 있다.
이들은 예측에 오류를 추가할 수 있기 때문에 필터링 돼 제외되는 경우가 많다.
유명한 아이템은 서로 다른 사용자들로부터 반복적으로 평점을 받았을 수 있어 사용자 간의 차별성이 적어져 추천 품질을 악화시킬 수 있다.
사용자 기반의 평점의 경우처럼 평점 행렬의 각 아이템에 대한 평균 평점이 각 평점에서 차감돼 평균 중심 행렬을 생성한다.
두 아이템을 모두 평가한 사용자들의 평점을 통해 유사도를 계산한다
유사한 항목에 대한 사용자 자신의 평점과 조정된 코사인 유사도를 가중치로 활용해 값을 예측한다.
1. 오프라인 단계 : 사용자-사용자(또는 아이템-아이템) 유사도 값과 사용자(또는 아이템)의 피어 그룹을 계산 후 사전에 저장한다.
2. 온라인 단계 : 유사도 값과 피어 그룹을 활용해 예측을 수행한다.
* 이웃 기반 방법론의 주요한 계산상의 복잡성은 종종 수행돼야 하는 오프라인 단계에 있기 떄문에 온라인 예측을 이용할 때 효율적인 경향이 있다.
1. 아이템 기반 방법론은 사용자 자체 평점을 추천에 활용하기 때문에 관련성이 높은 추천을 제공한다.
2. 아이템 기반 방법론은 추천 시스템에서 쉴링 공격에 더 강한 반면, 추천 과정에서 사용자 기반 방법론이 다양해질 수 있다.
3. 아이템 기반 방법론은 추천에 구체적인 근거를 제공한다.
4. 아이템 기반 방법론은 사용자 수가 대체로 아이템의 수보다 크다는 점과 신규 사용자는 상용 시스템에서 신규 아이템보다 더 자주 추가된다는 점에서 평점의 변화에 더 안정적이다.
1. 장점 : 단순함과 직관적인 성격 때문에 적응하기도 쉽고 문제를 파악하기도 쉽다.
2. 단점 : 대규모 환경에서 오프라인 단계가 때로는 비효율과 희박함에 생긴 제한된 커버리지이다.
1. 열이 평균 중심으로 설정되면 사용자 기반과 아이템 기반 방법론이 거의 같아진다.
2. 열이 평균 중심이면 열간의 피어슨 상관계수는 코사인 계수와 동일하다.
* 이 가정을 기반으로 사용자 기반과 아이템 기반 방법론을 통합해 평점 행렬 R의 엔트리를 예측할 수 있다.
1. 행과 열간의 코사인 계수를 이용해 평점 행렬의 타깃 엔트리와 가장 유사한 행, 열을 결정한다. 사용자 기반 방법론에서는 열을 이용하고, 아이템 기반 방법론에서는 행을 이용한다.
2. 위의 단계에서 찾은 행과 열의 평점의 가중 조합을 이용해 타깃 엔트리를 예측한다.
클러스터링 기반 방법론의 주요 관점은 오프라인에서의 가장 근접한 이웃 단계를 클러스터링 단계로 대체하는 것이다.
* 쌍에 대한 유사도 계산은 같은 클러스터 안에서만 작용해야 하고 따라서 이 접근 방법은 훨씬 더 효율적이다.
* 클러스터링 세밀도는 정확성과 효율성 간의 트레이드 오프를 조절한다.
k 개의 서로 다른 클러스터를 표현하는 k 개의 중심 포인트를 이용하는 것이다.
1. 데이터 공간 범위 내에서 랜덤하게 선택된 대표의 집합으로 시작한다.
2. 대표를 이용해 클러스터 파티션을 반복적으로 계산하고 결과 클러스터를 중심으로 다시 대표를 계산한다.
3. 이 두 단계의 반복 작업은 점차 수렴하게 된다.
* 사용자 기반 협업 필터링을 위해 열을 클러스터링 한다.
* 아이템 기반 협업 필터링을 위해 행을 클러스터링 한다.
1. 데이터의 축소된 형태는 잠재 요인의 열과 행 형태로 만들 수 있다.
2. 평점 행렬의 전체를 한 번에 재구성하는 데 쓰인다.
1. SVD 방법론
2. PCA 방법론
* 전체적인 결과는 매우 유사하다.
각 항목 쌍간의 공분산의 최대 우도 추정치는 지정된 항목 간의 공분산으로 추정된다.
Ex> 한 쌍의 항목 간에 공통된 사용자가 없는 경우 공분산은 0으로 추정된다.
* 다만 행렬이 희박하면 공분산 추정치가 통계적으로 신뢰할 수 없다.
Truncated SVD를 사용해 행렬을 대략적으로 인수분해 할 수 있다.
* 다음 식을 이용해 평점 행렬 R을 대략적으로 인수분해 할 수 있다면 축소된 기저 뿐만이 아닌 축소된 기저에 해당하는 평점도 알 수 있다.
회귀 접근 방식의 문제 : 회귀 계수는 사용자 u와 함께 특정 아이템 j를 평가한 피어 사용자 수에 크게 의존하게 된다.
Ex> 대상 사용자 u가 <글래디에이터>를 평가 했을 때 대상 사용자 u의 k 최근접 이웃 중 한 명의 사용자만 영화 <글래디에이터>를 평가했다면 회귀 계수는 한 명의 사용자에 큰 영향을 받게 된다.
아이템 기반 접근 방식은 회귀가 사용자-사용자 상관관계가 아닌 아이템-아이템 상관관계를 학습하고 활용한다는 점을 제외하면 사용자 기반 접근 방식과 유사하다.
사용자 기반 모델을 사용해 대상 사용자 u의 각 평점을 예측할 때 동일한 항목의 관찰된 값과 비교하는 대신 해당 사용자의 다른 항목의 관찰된 평점과 비교한다.
1. 아이템-아이템 유사도 : 예측된 평점이 유사한 항목의 관찰된 평점과 더 유사하도록 강제하기 위해 객관적인 함수에서 항의 곱셈 인자로 사용된다.
2. 사용자-사용자 유사도 : 표적 사용자 u의 관련 피어 그룹으로 회귀 계수를 제한함으로써 평점을 예측하는 데 사용된다.
정규화 방법을 사용해 회귀 계수의 희소성을 장려한다.
* 음수가 없는 평점에서 작동하도록 설계됐다.
* 긍정적인 기본 설정만 표현하는 암시적 피드백 행렬에 가장 적합하다.
1. 선형 회귀 모델은 특징 선택을 위한 추론적 접근 방식을 사용하는 데 반해, SLIM은 특징 선택을 위한 학습 접근 방식을 사용한다.
2. SLIM은 주로 명시적 평점이 아닌 암시적 피드백 데이터 세트를 위해 설계됐다.
3. 선형 회귀 모델의 회귀 계수는 양수 또는 음수 일 수 있는 반면 SLIM의 계수는 음수가 아닌 계수로 제한된다.
4. SLIM은 일반적으로 평점이 없는 데이터 세트에 사용되므로 예측 값을 사용해 평점을 예측하는 대신 항목의 순위를 지정하는 것이 합리적이다.
5. 선형 회귀 모델과 달리 SLIM은 추론 조정 계수와 함께 지정된 다양한 평점을 명시적으로 조정하지 않는다.
* 모델은 세부 수준에서 몇 가지 차이점이 있지만 여러 가지 개념적 유사도를 공유한다.
그래프는 다양한 사용자 또는 항목 간의 관계에 관한 구조적 표현을 제공한다.
사용자-아이템 그래프는 사용자를 나타내는 노드 집합과 아이템을 나타내는 노드 집합의 무방향 및 이중 분할 그래프로 정의된다.
* 장점 : 두 사용자가 동일한 항목에 대해 많은 평가를 내리지 않아도 두 사용자 사이에 많은 짧은 경로가 존재한다면 이웃으로 간주될 수 있다는 점입니다.
랜덤 워크 방법론은 한 노드에서 다른 노드로의 워크가 임의의 단계를 사용할 수 있기 때문에 간접 연결을 고려한다.
* 사용자-아이템 그래프의 많은 부분이 연결돼 있는 한 이웃을 의미 있게 정의할 수 있기 때문에 희소 행렬에 효과적이다.
한 쌍의 노드 사이의 가중치 개수를 사용해 노드 간의 선호도를 결정한다.
* 두 사용자가 걷기 기반 연결을 바탕으로 동일한 이웃에 속하는 경우 사용자-아이템 그래프에서 둘 사이의 링크가 형성된다.
* 성향의 정도는 그들 사이의 걷기의 수로 측정된다.
사용자-아이템 그래프에서 사용자-사용자 연결은 사용자-아이템 그래프의 짝수 번째 홉으로 정의된다.
사용자-아이템 그래프를 생성하는 대신 사용자 간의 2-홉 연결을 기반으로 사용자-사용자 그래프를 직접 그릴 수 있다.
* 장점 : 2-홉 연결이 선을 만드는 동안 두 사용자 간의 공통 항목의 수와 유사도를 직접 고려할 수 있기 때문에 그래프의 선이 더 유익하다.
1. 알고리듬은 두 사용자 간의 상호 지정된 평점 개수를 정량화하기 위해 호팅이라는 개념을 사용한다.
2. 알고리듬은 예측 가능성 개념을 사용해 공통 평점 간의 유사도 수준을 정량화한다.
* 그래프의 선은 호팅의 개념으로 정의되며, 호팅은 사용자 간의 비대칭 관계이다.
* 호팅과 예측 가능성의 방향은 서로 반대다.
가중치 및 지시된 네트워크가 생성되며 각 노드가 아이템에 해당하고 선은 아이템 간의 관계에 해당한다.
* 항목 j와 i가 적어도 하나의 일반 사용자에 의해 평가된 경우 방향이 지시된 선 (i,j) 및 (j,i)가 모두 네트워크에 존재한다.
* 지향되는 네트워크는 선(i,j)d의 가중치가 반드시 선(j,i)와 동일하지 않기 때문에 비대칭이다.
1. 아이템 i를 평가한 사용자 집합과 아이템 j를 평가한 사용자 집합의 공통 부분의 수로 각각의 선의 가중치를 초기화 한다.
* 이 시점에서 선의 가중치는 대칭이다.
2. 선의 가중치가 정규화돼 선 가중치 합계가 1이 되게 한다.
* 각 선의 가중치가 다른 수량으로 나눠지기 때문에 이 정규화는 비대칭 가중치이다.
유익한 글이었습니다.