추천 시스템 3장 : 모델 기반 협업 필터링

태환·2023년 8월 4일
0

Recommendation System

목록 보기
3/12
post-thumbnail

📌 개요

행렬 완성 문제와 분류(또는 회귀 모델링) 문제의 차이점

  • 행렬 완성 문제를 분류(또는 회귀 모델링) 문제의 일반화로 볼 수 있다
1. 데이터 분류 문제에서는 독립 변수와 종속 변수의 명확한 구분이 있는 반면,
   행렬 완성 문제에서는 이런 명확한 구분이 없다.
2. 데이터 분류에서는 훈련 데이터와 테스트 데이터의 구분이 명확한 반면,
   행렬 완성 문제에서는 행렬의 행 사이에서 명확한 구분이 없다.
3. 데이터 분류 문제에서는 열은 피처를, 행은 데이터 인스턴스를 나타내는 반면,
   협업 필터링에서는 평점 행렬이나 이 행렬의 전치 행렬에 같은 방식의 접근을 적용할 수 있다.

모델 기반 추천 시스템의 이웃-기반 방법 대비 장점

1. 용량 효율성 : 학습된 모델의 크기는 원래의 평점 행렬보다 훨씬 작기 때문에 용량에 대한 요구 사항이 훨씬 적다.
2. 학습 속도와 예측 속도 : 이웃 기반 방법의 문제인 전처리 단계에 걸리는 시간이 사용자 수나 아이템 수의 제곱이라는 점에 비해 모델 기반 시스템은 모델을 훈련할 때 전처리 단계를 처리하는 속도가 훨씬 빠르다.
3. 과적합 방지 : 모델 기반 방법의 요약 접근 방식은 과적합을 방지하는 데 종종 도움이 되며 정규화 방법이 모델을 강건하게 만드는 데 사용될 수 있다.

📌 의사 결정 및 회귀 트리

  • 의사 결정 트리는 종복 변수가 클래스형 데이터의 경우에 대해 설계된 반면,
    회귀 트리는 종속 변수가 수치형 데이터의 경우를 위해 설계된다.

의사 결정 트리

  • 독립 변수에서 분리 기준으로 알려진 계층적 결정 집합을 사용해 데이터 공간을 계층적으로 분리한다.

지니 계수

  • 분리의 품질은 분리를 통해 생성된 자식 노드의 가중 평균 지니 계수를 통해 평가할 수 있다.
  • 지니 계수는 의사 결정 트리의 주어진 단계에서 분리를 수행할 때 사용할 특징을 선택하는 데 사용된다.
    • 지니 계수는 0에서 1 사이의 값을 갖으며 작은 값큰 분별 능력을 의미한다.
    • 분할된 지니 계수는 자식 노드 지니 계수의 가중 평균으로 노드의 가중치는 노드에 있는 데이터의 수로 정의한다.
    • 이런 접근 방식은 탑-다운 방식의 계층적으로 수행되고 각각의 노드가 오직 하나의 클래스에만 속할 때까지 수행된다.
    • 노드의 데이터 기록의 최소 분수가 특정 평점에 속할 때 트리 성장을 미리 중지하는 것도 가능하며 이를 리프 노드라고 한다.
      그림에서는 리프 노드가 음영 표시돼 있다.
    • 모든 속성이 의사 결정 트리에서 분할을 할 때 반드시 사용되지는 않는다.
    • 수치 형 독립변수를 다루는 경우 분할을 수행하기 위해서는 속성값을 구간으로 나눈다.
    • 수치형 종속변수의 분산지니 계수 대신 사용된다.

📖 의사 결정 트리를 협업 필터링으로 확장

1. 의사 결정 트리를 협업 필터링으로 확장할 때 문제점

1. 예측 항목과 관측된 항목이 열방식으로 피처 변수와 클래스 변수로 명확히 구분이 안 된다.
2. 대부분의 항목이 누락된 희소한 행렬이다.

2. 해결 방법

1. 각 아이템의 평점을 예측하는 별도의 의사 결정 트리를 구축해 비교적 쉽게 다룰 수 있다.
 * 구성된 의사 결정 트리는 정확히 n개의 속성(아이템) 수와 같다.
2. 차원 축소 방법을 이용해 데이터를 낮은 차원의 표현으로 만들 수 있다.
 * j번째 아이템의 평점을 예측하는 컨텍스트를 고려할 때 j번째 열을 제외한 나머지 열을 저차원으로 바꾸면 모든 속성이 명시된다.

📌 규칙 기반 협업 필터링

  • 연관 규칙 마이닝의 핵심은 트랜잭션 데이터베이스에서 상관관계가 높은 아이템들의 집합을 정의하는 것이며 이 작업은 지지도신뢰도 개념에 의해 이루어진다.

지지도

아이템 세트의 지지도가 최소한 미리 정해둔 최소 지지도와 같다면 이 아이템 세트는 빈번하다고 한다.

신뢰도

높은 신뢰도 값은 항상 규칙의 강도가 더 강하다는 표현이다.

연관 규칙

두 조건을 만족할 때 최소 지지도와 최소 신뢰도의 연관규칙이라고 정의한다.

📖 협업 필터링을 위한 레버리지 연관 규칙의 활용

  • 연관 규칙은 단항 평점 행렬의 맥락에서 추천을 수행하는 데 특히 유용하다.

1. 활용 단계

  • 각 규칙은 특정 사용자에 대한 추천을 수행하는 데 사용할 수 있는 모델이다.
1. 사전 정의된 최소 지원 및 최소 신뢰 수준에서 모든 연관 규칙을 발견하는 것이다.
2. 규칙들은 신뢰도를 감소시키는 순으로 정렬한다.
3. 이 분류된 규칙의 결과에서 발견된 첫 k 항목은 특정 고객에게 최상위-k 항목으로 추천된다.

2. 수치 평점에 활용

  • 가능한 평점의 수가 적을 경우 평점-아이템 조합의 각각의 값은 의사-아이템 으로 취급될 수 있다.

3. 수치 평점 활용 단계

  • 기존 1, 2, 3 단계는 같으나 요구되는 추가 단계가 있다.
1. 해당 사용자에 대한 의사-아이템의 하위 집합을 포함하는 규칙을 식별해 규칙 집합을 결정한다.
2. 그 규칙들은 신뢰도의 내림차순으로 정렬된다.
3. 정렬된 규칙은 이러한 규칙의 결과에서 최상위-k 의사-아이템을 선택해 아이템의 평점을 예측하는 데 사용할 수 있다.
4. 고객이 실행한 규칙의 다른 의사-아이템들이 충돌할 수 있으므로 다양한 규칙 간의 충돌을 해결한다.

4. 아이템별 모델 대 사용자별 모델

  • 일반적으로 모든 사용자별 모델은 평점 행렬의 전치에 적용해 아이템별 모델로 변환할 수 있으며 그 반대도 가능하다.
  • 아이템 연관성 외에도 사용자 연관성을 활용할 수 있으며 사용자-평점 조합에 해당하는 사용자-의사도 가능하다.
    • 아이템에 대한 사용자-의사의 각 목록은 이제 트랜잭션으로 취급되며,
      필요한 최소 지원 및 신뢰 수준으로 이 데이터베이스에서 연관 규칙이 마이닝된다.
    • 사용자 기반 접근 방식은 아이템 기반 접근 방식과 정확히 유사하다.

