2.3.3 Efficient Implementation and Computational Complexity
- 해당 섹션은 이웃 기반 방법의 효율성과 계산복잡도에 관하여 정리하겠습니다.
- 이웃 기반 방법은 항상 대상 사용자에 대한 최상의 item 권장 목록 또는 대상 item에 대한 최상의 사용자 권장 목록을 결정하는 데 사용됩니다.
- 이러한 특징은 특정 user-item 조합에 대한 등급을 예측하는 방법만 보여줄 뿐 실제 순위 지정 과정과는 별개입니다.
- 이웃 기반 방법의 가장 간단한 접근 방식은 관련 사용자 항목 쌍(ex. 특정 사용자에 대한 모든 항목)에 대해 가능한 모든 등급 예측을 계산한 다음 순위를 매기는 것입니다.
- 이는 가장 기본적인 접근 방식이지만 모든 user-item 조합에 대해서 계산하여야 하고 중복되는 계산이 많습니다.
- 따라서 이러한 중간 계산 과정을 저장한 후, 순위 지정 프로세스에 활용하는 방식의 오프라인 단계 사용이 권장됩니다.
이웃 기반 방식의 기본적인 프로세스
1) 오프라인 단계
- 오프라인 단계에서는 user-user 또는 item-item의 유사성 값을 계산합니다.
- 유사성 값을 계산한 후 각 user 또는 item에 대해 관련 피어 그룹이 설정됩니다.
2) 온라인 단계
- 온라인 단계에서는 오프라인에서 계산된 유사성 값과 피어 그룹을 활용하여, 섹션 2.3.1의 식 2.4와 같이 등급 값을 예측합니다.
- 따라서 데이터가 변하는 경우 주기적으로 오프라인 단계를 거쳐 피어 그룹과 유사성 값을 업데이트 해야 합니다.
이웃 기반 방식의 계산 복잡도
- 최대 n(사용자 수)의 등급 수를 가지는 n'과 최대 m(item 수)의 등급 수를 가지는 m'가 있다고 가정합니다.
- 이웃 기반 방식에서 사용자를 기반으로 추천하는 방법의 경우 특정 사용자의 피어 그룹을 결정하는 오프라인 단계에서 O(m x n') 시간이 필요합니다.
- 따라서 모든 사용자의 피어 그룹을 계산하기 위한 오프라인 실행 시간은 O(m^2 x n')로 지정되며, item 기반 방법의 경우 O(n^2 x m')의 시간이 필요합니다.
- 결과적으로, 이웃 기반 방법은 오프라인 단계에 더 많은 계산 시간을 할당한 후 온라인 예측으로 사용하는 경우에 효율적입니다.
2.3.4 Comparing User-Based and Item-Based Methods
- 해당 섹션에서는 사용자 기반 추천 방식과 item 기반 추천 방식의 차이점을 정리합니다.
사용자 기반
- 유사도의 기준이 사용자-사용자 입니다.
- 해당 사용자가 미평가한 'item'의 등급을 알기 위해서 사용합니다.
- 유사도*(유사도가 가장 높은 사용자의 평가등급)의 합/(유사도가 가장 높은 사용자 들의 유사도)의 합 으로 계산합니다.
- 일반적인 사용자 기반은 피어슨 상관계수를 유사도로 택한 것이 결과가 더 좋습니다.
- 사용자 기반은 찾고자 하는 user의 평가등급을 해당 item을 평가한 다른 user의 평가등급을 기반으로 계산합니다.
- 다른 user의 평가등급을 기반으로 계산하기 때문에 새로운 user가 추가 되는 경우에 추가적으로 계산이 진행되어야 합니다.
- 추천 항목에 관하여 다른 사람들의 선호도를 기반으로 설명을 할 수 있습니다.(ex. 이 영화를 좋아한 몇 명의 사람이 이 영화도 좋아합니다.)
item 기반
- 평균 중심화를 적용한 코사인 유사도를 활용합니다.
- 해당 item을 미평가한 'user'가 평가 할 등급을 알기 위해서 사용합니다.
- 유사도*(유사도가 가장 높은 item의 평가등급)의 합/(유사도가 가낭 높은 item의 유사도의 합 으로 계산합니다.
- 일반적인 item 기반은 수정된(평균 중심화가 적용된) 코사인 유사도로 계산한 것이 결과가 더 좋습니다.
- item기반은 결국 찾고자 하는 item의 평가 등급을 해당 user의 다른 item 평가등급으로 기반으로 계산합니다.
- 해당 user의 다른 item 평가등급을 기반으로 계산하기 때문에 비슷한 유형의 item을 지속적으로 추천해 줄 가능성이 높습니다.
- 사용자가 추가되어도 item 기반 추천항목의 변화가 적어 안정적이라고 볼 수 있습니다.
2.3.5 Strengths and Weaknesses of Neighborhood-Based Methods
- 해당 섹션에서는 이웃 기반 추천 방식의 장점과 단점을 다룹니다.
이웃 기반 방법의 장점
- 구현 및 디버깅이 용이합니다.
- 특정 항목이 추천되는 이유를 정당화 하기 쉬우며, item 기반 방법의 해석 가능성에 특히 주목 할 수 있습니다.
- 새로운 item과 user가 추가되어도 추천 항목은 비교적 안정적입니다.(물론 계산은 추가로 해야합니다.)
이웃 기반 방법의 단점
- 대규모 데이터를 다룰 때 오프라인 단계(유사성 값 계산 및 피어 그룹 설정)가 비실용적일 수 있습니다.
- 적절한 유사도를 가진 사용자 혹은 item이 없는 경우 등급 값을 제공할 수 없어 희소한 결과를 만들어 내게 됩니다.
- 이로 인해 적용할 수 있는 범위가 제한적입니다.
2.3.6 A Unified View of User-Based and Item-Based Methods
- 해당 섹션에서는 유사한 방식으로 계산되는 사용자 기반 혹은 item 기반의 방법을 통합하는 방안을 다룹니다.
사용자 기반 및 item 기반의 통일된 방식
1. 대상 항목(u, j)의 경우, 행과 열의 유사성의 조합 함수를 사용하여 등급 매트릭스에서 가장 유사한 항목을 결정합니다.
- 여기서 행과 열의 유사성 정보를 결합하기 위해서 행(사용자)의 값을 평균 중심으로 조정합니다.(예측 후에 행의 평균을 각 값에 다시 더하여 원상복구 할 수 있습니다.)
- 행이 평균 중심이 되면 피어슨 상관계수가 코사인 계수와 동일하다고 볼 수 있기 때문에 계산에 용이한 코사인 계수를 활용하여 유사성의 조합 함수로 사용합니다.
- 동일하다고 볼 수 있는 이유는 피어슨 상관계수(크기, 방향 고려)와 코사인 계수(방향만 고려)의 유사도를 구하는 방식이 다른데 행을 평균 중심으로 바꿔 주었기 때문에 피어슨 상관계수와 코사인 계수를 동일하다고 볼 수 있게 됩니다.
2. 첫 번째 단계에서 결정된 가장 유사한 항목의 등급 가중 조합을 사용하여 대상 항목(u, j)을 예측합니다.
- 위의 기본 원칙은 사용자, 항목 및 기타 상황별 차원에 따른 유사성이 단일 프레임워크로 통합되는 상황별 추천 시스템의 다차원 모델에서도 사용됩니다
'[Rec-Sys]' 카테고리의 다른 글
| [ch02] 2.3 Predicting Ratings with Neighborhood-Based Methods(3) (0) | 2021.12.22 |
|---|---|
| [ch02] 2.3 Predicting Ratings with Neighborhood-Based Methods(2) (0) | 2021.12.14 |
| [ch02] 2.3 Predicting Ratings with Neighborhood-Based Methods(1) (0) | 2021.12.08 |
| [Ch02] 2.2 Key Properties of Ratings Matrices (0) | 2021.12.02 |
| [Ch02] 2.1 Introduction (0) | 2021.12.01 |