5. 연관 규칙 기반 추천 시스템과 분류 문제 주요 차이점

1. 분류 문제에서 생선된 규칙에 항상 클래스 변수가 포함되는 반면,
   추천 모델 시스템의 경우 생성된 규칙의 결과에는 모든 아이템이 포함될 수 있다.
2. 협업 필터링에서 피처 변수와 클래스 변수 간에 명확한 경계가 없다.

📌 나이브 베이즈 협업 필터링

  • 협업 필터링에 이 접근 방식을 사용하는 데 있어 주요 과제는 모든 피처가 협업 필터링의 대상 클래스가 될 수 있으며 불완전한 피처 변수로 작업해야 한다는 것이다.
  • 베이즈 분류 모델이 아이템 j에 대해 사용자 u의 관찰되지 않은 평점을 예측해야 하는 경우 예측 값은 사용자 u가 지정한 아이템 평점에 조건부로 값을 취할 확률을 결정한다.
  • 베이즈 법칙
  1. 베이즈 법칙 활용
  2. 우변에 있는 분모가 s의 값과 무관하기 때문에 우변이 최대값을 취하는 s의 값을 결정하기 위해 분모를 무시하고 비례 상수로 앞에 언급된 방정식을 표현할 수 있다.
    • 우변에 있는 모든 표현은 데이터 기반 방식으로 쉽게 추정할 수 있다는 것이 핵심이다.
  3. 나이브 가정은 평점 간의 조건부 독립성을 기반으로 한다.
  4. 방정식 3.6을 방정식 3.5에 적용해서 다음과 같이 사용자 u에 대한 아이템 j의 평점의 사후 확률의 추정치를 얻을 수 있다.

예측 평점의 사후 확률의 추정치 사용 방법

  1. 각각의 아이템에 대해 방정식 3.7 우변에 있는 각 식을 계산하고 s 값이 가장 큰 s 값을 결정하면 누락된 평점의 가장 가능성이 높은 값을 결정할 수 있다.
    • 이러한 접근 방식은 평점을 순전히 범주형 값으로 취급하고 다양한 평점 사이의 모든 순서를 무시하기 때문에 가능한 평점 수가 적을 때 합리적인 사용 방법입다.
  2. 최대 확률을 차지하는 평점을 결정하는 대신 예측된 값을 모든 평점의 가중 평균으로 추정할 수 있으며 여기서 평점의 가중치는 확률이다.
    • 이러한 접근 방식은 평점 분포의 세분성이 큰 경우에 바람직하다.

📖 과적합 조정

  • 기본 평점 행렬이 희소하고 관측된 평점의 수가 적을 경우 데이터 중심 추정치가 강건하게 유지되지 않을 수 있다.
  • 이 문제를 해결하기 위해 라플라시안 스무딩 방법이 일반적으로 사용된다.
  • α로 스무딩한다.
    • α값이 클수록 스무딩되는 효과가 더 크지만 그 결과는 기본 데이터에 민감하게 영향을 받지 않는다.

📌 임의의 분류 모델 블랙 박스로 사용

데이터의 불완전성

  • 평점 행렬이 단항이 아닌 경우 더 이상 유의미한 바이어스를 일으키지 않고 행렬의 누락된 아이템을 .
  • 이를 해결하기 위해 훈련 데이터의 피처 변수로 저차원 표현을 처리함으로써 효과적으로 사용될 수 있다.
  • 이 접근 방식의 주요 문제점은 분류 과정에서 해석 능력의 손실이다.

상용 분류 알고리듬

상용 분류 알고리듬은 블랙 박스로 사용돼 다른 아이템의 평점을 가진 아이템 중 하나의 평점을 예측한다.
 * 이 접근 방식은 초기화 및 알고리듬의 품질에 민감할 수 있다.
 * 모든 상용 분류 또는 회귀 모델로 손쉽게 구현할 수 있는 간단한 방법이다.
  • 예측 단계
1. 행 평균, 열 평균 또는 간단한 협업 필터링 알고리듬을 사용해 행렬에서 누락된 항목을 초기화하는 것이다.
2. 2단계 반복 접근 방식을 사용해 예측된 항목의 바이어스를 줄일 수 있다.
  • 반복 접근 단계
1. 각 열에서 누락된 항목은 알고리듬을 사용해 대상 변수로 설정하고 나머지 열을 피처 변수로 설정해 추정하라.
2. 각 대상 열에서 알고리듬의 예측을 기반으로 모든 항목을 업데이트한다.
 * 이 2단계는 수렴을 위해 반복적으로 실행된다.

📖 신경망을 블랙 박스로 사용

인공 신경망

  • 인공 신경망에서 기본 연산 단위뉴런이라고도 하며 시냅스 연결의 강도가중치에 해당한다.
  • 가중치는 학습 알고리듬에 사용되는 매개변수를 정의한다.
  • 신경망의 장점은 다층 아키텍처가 다른 분류 방법으로는 쉽게 계산할 수 없는 복잡한 비선형함수를 계산할 수 있다.
  • 이진 출력에 작동하는 부호 선형함수이다.
  • 단일 및 다층 신경 네트워크
  • 신경망의 업데이트 기능

인공 신경망 블랙 박스로 사용 단계

  1. 사용자 바이어스를 제거하기 위해 각 행의 중심을 평균화하는 것이다.
    • 네 개의 아이템이 있기 때문에 네 개의 가능한 신경망 모델이 있으며,
      각 모델은 다른 세 개의 아이템의 평점 입력을 훈련 열로 사용하고 네 번째는 테스트 열로 구성한다.
  2. 완성된 행렬은 첫 번째 반복에서 각 신경망을 훈련시키는 데 사용된다.
    • 신경망에 의해 만들어진 결과 예측은 누락된 항목이 예측된 값으로 업데이트되는 새로운 행렬을 생성하는데 사용된다.
    • 이 접근법은 수렴될 때 까지 반복적으로 사용된다.

📌 잠재 요인 모델

  • 앞에서 설명한 모든 방법에서 차원 축소는 다른 모델 기반 방법에 대해 좀 더 편리한 데이터 표현을 만드는 역할을 한다.
  • 이번에는 차원 축소 방법을 사용해 데이터 행렬을 한 번에 직접 추정하기 때문에 복잡한 방법에 대해 설명한다.
데이터 행렬의 행과 열의 중요한 부분이 서로 밀접하게 관련돼 있다는 사실을 활용
 * 데이터에는 중복성이 내장돼 있으며 그 결과 데이터 행렬은 종종 저차원 행렬에 의해 상당히 잘 추정된다.
  • 잠재 요인 모델은 추천 시스템에서 최첨단으로 간주된다.

📖 잠재 요인 모델에 대한 기하학적 관점

  • 영화 <스파르타쿠스>에 대해 지정된 평점 0.5인 사용자에 대한 결측 데이터 추정에서 상관관계 기반 중복 활용
  • 데이터에 상관관계나 중복성이 없는 경우 잠재적 요인 모델이 작동하지 않는다.
    • 그림 3.6에 표시된 것처럼 평점의 3차원 산점도는 대략 1차원 선을 따라 배열될 수 있다.
    • 주성분 분석(PCA) 및 특이값 분해(SVD)와 같은 차원 축소 방법은 일반적으로 이 선을 따라 데이터의 투영을 근사치로 나타낸다.
    • <스파르타쿠스>의 평점이 0.5로 고정돼 있으면 <스파르타쿠스>의 평점이 0.5로 고정된 축 평행 초평면과 1차원 잠재 벡터의 교차로 <네로>와 <글래디에이터>의 평점을 추정할 수 있다.

📖 잠재 요인 모델에 대한 저차원 직관

  • 앞서 기하학적 직관은 잠재 벡터가 서로 직교할 때의 영향을 이해하는데 도움이 된다.
  • 그러나 잠재 벡터가 항상 서로 직교하는 것은 아니기 때문에 이러한 경우 선형 대수에서 직관을 얻는 것이 도움이 된다.
  • 대부분의 차원 축소 방법은 행렬 인수분해로 표현할 수 있다.
  • 모든 m x n 행렬 R은 항상 다음과 같은 랭크-k 인수들의 곱 형태로 표현될 수 있다.
    • U는 m x k 행렬, V는 n x k 행렬이다.
    • R의 행 공간과 열 공간의 순위는 모두 k이다.
  • 행렬 R의 랭크가 k보다 큰 경우에도 종종 랭크-k 계수의 곱으로 표현할 수 있다.
  • 행렬 R이 랭크-2로 인수분해되는 예시
    • 행렬 U는 두 장르에 대한 사용자의 경향을 보여주는 7 x 2 행렬이다.
    • 행렬 V는 두 장르의 영화 멤버십을 보여주는 6 x 2 행렬이다.
    • 행렬 U열 공간의 기저를 제공하는 반면 행렬 V행 공간의 기저를 제공한다.
    • 이 접근 방식의 유용성은 행렬 R이 완전히 특정되지 않은 경우에도 잠재 요인 U 및 V의 모든 항목을 강력하게 추정한다는 점이다.
    • 이는 본질적으로 중복되는 데이터의 잠재 요인을 추정하기 위해 너무 많은 관측 항목이 필요하지 않기 때문이다.

📖 기본 행렬 인수분해 원리

  • 기본 행렬 인수분해 모델에서, m x n 평점 행렬 R은 다음과 같이 대략 m x k 행렬 U 및 n x k 행렬 V로 인수분해된다.
  • 식 3.13에서 R의 각 평점은 대략 i 번째 사용자 인수와 j 번째 아이템 인수의 내적으로 표현될 수 있다.
  • 각 잠재 요인들은 k개의 서로 다른 개념에 대한 사용자의 친화도로 볼 수 있으므로 방정식 3.14를 표현하는 직관적인 방법은 다음과 같다.
  • 그림 3.7의 경우 앞에서 언급한 두 가지 개념은 로맨스와 역사적 장르에 해당하기 때문에 합계는 다음과 같이 표현될 수 있다.
  • 잠재 벡터는 종종 양수 및 음수 값으로 구성된 임의의 벡터일 수 있으며 의미 해석을 하기가 어렵다.

📖 제약 없는 행렬 인수분해

  • 행렬 인수 분해의 가장 근본적인 형태는 제약이 없는 경우이며, 행렬 U 및 V에 어떤 제약 조건도 없다.
  • 계수 행렬 U와 V를 완전히 특정 행렬 R와 최대한 일치하도록 하기 위해 다음과 같은 최적화 문제를 공식화할 수 있다.
    • 행렬의 제곱된 프로베니우스 노름을 사용한다.
    • 이 분해에 최적의 솔루션을 제공하기 위해 다양한 경사하강 방법을 사용할 수 있다.
    • R의 누락된 항목들의 일부 항목만이 알려져 있기 때문에 누락된 행렬의 프로베니우스 노름을 계산할 수 없다.
    • 목적함수는 U와 V를 학습하기 위해 관측된 항목에 대해서만 다시 작성해야한다.
  • 불완전한 행렬 R을 완전 특정된 행렬 U및 V의 근사곱으로 어떻게든 분해할 수 있으면 R의 모든 항목도 예측할 수 있다.
  • 관찰된 사용자-아이템 쌍의 세트 S는 다음과 같이 정의된다.
  • R의 (i,j)번째 항목은 다음과 같이 예측될 수 있다.
  • 불완전한 행렬로 동작하는 수정된 목적함수는 다음과 같이 S의 관측된 항목에 대해서만 계산된다.
    • 알려지지 않은 변수에 대해 목적함수를 최소화하기 위해 학습해야 한다.
    • 이것은 단순히 경사하강법으로 달성할 수 있다.
  • 결정 변수에 대한 J의 편미분을 계산한다.
    • 편미분들의 전체 벡터는 행렬 U와 V에서 (m x k + n x k) 결정 변수의 벡터에 대한 기울기를 제공한다.
  • 이 기울기 와 행렬 U 및 V의 항목에 해당하는 (m x k + n x k) 결정 변수의 벡터를 가지고 변수 전체 벡터를 다음과 같이 업데이트 할 수 있다.
    • α > 0은 스텝 크기이며 대부분의 경우 스텝 크기는 작은 상수값으로 설정된다.
    • 수렴을 위해 반복 실행되며 이 접근법을 경사하강이라 한다.

1. 확률적 경사하강법

  • 앞서 설명한 방법을 배치 업데이트 방법이라 하며, 중요한 점은 평점 행렬의 관측된 항목에서 오류의 선형함수라는 것이다.
  • 업데이트는 모든 항목이 아닌 개별 항목의 오류와 관련된 더 작은 구성 요소로 분해해 다른 방법으로 실행할 수 있다.
  • 이 업데이트는 다음과 같이 임의로 선택한 관측 항목 (i,j)의 오류와 관련해 확률적으로 근사할 수 있다.
  • R에서 관측된 항목을 한 번에 하나씩 임의의 순서로 순환하고 인수 행렬의 모든 (m x k + n x k) 항목이 아닌 인수 행렬의 관련 2 x k 항목 세트만 업데이트할 수 있다.
  • 이 경우 관측된 항목에 특정한 2 x k 업데이트는 다음과 같다.
  • 각각의 관측된 평점에 대해 오류는 U의 i 행에서 k 개의 항목과 V의 j 행에서 k 개의 항목을 업데이트하는 데 사용된다.
  • 업데이트를 다음과 같이 k 차원 벡터화 형식으로 다시 작성할 수 있다.
    • 효율성을 높이기 위해 이러한 k 항목들 각각을 벡터화된 형태로 동시에 업데이트할 수 있다.
    • 수렴에 도달할 때까지 관찰된 모든 항목을 여러 번 반복한다.
    • 기울기는 행렬에서 무작위로 선택된 단일 항목의 오류를 기반으로 계산된 기울기에 의해 근사된다.

미니배치와 확률적 경사하강

  • 실제로 훨씬 더 매끄럽게 진행되는 배치 방법과 비교해 확률적 경사하강에 의해 더 빠른 수렴이 달성된다.
확률적 경사하강 : 일반적으로 데이터 크기가 매우 크고 계산 시간이 주요 병목 현상인 경우에 바람직하다.
미니 배치 : 관찰된 항목의 부분 항목의 업데이트를 구성하는 데 사용된다.
 * 서로 다른 방법은 솔루션 품질과 계산 효율성 간에 서로 다른 절충점을 제공한다.

2. 정규화

  • 이 접근법의 주요 문제점 중 하나는 평점 행렬 R이 희소하고 비교적 적은 항목이 관찰될 때 발생한다.
  • 이러한 경우 관측된 S 평점 세트가 작기 때문에 과적합을 유발할 수 있다.
  • 이 문제를 해결하는 일반적인 방법은 정규화를 사용하는 것이다.
정규화는 모델에 바이어스를 도입하는 비용을 감수하는 대신 모델이 과적합되는 경향을 줄인다.
 * 정규화의 아이디어 : 안정성을 위해 U 및 V의 매우 큰 계수값을 사용하지 않는 것으로 큰 계수에 불이익을 주어 더 간단한 솔루션에 적당한 바이어스를 만드는 것이다.
 * λ > 0은 정규화 파라미터로 항상 음이 아니며 정규화 항의 가중치를 제어한다.
  • 정규화된 목적함수는 다음과 같다.
  • 각각의 결정변수에 대해 J의 편미분을 취하면 정규화되지 않은 경우와 거의 동일한 결과를 얻는다.
    • 경사하강을 수행하는 단계는 정규화가 없는 경우에서 논의된 것과 유사하게 유지된다.
    • 배치 또는 로컬 방법이 사용될 수 있다.
  1. 전역 업데이트 방법을 고려했을 때 수정된 업데이트는 다음과 같이 작성될 수 있다.
  2. 로컬 업데이트 방법을 고려했을 경우, 편미분들은 모든 항목이 아닌 무작위로 선택된 관측 항목 (i,j)의 오류와 관련해 계산된다.
  • 두 가지 방법은 거의 비슷한 결과를 제공하지만 품질효율성 간에는 다른 절충 관계가 있다.

3. 점진적 잠재성분 훈련

  • 경사 하강법과 같은 훈련 방법의 한 가지 변형은 잠재성분을 점진적으로 훈련하는 것이다.
1. q = 1에 대해서만 업데이트를 수행한다.
2. 수렴에 도달할 때까지 q = 1에 대해 이러한 업데이트를 수행하면서 S에서 3. 관찰된 모든 항목을 반복적으로 순환하며 U와 V의 첫 번째 열 쌍을 각각 학습할 수 있다.
4. m x n 외적 행렬을 R로 부터 뺀다.
5. 평점 행렬로 q = 2에 대한 업데이트가 수행돼 각각 U 및 V의 제 2 열 쌍을 학습한다.
 * 이 과정은 매번 잔차 행렬로 q = k가 될 때까지 반복하다.
  • 전체 랭크-k 분해는 랭크-1 분해의 합으로 표현될 수 있기 때문에 결과적인 접근법은 필요한 행렬 인수분해를 제공한다.

앞에서 설명한 버전과 이 방법의 차이점은 중첩 루프 구조의 차이점 측면에서 이해할 수 있다.

1. 점진적 성분 훈련 루프는 가장 바깥쪽 루프에서 다양한 q 값을 반복하고 내부 루프에서 반복적으로 관찰된 항목을 순환해 각 q 값에 대한 수렴에 도달하는 반면,
앞의 방법은 관찰된 항목을 반복해 외부 루프에서 수렴에 도달하고 내부 루프에서 다양한 q 값을 통해 순환하다.
2. 점진적 방법은 외부 루프의 두 실행 간에 평점 행렬을 조정해야하므로 적은 수의 변수가 한 번에 최적화되기 때문에 각 성분에서 더욱 빠르고 안정적인 수렴이 가능하다.

4. 최소 제곱과 좌표 하강의 교차 적용

  • 확률적 경사하강법은 최적화를 위한 효율적인 방법이다.
  • 반면 초기화스텝 크기 선택 방법에 다소 민감하다.
  • 최적화를 위한 다른 방법은 교차 최소 제곱(ALS)의 사용을 포함하며 이는 일반적으로 더 안정적이다.
  • 이 방법의 기본 아이디어는 초기 행렬 U와 V로 시작해 다음과 같은 반복 방법을 사용하는 것이다.
1. U를 고정된 상태로 유지해 문제를 최소 제곱 회귀 문제로 취급해 V의 n 행 각각을 해결한다.
2. V를 고정된 상태로 유지해 문제를 최소 제곱 회귀 문제로 취급해 U의 m 행 각각을 해결한다.
3. 이 두 단계는 수렴까지 반복된다.
 * S의 관측된 평점만 각 경우에 최소 제곱 모형을 작성하는데 사용될 수 있다.
  • ALS의 단점명시적인 평점을 가진 대규모 설정에서 확률적 경사하강만큼 효율적이지 않다는 것이다.
  • 확률적 경사하강이 점진적 잠재성분 훈련과 결합되는 것처럼 좌표 하강을 점진적 잠재성분 훈련과 결합하는 것도 가능하다.

5. 사용자 및 아이템 바이어스 통합

1. 각 사용자 i와 관련해 우리는 변수 o를 가지며, 이는 항목을 평가하는 사용자의 일반적인 바이어스를 나타낸다.
 Ex> 사용자 i가 모든 항목을 높게 평가하는 관대한 사람이라면 변수 o는 양수인 반면 대부분의 항목을 부정적으로 평가하는 인색한 사람에게 변수 o는 음수일 것이다.
2. 변수 p는 항목 j의 평점에서의 바이어스를 나타낸다.
 Ex> 모든 사람들이 좋아하는 항목은 p값이 더 큰 경향이 있는 반면 전 세계적으로 싫어하는 항목은 p값이 음수이다.
  • o 및 p 값은 잠재 인자 행렬 U 및 V 와 함께 데이터 기반으로 학습해야 하는 변수이다.
  • 잠재 요인 모델의 주요 변경 사항은 (i,j) 평점의 일부가 o + p로 설명되고,
    나머지는 잠재요인 행렬 제품 항목의 (i,j) 번째 항목에 의해 설명된다는 것이다.
  • (i,j) 평점의 예측된 값은 다음에 의해 주어진다.
  • 관측된 항목의 오류는 다음과 같이 주어진다.
  • 최소화 목적함수 J는 다음과 같이 평점 행렬의 관찰된 항목에 대한 제곱 오차를 집계함으로써 공식화될 수 있다.
    • 이 문제는 제약이 없는 행렬 인수분해와 미미한 정도로 조금 다른 것으로 나타났다.
  • 사용자와 아이템에 대해 별도의 바이어스 변수를 사용하는 대신 인수 행렬의 크기를 늘려 이러한 바이어스를 통합할 수 있다.
  • 크기가 각각 m x (k + 2) 및 n x (k+2)인 더 큰 인수 행렬을 만들려면 각 인수 행렬 U 및 V에 두 개의 열을 추가해야한다.
  • 확대된 인수 행렬의 수정된 최적화 문제는 다음과 같다.
    • 이 문제는 인수에 대한 약간의 제약을 제외하고는 제약이 없는 경우와 거의 동일하다.
  • 문제 구성의 작은 변화로 인해 경사 하강법에 대응하는 변화를 만들면 된다.
    • 초기화를 위해 V의 (k+1)번째 열과 U의 (k+2)번째 열은 1로 설정된다.
    • 특정된 각 항목을 순환해 다음 업데이트를 실행한다.
    • 이러한 직관적인 제약 조건을 추가하면 특정 항목에 대한 오차는 더 높더라도 학습 알고리듬의 보이지 않는 항목에 대한 일반성을 향상시킬 수 있다.
      이는 사용자 또는 아이템에 대해 관찰된 평점의 수가 적을 때 특히 유용하다.
Ex> 사용자가 적은 수의 아이템에 대해서만 평점을 제공한 경우 이웃 기반 방법과 같은 많은 추천 알고리듬은 사용자에게 신뢰할 만한 예측을 제공하지 않을 것이다.
    반면 아이템 바이어스 변수의 예측은 합리적인 예측을 제공할 수 있다.
수많은 새로운 알고리듬 기여 중에서 데이터의 주요 효과를 포착하는 겸손한 기준 예측기(또는 바이어스)를 강조하고 싶다.
문헌은 대부분 더 복잡한 알고리듬 측면에 중점을 두고 있지만, 주요 효과를 정확하게 처리하는 것은 모델링 혁신을 가져오는 것 만큼이나 중요하다는 것을 배웠다.
 * 이는 평점의 상당 부분이 아이템에 대한 사용자의 특정 개인 취향보다는 사용자의 관대함과 아이템 인기로 설명될 수 있음을 의미한다.

6. 암시적 피드백 통합

  • 암시적 피드백 시나리오는 사용자가 아이템을 구매해 자신의 관심을 표현하는 단일 평점 행렬의 사용에 해당한다.
  • 아이디어는 사용자 요소가 사용자 기본 설정에 해당하므로 사용자 기본 설정은 평가하기로 선택한 아이템의 영향을 받아야 한다는 것이다.
  • 비대칭 요인 모델의 가장 간단한 버전에서는 평점이 지정된 항목의 요인 벡터의 선형 조합을 사용해 사용자 요인을 만든다.
  • SVD ++ 모델은 이 비대칭 접근법을 사용자 요인 및 전통적 인수분해 프레임워크와 결합한다.

비대칭 요인 모델

  • 암시적 피드백 정보를 캡쳐하기 위해 먼저 명시적 평점 행렬에서 암시적 피드백 행렬을 도출한다.
  1. m x n 평점 행렬 R에서 m x n 암시적 피드백 행렬 F를 만들기 위해 각 항목의 값이 관찰되면 1로 설정하고, 누락되면 0으로 설정함으로써 정의된다.
  2. 피드백 행렬 F는 각 행의 L2 노름이 1이 되도록 정규화된다.
  • 평점 행렬 R과 해당 암시적 피드백 행렬 F의 예시는 다음과 같다.
  • n x k 행렬 Y는 암시적 아이템-요인 행렬로 사용되며 행렬 F는 선형 결합 계수를 제공해 사용자-요인 행렬을 생성한다.
  • 단순화된 비대칭 모델에서 사용자 요소는 평점이 지정된 아이템의 암시적 항목 요소의 선형 조합으로 인코딩된다.
  • 사용자 행동의 선형 조합이 선호도를 정의하는 데 사용된다는 것이다.
  • 행렬 곱 (FY)은 m x k 사용자-인자 행렬이고, 그 안의 각각의 행은 사용자에 의해 평점이 매겨진 아이템에 따라 암시적인 아이템 요소의 선형 조합이다.
  • 행렬 FY는 사용자-인자 행렬 U 대신에 사용되며 다음과 같이 인수분해 된다.
    V는 n x k 명시적 아이템-인자 행렬이다.
  • 원하는 경우 평점 행렬을 평균 중심에 두고 Y 및 V 각각에 두 개의 추가 열을 추가해 바이어스 변수를 모델에 통합할 수 있다.
    • 기본 아이디어는 두 명의 사용자가 평점 값에 관계 없이 유사한 두 항목을 평가한 경우 비슷한 사용자 요소를 가질 수 있다.
    • 이 방식은 종종 사용자 요소의 중복성을 항목 요소의 선형 조합으로 유도해 중복을 줄이므로 우수한 결과를 제공한다.
    • 이 접근법의 다른 장점은 암시적 피드백 행렬 F에 포함시킴으로써 다른 유형의 독립적인 암시적 피드백을 포함할 수 있다는 것이며,
      이러한 경우 접근 방식은 명시적 및 암시적 평점을 모두 사용할 수 있기 때문에 대부분의 다른 형태의 행렬 인수분해보다 더 잘 수행될 수 있다.
    • 이 모델의 추가적인 장점은 사용자 매개변수화가 필요하지 않다는 것이며,
      이러한 경우 모델은 대부분의 행렬 인수분해 방법과 달리 적어도 부분적으로 귀납적이다.

SVD ++

  • 비대칭 요인 모델에서 암시적 피드백을 다소 극단적으로 사용하는 것 처럼 보였다.
  • 이러한 접근 방식은 정확히 동일한 항목 집합을 평가했지만 관찰된 평점값이 매우 다른 사용자 쌍을 구분하지 않기 때문이다.
  • SVD ++에서는 암시적 사용자-인자 행렬 FY는 명시적인 사용자-인자 행렬 U를 생성하기보다는 조정하기 위해서만 사용된다.
SVD ++ 에서는 V^T를 곱하기 전에 FY를 U에 더해야한다.
그리고 재구성된 m x n 평점 행렬 R은 (U + FY)V^T에 의해 주어지고,
예측된 평점의 암시적 피드백 성분은 (FY)V^T에 의해 주어진다.
 * SVD ++의 추가 모델링 유연성에 대한 비용은 파라미터 수가 증가해 매우 희소한 평점 행렬에 과적합을 유발할 수 있다는 것이다.
  • 사용자 및 아이템 바이어스는 앞에서와 유사한 방식으로 이 모델에 포함될 수 있으며 예측된 평점은 다음과 같이 표현될 수 있다.
    • 위 방정식의 오른쪽에 있는 첫 번째 항은 UV^T 항이고,
      두 번째 항은 [FY]^T 항이다.
    • 이 모델을 제약이 없는 행렬 인수분해 모델과 이전 절에서 설명한 비대칭 인수분해 모델조합으로 볼 수 있다.
    • 따라서 두 모델의 장점을 결합한 것이다.
  • 평점 행렬에서 모든 관측된 항목에서 총 제곱 오차를 최소화하는 최적화 문제는 다음과 같이 표현될 수 있다.
    • 이 최적화 공식은 정규화기와 함축된 암시적 피드백 용어를 가지고 있다는 점에서 이전 절과 다르다.
  • 이 목적함수의 평미분을 사용해 행렬 U와 V에 대한 업데이트 규칙과 Y의 변수를 도출할 수 있다.
    • 다음 업데이트는 S에서 관찰된 모든 평점을 반복적으로 실행된다.
    • 확률적 경사하강의 중첩 루프 구조는 행렬 인수분해 방법류 전체에 걸쳐 유사하다.

📖 특이값 분해

특이값 분해(SVD)는 U와 V의 열이 서로 직교하도록 제약되는 행렬 인수분해의 한 형태다.
  • 평점 행렬이 완전히 특정된 경우 잘린 SVD를 사용해 평점 행렬 R을 대략적으로 분해할 수 있으며 잘린 SVD는 다음과 같이 계산된다.
    • SVD가 본질적으로 행렬 인수부해로 정의돼 있음을 알 수 있다.
  • 일반적으로 사용자 요인과 항목 요인은 다음과 같이 정의된다.

    *SVD는 행렬 U 및 V에 대해 다음과 같은 최적화 문제로 공식화 될 수 있다.
    • 제약이 없는 인수분해의 경우와의 유일한 차이점은 직교성 제약 조건이 존재한다는 점이다.
    • 동일한 목적함수가 제약 없는 행렬 인수분해와 비교해 더 작은 공간의 솔루션에 최적화됐다.

1. SVD에 대한 간단한 반복 접근법

  • 행렬 R이 불완전하게 특정된 경우 최적화 문제를 해결하는 방법에 대해 설명한다.
  1. 사용자 i의 평균 평점을 빼서 R의 각 행을 평균 중심에 두어 중심 행렬을 만든다.
  2. 중심 행렬의 누락 항목은 0으로 설정된다.
  3. SVD는 중심 행렬에 적용돼 분해되며, 최종 사용자 요소 및 아이템 요소 U=Q∑와 V=P로 제공된다.
  4. 항목 j에 대한 사용자 i의 평점은 다음과 같이 조정된 값들의 내적으로 추정된다.
  • 이 방법의 주요 문제점은 누락된 항목을 행 단위 수단으로 대체하면 상당한 바이어스로 이어질 수 있다는 것이다.
    • 해결방법
1. 최대 우도 추정
2. 추정을 개선해 반복적으로 바이어스를 줄이는 방법
 2-1. 초기화 : R의 i번째 행에서 누락된 항목을 초기화해 해당 행의 평균이 되도록 중심 행렬을 만든다.
 2-2. 반복 단계 1 : 중심 행렬의 rank-k SVD를 수행한다.
 2-3. 반복 단계 2 : 누락된 중심 행렬 항목만 Q∑P의 해당 값으로 재조정한 후 반복 단계 1로 이동한다.
 * 이 방법에서는 초기 단계가 초기 SVD 반복에서 바이어스를 유발하지만 이후의 반복은 더 강력한 추정치를 제공하는 경향이 있다.
  • 정규화는 앞서 언급한 반복 방법과 함께 사용될 수 있다.
    • 아이디어는 바닐라 SVD만 사용하지 않고 각 반복마다 중심 행렬의 정규 SVD를 수행하는 것이다.
    • 정규화 파라미터 λ1 및 λ2의 최적 값은 홀드 아웃 또는 교차 검증 방법을 사용해 적응적으로 선택된다.

2. 최적화 기반 접근법

  • 반복 접근 방식은 완전히 특정된 행렬로 작동하기 때문에 상당히 비싸다.
  • 효율적인 접근 방식은 직교 구속 조건을 이전 절의 최적화 모델에 추가하는 것이다.
    • 제약되지 않은 행렬 인수분해와 이 모델의 주요 차이점은 직교 제약 조건을 추가해 문제를 더욱 어렵게 만드는 것이다.
    • 이 경우를 처리하기 위해 다양한 수정된 업데이트 방법이 있으며 U 또는 V의 특정 열의 모든 구성 요소가 한 번에 업데이트되는 투영된 경사하강 방법을 사용할 수 있다.

3. 표본 외 추천

  • 인수분해 시 원래 평점 행렬 R에 포함되지 않은 경우 인자 U 및 V에서 신규 사용자 및 아이템을 예측하는 것은 쉽지 않다.
    * 직교 기저 벡터의 장점 중 하나는 새로운 사용자 및 아이템에 대해 표본 외 추천을 좀 더 쉽게 수행할 수 있다는 것이며 이 문제는 귀납적 행렬 완성이라고도 한다.
  • 잠재 벡터가 획득되면 대응하는 잠재 벡터에 대해 특정된 평점으로 정보를 투영할 수 있으며 벡터가 서로 직교하는 경우 훨씬 쉽다.
1. H1과 H2가 교차하지 않음 : H1에서 최근접 H2 지점이 반환되며 한 상의 최소 거리는 간단한 제곱합 최적화 문제로 공식화 될 수 있다.
2. H1과 H2는 고유한 지점에서 교차한다 : 교차점의 평균 값을 사용할 수 있다.
3. H1과 H2는 t차원 초평면에서 교차하며, 여기서 t>=1 : 해당 사용자의 평점 평균 값이 반환된다.

4. 특이값 분해의 예

  • 표 3.1 사용
  • 누락된 항목을 각 행의 평균으로 채운다.
  • rank-2 축약된 SVD를 행렬에 적용하고 사용자 인자 내에서 대각 행렬을 흡수하면 다음을 얻는다.
  • 첫 번째 반복 후에도 누락된 항목에 대한 합리적인 추정치를 얻는다.
    • 이러한 항목은 초기 입력 항목이 행 평균을 기반으로 하므로 정확한 값을 반영하지 않았다는 점에서 바이어스적이므로 다음 반복에서는 다음 행렬을 얻기 위해 원래 행렬에서 이 네 가지 누락된 값을 채운다.
  • rank-2 SVD의 전체 프로세스를 다시 적용하면 다음 반복에서 다음 행렬을 얻는다.
    • 연속적인 반복에 걸쳐 수렴에 도달할 때까지 항목의 변화는 점점 작아지는 경향이 있다.

📖 비음행렬 인수분해

  • 비음평점 행렬에는 비음행렬 인수분해(NMF)를 사용할 수 있다.
  • 이 접근법의 주요 장점은 반드시 정확성 중 하나가 아니라 사용자-아이템 상호작용을 이해하는 데 제공하는 높은 수준의 해석 가능성이다.
  • 다른 형태의 행렬 인수분해와의 주요 차이점요소 U와 V가 음이 아니어야 한다는 것이다.
  • 비음 행렬 인수분해의 최적화 공식은 다음과 같다.
  • 사용자가 아이템에 대한 호감을 특정할 수 있는 메커니즘을 가지고 있지만,
    비호감도를 특정할 수 있는 메커니즘은 없는 경우 가장 큰 해석가능성 이점이 있다.
  • 이러한 행렬의 몇가지 예
1. 고객 거래 데이터에서 아이템의 구매는 아이템에 대한 호감을 표현하는 것에 해당한다.
2. 아이템의 탐색은 아이템을 구매하는 경우와 유사한 것으로 나타낼 수 있다.
3. 웹 클릭 데이터에서 아이템 선택은 아이템을 좋아하는 단항 평점에 해당한다.
4. 페이스북의 '좋아요' 버튼은 항목에 단항 평점을 제공하는 메커니즘으로 간주될 수 있다.
  • 비음행렬 인수분해의 최적화 공식은 제약된 최적화 공식이며, Lagangian Relaxation과 같은 표준 방법을 사용해 해결할 수 있다.
  • 행렬 U와 V를 업데이트 하기 위해 반복적인 접근 방식이 사용된다.
    • ε는 10^-9과 같은 작은 값으로 수치 안정성을 높인다.
    • 업데이트 방정식의 오른쪽에 있는 U 및 V의 모든 항목은 특정 반복 과정에서 이전 반복이 끝날 때 얻은 값으로 고정된다.
  • 다른 유형의 행렬 인수분해의 경우와 마찬가지로 기본 솔루션의 품질을 향상시키기 위해 정규화를 사용할 수 있다.
    • 최대화 함수는 비음성을 부과하는 데 사용되며 분모의 작은 추가 항 ε은 수치적 안정성을 보장하는 데 사용된다.

1. 해석 가능성의 장점

  • 비음 행렬 인수분해의 주요 장점은 솔루션에서 높은 수준의 해석성을 얻을 수 있다는 것이다.
    • 해당 인자 행렬은 aspect에 대한 고객 및 아이템의 친화성에 대한 명확한 해석성을 제공한다.
    • 이 단순화 예에서는 U 및 V의 모든 인수 값이 시각적 단순성을 위해 적분으로 표시됐지만, 실제로 최적의 값은 거의 항상 실수다.
  • 예측 항목에 대해 의미론적으로 해석할 수 있다.
    • 값을 예측 하는 이러한 방법은 행렬의 '부분의 합' 분해를 보여준다.
  • 부분합 분해는 다음과 같이 수학적으로 표현될 수 있다.

2. 암시적 피드백을 사용한 인수분해에 대한 고찰

  • 비음행렬 인수분해는 평점이 긍정적인 선호도를 나타내는 암시적 피드백 행렬에 특히 적합하다.
  • 이러한 데이터에는 부정적인 피드백이 없기 때문에 최적화 모델에서 누락된 항목을 0으로 설정해 음의 피드백으로 처리한다.
  • 그렇게 하지 않으면 관찰되지 않은 항목에 대한 오차가 크게 증가한다.

3. 암시적 피드백에 대한 계산 및 가중치 문제

  • 누락된 항목을 0으로 처리하면 큰 행렬을 가진 계산상의 어려운 문제가 발생한다.
  • 다양한 크기의 샘플을 사용해 긍정적인 피드백 항목과 부정적인 피드백 항목에 가중치를 부여할 수도 있다.
    • 이런 접근 방식은 false positive와 false negative가 다르게 가중치가 부여되는 비용 민감성 설정에서 중요할 수 있다.
    • 일반적으로 0 항목은 0이 아닌 항목보다 가중치가 적어야 하므로 0 항목을 다운 샘플링하는 것이 유용하다.

4. 좋아요와 싫어요가 모두 있는 평점

  • 좋아요와 싫어요를 모두 명시적으로 지정하지만 이러한 경우 비음행렬 인수분해를 사용하는 것의 특별한 해석 가능성 이점은 없다.
Ex> 평점 척도는 1에서 5까지일 수 있으며 값 1은 매우 실어함을 나타낸다.
 * 이 경우 지정되지 않은 항목은 0으로 처리할 수 없으며 관찰된 항목 집합으로만 작업해야 한다.
  • 최적화 문제는 다음과 같이 관찰된 항목과 관련해 설명된다.
    • 이 공식은 제한되지 않은 행렬 인수분해의 정규화된 공식과 유사하다.
    • 차이점은 음이 아닌 제약 조건을 추가한다는 것이다.
  • 이러한 경우 제약 없는 행렬 인수분해에 사용되는 업데이트 방정식을 수정해야 한다.
    • U와 v의 항목을 (0,1)의 음이 아닌 값으로 초기화 한 후 제약 없는 행렬 인수분해에 대한 절에서와 같이 유사한 업데이트를 수행할 수 있다.
    • 주요 수정 사항은 업데이트 중에 음이 아닌 상태를 유지하는 것이기 때문에 U 또는 V의 구성 요소가 업데이트의 결과로 음이 아닌 제약 조건을 위반하는 경우 0으로 설정된다.
    • 업데이트는 모든 확률적 경사하강법에서와 같이 수렴하도록 수행된다.
  • 비음행렬 인수분해에 교대로 최소 제곱 접근 방식을 적용할 수 있다.
    • 주요 차이점은 최소 제곱 회귀 계수가 음이 아닌 것으로 제한된다는 것이다.
  • 평점이 좋아요와 싫어요를 모두 지정하는 설정에서 비음행렬 변형은 해석 가능성 측면에서 제약 없는 행렬 인수분해보다 특별한 이점이 없다.
    • 이는 더 이상 부분 합계 sum-od-parts 관점에서 솔루션을 해석할 수 없기 때문이다.

📖 행렬 인수분해 계열의 이해

  • 최적화 공식은 최소화 또는 최대화 문제일 수 있지만 목적함수의 목표는 항상 가능한 R이 UV^T와 일치하도록 강제하는 것이다.
  • 최대 가능도 목적함수와 같은 최대화 공식 대부분의 경우 과적합을 방지하기 위해 목적함수에 정규화가 추가된다.
  • 제약 조건이 관찰된 항목의 오류를 개선할 수 있다.
    • 이는 제약 조건이 관찰되지 않은 항목에 대한 분산을 줄이면서 바이어스를 증가시키기 때문이다.
    • 결과적으로 모델의 일반화 성능이 더 높다.
      Ex> U와 V 각각의 열에 있는 항목을 1로 고정하면 거의 항상 성능이 향상한다.
  • 인자에 확률론적 해석 가능성을 할당할 수 있는 다른 형태의 분해가 존재한다.
    • 음이 아닌 단항 평점 행렬 R이 항목의 합이 1인 상대 빈도 분포로 취급되는 경우이다.
    • R을 항목의 합계로 나눠 합계를 1로 조정하는 것은 쉽다.
    • 이러한 행렬은 SVD와 비슷한 방식으로 분해할 수 있다.
    • SVD와 주요 차이점은 Q 및 P의 열이 직교하지 않지만 1이 합산되는 음이 아닌 값이라는 것이며, 대각 행렬의 항목은 음이 아니고 합계도 1이다.
  • 그러한 인수분해는 확률론적 해석이 있다.
    • 행렬 Q, P 및 ∑에는 평점 행렬을 생성하는 생성 프로세스의 확률 매개변수가 포함돼 있다.
    • 목적 함수는 이 생성 프로세스의 매개변수를 학습하므로 평가 행렬을 생성 프로세스의 가능성이 가능한 한 커지며, 따라서 목적함수는 최대화 형식이다.
    • 해당 방법을 PLSA라고 하며 비음행렬 인수분해의 확률적 변형으로 볼 수 있다.
  • 행렬 인수분해 방법의 계열
    • 대부분의 경우 비음성과 같은 제약 조건을 추가하면 실행 가능한 솔루션의 공간이 줄어들기 때문에 관찰된 항목에 대한 기본 솔루션의 품질이 저하될 수 있다.
    • 이것이 제한되지 않은 최대 마진 분해가 글로벌 최적화의 최고 품질을 가질 것으로 예상되는 이유다.
    • 그럼에도 사용 가능한 방법으로는 대부분의 경우 전역 최적 값을 쉽게 찾을 수 없기 때문에 제약 있는 방법이 제약 없는 방법보다 성능이 더 좋을 수 있다.
    • 올바른 모델을 선택하려면 문제 영역을 주의 깊게 이해하는 것이 중요하다.

📖 분해와 이웃 모델 통합

1. 베이스라인 추정 모델 : 개인화되지 않은 바이어스 중심 모델

  • 개인화 되지 않은 바이어스 중심 모델은 순전히 R의 평점을 예측한다.
  • 평점은 아이템에 대한 사용자의 구체적이고 개인화된 관점이 아닌 사용자 관대함과 아이템 인기로 완전히 설명된다.
  • 이러한 모델의 예측은 다음과 같다.
  • 목적함수를 공식화해 바이어스들을 결정할 수 있다.
  • 이 최적화 문제는 확률적 경사하강법에서 S에서 관찰된 각 항목 (i,j)에 대해 다음 업데이트 규칙을 사용해 경사하강법을 통해 해결할 수 있다.
    • 흥미롭게도 순수한 바이어스 중심 모델은 개인화되지 않은 특성에도 종종 합리적인 예측을 제공할 수 있다.
    • 특히 평점 데이터의 양이 제한돼 있는 경우이다.
  • bi와 bj의 값을 구한 후 식 3.32에 따라 Bij를 예측 값으로 설정한다.
    • Bij의 값은 변수가 아니고 상수로 취급된다.
    • 따라서 통합 모델 솔루션의 첫 번째 단계는 개인화 되지 않은 모델을 해결해 상수 값 Bij를 결정하는 것이다.

2. 모델의 이웃 부분

  • 2.29의 이웃 기반 예측 관계를 복제한다.
  • 식 3.34에서 bi + bj의 발생 중 하나는 상숫값 Bij로 대체되며 결과 예측은 다음과 같다.
    • bi 및 bj는 최적화할 파라미터인 반면 Bij는 상수다.
  • 확률적 경사하강 접근법은 모델의 이웃 부분에 대한 솔루션을 결정하는데 사용되며 경사하강 단계는 다음과 같다.
  • 이 이웃 모델은 아이템-아이템 암시적 피드백 변수 cij를 도입해 암시적 피드백으로 더욱 향상될 수 있다.
    • 기본 아이디어는 아이템 j가 동일한 사용자 i에 의해 많은 이웃 아이템과 함께 평가되면 예상 평점에 해당 아이템에 영향을 미친다.
    • 해당 식에 사용된 스케일링은 다양한 사용자-아이템 조합에서 다양한 수준의 희소성을 조정하기 위해 수행된다.
    • 그런 다음 암시적 피드백에 대한 이웃 모델을 다음과 같이 작성할 수 있다.
  • 오차에 대한 최소 제곱 최적화 모델을 만들 때 기울기를 계산하고 확률적 기울기 하강 단계를 유도할 수 있다.
    • 수정된 업데이트 세트가 생성된다.

3. 모델의 잠재 요인 부분

  • 암시적 피드백은 예측을 위해 평점 정보와 통합된다.

4. 이웃 및 잠재 요인 부분의 통합

  • 두 모델을 통합해 다음과 같이 단일 예측 값을 만들 수 있다.
  • S의 항목에 대한 집계 제곱 오차를 최소화하는 해당 최적화 문제는 다음과 같다.

5. 최적화 모델 풀기

  • 경사하강법을 이용해 최적화 문제를 해결한다.
  • 이 경우 최적화 모델은 상대적으로 많은 수의 항과 많은 수의 변수를 포함하기 때문에 다소 복잡하다.
    • 성능 저하를 방지하기 위해 모델의 이웃 및 잠재 요인 부분에 대해 다른 단계 크기와 정규화 매개변수를 사용하는 것이 특히 중요하다.

6. 정확도에 대한 고찰

  • 결합된 모델이 각각의 개별 모델에 비해 우수한 결과를 제공함을 보여준다.
  • 이것은 결합된 모델이 데이터 세트의 다른 부분의 다양한 특성에 적응할 수 있는 능력의 결과이다.
  • 그러나 이 모델은 SVD ++ 에서 제공하는 것보다 약간 더 우수한 성능을 제공하며 결과는 데이터 세트에 따라 다르다.
  • 명심해야 할 한가지 문제는 이웃 모델에 SVD ++ 보다 최적화할 파라미터가 더 많다는 것이다.
    • 데이터 세트가 충분히 크지 않으면 이웃 구성 요소가 상당한 이점을 얻지 못한다.
  • 이러한 의미에서 비대칭 요인 모델, 바이어스가 있는 순수 SVD, SVD ++ 및 이웃 통합 분해 사이의 적절한 선택은 종종 데이터 세트의 크기에 따라 달라진다.
    • 매우 작은 데이터 세트의 경우 비대칭 요인 모델을 사용하는 것이 좋다.
    • 매우 큰 데이터 세트의 경우 이웃 통합 분해 모델이 가장 좋다.
    • SVD ++는 일반적으로 대부분의 설정에서 순수한 SVD보다 낫다.

7. 잠재 요인 모델을 임의 모델과 통합

  • 이러한 통합은 자연스럽게 하이브리드 추천 시스템의 생성으로 이어진다.
    • 사용자 i에 대한 프로필이 키워드 벡터 Ci로 표시된다.
    • 아이템 j에 대한 프로필이 키워드 벡터 Cj로 표시된다.
    • 사용자 i의 관찰된 평가는 Ri로 표시된 사용자 항목이다.
    • 아이템 j의 관찰된 평가는 Rj로 표시된 아이템 항목이다.
    • β는 두 모델의 상대적 중요성을 제어하는 균형 요소이다.
    • 이웃 및 잠재 요인 모델의 통합은 함수 F()가 항목 Rj만 사용하고 다른 모든 인수를 무시하는 선형 회귀이지만, 소셜 데이터, 위치 데이터, 위치 또는 시간과 같은 다른 데이터 소스를 사용해 F()의 범위를 넓힐 수도 있다.
profile
연세대학교 컴퓨터과학과 석사 과정

0개의 댓글