추천시스템 6장 : 앙상블 기반과 하이브리드 추천 시스템

태환·2023년 8월 9일
0

Recommendation System

목록 보기
6/12
post-thumbnail

📌 개요

  • 하이브리드 추천 시스템은 일반적으로 다른 데이터 소스에서 사용 가능한 모든 지식을 활용하고 다양한 추천 시스템의 알고리듬을 사용해 강력한 추론을 수행하는 가능성을 탐색하고자 설계됐다.

하이브리드 추천 시스템 만드는 세가지 기본 방법

1. 앙상블 디자인 : 기존 알고리듬의 결과는 하나의 더 강력한 출력으로 결합된다.
2. 모놀리틱 디자인 : 다양한 데이터 유형을 사용해 통합 추천 알고리듬이 생성된다.
3. 혼합 시스템 : 여러 추천 알고리듬을 블랙 박스로 사용하지만 다양한 추천 시스템에 의한 추천 아이템이 나란히 표시된다.

  • '하이브리드 시스템'이라는 용어는 '앙상블 시스템'이라는 용어보다 더 넓은 의미로 사용된다.

하이브리드 추천 시스템 분류

1. 가중 : 추천 시스템의 점수는 개별 앙상블 구성 요소의 점수에 대한 가중 집계를 계산해 단일의 단일 점수로 결합된다.
2. 스위칭 : 현재 요구에 따라 다양한 추천 시스템 간에 전환한다.
3. 캐스케이드 : 한 추천 시스템은 다른 추천 시스템에 의해 제시된 추천을 수정한다.
4. 피처 보강 : 한 추천 시스템의 출력은 다음 추천에 대한 입력 특징을 작성하는데 사용한다
5. 피처 결합 : 여러 데이터 소스의 특징이 단일 추천 시스템의 맥락에서 결합돼 사용된다.
6. 메타 레벨 : 한 추천 시스템이 사용하는 모델이 다른 시스템의 입력으로 사용된다.
7. 혼합 : 여러 엔진의 추천 사항이 동시에 사용자에게 제공된다.
  • 모든 앙상블 방법은 순차적 또는 병렬 디자인을 갖는다.
    ![]텍스트(https://velog.velcdn.com/images/hwanii_00/post/7f3cd176-ca98-452a-9cc2-04475f10cbbc/image.png)
    • 병렬 설계에서는 다양한 추천 모델이 서로 독립적으로 작동하며 개별 추천 모델의 예측이 맨 끝에 결합된다.
      Ex> 가중 및 스위칭 방법은 병렬 설계로 볼 수 있다.
    • 순차적 설계에서 한 추천 모델의 출력은 다른 추천의 입력으로 사용된다.
      Ex> 캐스케이드 및 메타 레벨 시스템은 순차적인 방법의 예로 볼 수 있다.

📌 분류 관점에서 본 앙상블

  • 협업 필터링은 분류 문제의 일반화이다.
  • 분류를 위해 설계된 바이어스-분산 이론이 협업 필터링 시나리오에도 적용된다.

데이터 분류 분야에 적용되는 바이어스-분산 절충 방법

  • 종속 변수 예측에서 분류 모델의 오류는 세 가지 구성 요소로 분해될 수 있다.
1. 바이어스 : 모든 분류 모델은 클래스 간 의사 결정 경계의 특성에 대한 자체 모델링을 가정하기 때문에 고유한 바이어스를 갖는다.
2. 분산 : 데이터 선택의 무작위 변동은 다른 모델로 이어진다.
3. 잡음 : 대상 클래스 레이블의 본질적인 오류를 나타낸다.
  • 잡음은 데이터 품질의 본질적인 측면이기 때문에 이를 교정하기 위해 할 수 있는 일은 거의 없다.
  • 따라서 앙상블 분석의 초점은 일반적으로 바이어스분산을 줄이는 데 있다.
  • 테스트 인스턴스 집합에 대한 분류 모델의 예상 평균 제곱 오차는 바이어스, 분산 및 잡음의 합으로 표시될 수 있다.
    • 바이어스 또는 분산 성분을 줄임으로써 분류 모델의 오차를 줄일 수 있다.
    • 배깅과 같은 분류 앙상블 방법은 분산을 줄이는 반면,
      부스팅바이어스를 줄일 수 있다.
  • 분류와 협업 필터링 사이의 유일한 차이점은 누락된 항목이 클래스 변수가 아닌 모든 열에서 발생할 수 있다는 것이다.

📌 가중 하이브리드

  • R 행렬의 관찰되지 않은 항목은 q개의 다른 알고리듬들로 예측된다.
  • 가중치 집합에 대해 가중 하이브리드는 다음과 같이 결합된 예측 행렬을 만든다.
    • 가장 간단한 경우 α=1/q를 선택할 수 있다.
    • 좀 더 정확한 시스템에 더 큰 중요성을 부여하기 위해 다양한 시스템에 다른 방식으로 가중치를 부여하는 것이 이상적이고 바람직하다.
  • 행렬의 개별 항목에 대해 위에서 언급한 방정식을 작성할 수도 있다.

최적의 가중치를 결정하기 위해서는 특정 가중치 조합의 효과를 평가할 수 있어야 한다.

  • 간단한 접근 방법은 평점 행렬 R에서 알려진 항목의 작은 비율을 유지하고
    R의 항목들의 나머지에 대해 q개의 다른 기본 알고리듬을 적용해 예측 행렬을 만드는 것이다.
  • 결과 예측은 식 6.2에 따라 앙상블 기반 예측을 생성하기 위해 결합된다.
  • 주어진 벡터 α의 가중치에 대해 q개의 다른 기본 알고리듬을 적용해 예측 행렬의 평균 제곱 오차(MSE) 또는 평균 절대 오차(MAE)를 사용해 평가할 수 있다.

MSE

  • MSE의 가장 효과적인 간단한 접근 방식은 선형 회귀를 사용하는 것이다.
  • 독립적인 변수를 선택해 선형 조합의 평균 제곱 오차가 홀드 아웃 세트의 알려진 평점과 관련해 최소화되도록 하는 것이다.
  • 이 경우 독립 변수는 항목 (u,j)에 대한 다양한 모델의 평점 예측에 해당하고 종속 변수는 보류 세트 H에서 앙상블 조합의 각 예측 평점의 값에 해당한다.
  • 회귀 계수는 다양한 구성 요소 모델의 가중치에 해당하며 훈련 예제에서 학습돼야 한다.
  • 선형 회귀를 사용해 가중치를 학습한 후 개별 구성 요소 모델은 보류 항목 없이 전체 훈련 세트에서 재교육한다.
    • 평점에서 사용할 수 있는 모든 정보를 최대한 활용하려면 이 마지막 단계가 중요하다.
    • 제곱 오차 함수데이터에서 가장 큰 오차에 의해 영향을 받기 때문에 선형 회귀 접근법은 잡음 및 이상치의 존재에 민감하다.
    • 잡음과 이상치의 존재에 더 다양하고 강력한 회귀 방법을 사용하기 위해 목적 절대 함수(MAE)를 목적함수로 사용한다.

MAE

  • MAE는 큰 오류를 지나치게 강조하지 않기 때문에 잡음 및 이상치에 대해 좀 더 강력한 것으로 잘 알려져 있다.
  • 일반적인 접근 방식은 경사하강법을 사용해 파라미터 벡터의 최적값을 결정하는 것이다.
  • 알고리듬은 α= 1 / q를 설정해 시작하며, 기울기는 다음과 같이 H에서 보류된 항목에 대해 계산된다.
  • 기울기는 개별 편미분으로 작성될 수 있다.
    • 이 기울기는 반복 경사하강방식으로 파라미터 공간을 통과하는 데 사용된다.
  • 최적의 가중치가 결정된 후 모든 앙상블 모델은 보류 항목 없이 전체 평점 행렬에서 재교육된다.
  • 이 모델들의 예측은 반복적 접근 방식으로 발젼된 가중치 벡터의 사용과 결합된다.

📖 다양한 유형의 모델 조합

  • 가중 모델 조합에서는 일반적으로 두 가지 형태의 모델 조합이 있다.
  1. 동종 데이터 유형 및 모델 클래스 : 다른 모델이 동일한 데이터에 적용된다.
    • 주어진 데이터 세트에서 특정 알고리듬의 특정 바이어스를 피하기 때문에 강력하다.
    • 이 간단한 접근 방식은 거의 항상 기본 모델의 성능을 향상시켰다.
  2. 이기종 데이터 유형 및 모델 클래스 : 다른 모델 클래스가 다른 데이터 소스에 적용된다.
    • Ex> 한 구성 요소는 평점 행렬을 사용하는 협업 추천일 수 있지만,
      다른 구성 요소는 콘텐츠 기반 추천일 수 있다.
    • 아이디어는 가장 정확한 추천을 제공하기 위해 다양한 데이터 소스의 보완 지식을 활용하는 것이다.

📖 분류에서 배깅 적용

  • 분류 문제에 사용되는 일반적인 가중치 조합 기술 중 하나는 배깅 기술이다.
배깅의 기본 아이디어는 분류 오류의 분산 성분을 줄이는 것이다.
  • 배깅에서 q 훈련 데이터 세트는 부트 스트랩 샘플링으로 생성된다.
  • 부트 스트래핑된 샘플링에서 원래의 훈련 데이터 세트와 동일한 크기의 새로운 훈련 데이터 세트를 생성하기 위해 데이터 행렬의 행이 교체돼 샘플링된다.
    • 이 새로운 훈련 데이터 세트에는 일반적으로 많은 중복이 포함된다.
  • 샘플링된 각 훈련 데이터 세트로 총 q 훈련 모델이 작성되며 주어진 테스트 인스턴스에 대해 이러한 q 모델의 평균 예측이 보고된다.
  • 배깅은 일반적으로 오차의 분산 성분을 감소시키기 때문에 분류 정확도를 향상시킨다.
  • 서브 배깅으로 알려진 특정 배깅 변형은 대체 샘플링으로 행을 추출하는 대신 행을 서브 샘플링한다.

배깅 및 서브 배깅 방법은 다음과 같이 협업 필터링으로 일반화될 수 있다.

1. 행 단위 부트 스트래핑 : 평점 행렬 R의 행을 대체해 샘플링해 동일하한 차원의 새로운 평점 행렬을 만든다.
2. 행 단위 서브 샘플링 : 행 단위를 대체하지 않고 샘플링한다는 점을 제외하고 행단위 부트 스트랩과 유사하다.
3. 엔트리 단위 배깅 : 원래 평점 행렬의 항목을 대체해 샘플링해 q평점 행렬을 생성한다.
4. 엔트리 단위 서브 샘플링 : 엔트리의 일부는 평점 행렬 R로부터 무작위로 유지돼 샘플 훈련 데이터 세트를 생성한다.
  • 앞서 언급한 방법에서, 앙상블 최종 단계는 가중 평균이 아닌 단순한 예측 평균을 사용한다.
  • 단순 평균을 사용하는 이유는 모든 모델 구성 요소가 동일한 확률적 접근 방식으로 작성되므로 동일하게 가중치를 부여해야 하기 때문이다.

📖 무작위성의 주입

  • 기본 예측 변수 간에 높은 상관관계로 인해 배깅이 작동하지 않는 경우 무작위성의 주입을 명시적으로 사용하는 것이 도움이 될 수 있다.
  • 무작위성의 주입은 분류에서 Random Forest의 많은 원칙을 공유하는 접근 방식이다.
  • 기본 아이디어는 기본 분류 모델을 사용해 분류 모델에 무작위성을 명시적으로 주입하는 것이다.

임의성을 주입하기 위해 다양한 방법이 사용될 수 있다.

  1. 이웃 모델에 임의성 주입 : 사용자 기반 또는 아이템 기반 이웃 모델에서 최상위-k 근접 이웃을 사용하는 대신 α > 1 에 대해 상위 α x k 이웃이 선택된다.
    • 이들 α x k 이웃들로부터 요소드링 무작위로 선택된다.
  2. 행렬 인수분해 모델에 무작위성 주입 : 행렬 인수분해 방법은 인수 행렬을 임의로 초기화한 후 솔루션 공간에서 기울기 하강을 수행하기 때문에 본질적으로 무작위화된 방법이다.

📌 스위칭 하이브리드

  • 스위치 시스템의 원래 동기는 사용 가능한 데이터가 부족한 초기 단계에서 특정 모델이 더 잘 작동하는 콜드 스타트 문제를 처리하는 것이었다.
  • 나중 단계에서는 다른 모델이 더 효과적이므로 하나의 모델이 더 효과적인 모델로 전환된다.

📖 콜드 스타트 문제를 위한 스위칭 메커니즘

  • 스위칭 메커니즘은 콜드 스타트 문제를 처리하는 데 종종 사용되는데, 이 경우 하나의 모델이 적은 데이터로 더 나은 성능을 발휘하는 반면 다른 추천 모델은 더 많은 데이터로 더 나은 성능을 발휘한다.
  • Ex> 지식 기반 시스템은 콜드 스타트 단계에서 보다 정확한 결과를 제공하지만,
    협업 시스템은 이후 단계에서 더욱 정확한 결과를 제공한다.

📖 모델 버킷

  • 각각의 모델은 알고리듬의 파라미터의 다른 값에 대응할 수 있고, 최서ㅏㅇ의 결과를 제공하는 값이 관련 모델로 선택된다.
  • 관련 모델이 선택되면 전체 평점 행렬에서 재훈련되고 결과가 보고된다.

📌 캐스케이드 하이브리드

  • 추천 모델이 직접 추천 이외의 방법으로 이전 추천 모델의 추천을 사용할 수 있는 캐스케이드 하이브리드에 대해 더 넓은 관점을 취한 다음 결과를 결합해 최종 추천을 한다.

📖 추천의 연속적인 재정의

  • 이 방법에서 추천 시스템은 이전 반복의 추천 출력을 연속적으로 제공한다.
  • Ex>
    • 첫 번째 추천은 대략적인 순위를 지정하고 많은 잠재적인 아이템들을 제거할 수 있다.
    • 두 번째 추천은 이 대략적인 순위를 사용해 이를 다시 수정하고 연결을 끊는다.
    • 결과 순위는 사용자에게 제공된다.

📖 부스팅

  • 전통적인 부스팅에서는 일련의 트레이닝 라운드가 가중치 트레이닝 예제와 함께 사용된다.
  • 각 라운드의 가중치는 이전 라운드에서 분류 모델의 성능에 따라 수정된다.
    • 구체적으로 오류가 있는 학습 예제의 가중치는 증가하는 반면,
      올바르게 모델링된 예제의 가중치는 감소한다.
    • 이러한 여러 라운드를 사용해 일련의 분류 모델을 얻는다.
    • 주어진 테스트 인스턴스에 대해 모든 모델이 적용되고 가중 예측은 관련 모델로 보고된다.
  • 협업 필터링과 테스트 행 사이에 명확한 경계가 없으며 종속 열과 독립 열 사이에 명확한 구분이 없는 협업 필터링을 위해 부스팅을 수정해야 한다.
    • 가중치가 행과 연관된 분류 및 회귀 모델링과 달리 협업 필터링의 학습 예제 가중치는 개별 평점과 연관된다.
    • 각 반복에서 협업 필터링 알고리듬이 특정 항목을 얼마나 잘 예측할 수 있는지에 따라 각 평점의 가중치가 수정된다.

📖 가중 기본 모델

  • 부스팅 및 배깅 방법에서는 가중치가 적용된 기본 모델을 사용해야 한다.
    • 기존 협업 필터링 모델을 수정해 가중치를 적용할 수 있다.
  • 항목에 가중치를 적용하도록 기존 모델을 수정하는 것은 비교적 간단하다.
  1. 이웃 기반 알고리듬 : 사용자의 평균 평점은 평균을 중심으로 평점을 매기도록 가중치를 적용해 계산된다.
    • 피어슨과 코사인 측정 모두 가중치를 고려해 수정될 수 있다.
    • 사용자 u와 v 사이의 피어슨 계수를 계산하기 위해 수정한 것은 다음과 같다.
    • 아이템-아이템 유사도 측정의 경우, 조정된 코사인 측정 값은 유사한 방식으로 수정될 수 있다.
  2. 잠재 요인 모델 : 최적화 문제의 제곱의 가중 합계를 최소화해야 한다.
    • 목적 함수는 다음과 같이 수정될 수 있다.
    • 경사하강 방법의 해당 변경 사항은 관련 업데이트에 가중치를 부여하는 것이다.
  • 이러한 유형의 가중 기본 알고리듬은 부스팅 및 배깅과 같은 많은 협업 필터링 앙상블에 유용하다.

📌 피처 증강 하이브리드

  • 피처 증강 하이브리드는 분류의 스태킹 앙상블과 여러 가지 직관적인 유사도를 공유한다.
  • 첫 번째 레벨 분류 모델은 두 번째 레벨 분류 모델의 기능 세트를 작성하거나 보강하는데 사용된다.
  1. 콘텐츠 기반 시스템을 사용해 평점 행렬의 누락된 항목을 채워 더 이상 희소하지 않게 하는 것이다.
    • 누락된 항목은 콘텐츠 기반 시스템에 의해 추정돼 좀 더 조밀한 평점 행렬을 작성한다.
    • 새로 추가된 이 평점을 의사-평점이라 한다.
  2. 그런 다음 조밀한 평점 행렬에서 협업 추천 모델이 평가 예측을 작성하는 데 사용된다.
  3. 마지막으로 협업 예측은 가중 방식으로 원래의 콘텐츠 기반 예측과 결합돼 행렬에서 누락된 엔트리의 전체 예측을 산출한다.
    • 유사도 계산은 실제 평점에 비해 의사-평점에 가중치를 덜 부여하기 위해 수정해야한다.
    • 의사-평점이 추론됐기 때문에 오류가 발생하기 쉽다.
  • 이 접근 방식은 협업 필터링의 두 번째 단계에 대한 수정이 필요하며 기존 알고리듬은 사용할 수 없기 때문에 모놀리틱 시스템으로 볼 수 있다.

📌 메타 레벨 하이브리드

  • 한 추천 모델이 학습한 모델이 다음 레벨의 입력으로 사용된다.
  • Ex> 식당을 예측하는 차별적 특징을 설명하는 콘텐츠 기반 모델이 구성된다.
    • 각 사용자는 차별적 단어의 벡터 표현에 의해 정의된다.
    • 식당 추천 시스템에 사용할 수 있는 사용자 단어 행렬의 예는 다음과 같다.
    • 위의 표의 가중치는 사용자가 접근한 아이템의 설명을 사용해 획득할 수 있다.
    • 첫 번째 단계에서 콘텐츠 기반 기능 선택이 각 사용자에 대해 차별적인 벡터 공간 표현을 생성하기 때문에 관련 없는 단어는 이미 제거됐다.
    • 또한 표현은 일반적인 평점 행렬보다 훨씬 더 조밀하다.
    • 따라서 이 새로운 표현으로 사용자 간의 유사도를 강력하게 계산할 수 있다.
  • 주요 아이디어는 콘텐츠 기반 피어 그룹에 대상 사용자의 가장 유사한 사용자를 판별하는 데 사용된다는 것이다.
  • 피어 그룹이 결정되면, 피어 그룹의 평점의 가중 평균이 예측된 평저믈 결정하는 데 사용된다.
  • 이러한 시스템은 기존 방법을 기존 추천으로 사용하지 않기 때문에 진정한 앙상블로 간주될 수 없다.

📌 피처 결합 하이브리드

  • 예측 알고리듬을 적용하기 전에 다양한 소스로부터의 입력 데이터를 단일화된 표현으로 결합하는 것이다.
  • 대부분의 경우 이 예측 알고리듬은 협업 정보를 추가 기능으로 사용하는 콘텐츠 기반 알고리듬이다.
    • 이 접근 방식은 항목을 평가한 사용자 수에 대한 시스템 감도를 줄일 수 있으며 새 항목의 관점에서 콜드 스타트 문제에 강하다.
  • 조합은 다양한 유형의 배경지식을 가지고 다양한 다른 방식으로 수행될 수 있음에 유의한다.
  1. 사용자 및 항목의 표현은 계층 구조의 관련 장르에 의해 확장될 수 있다.
    • 평점 행렬은 아이템이 아닌 장르의 관점에서 구성될 수 있다.
    • 희소 행렬에서 이러한 접근 방식은 열 수를 줄이고 대부분의 항목이 압축된 행렬에 채워질 수 있기 때문에 효과적인 결과를 제공할 수 있다.
  2. 평점 행렬을 늘리고 항목 외에 키워드에 대한 열을 추가하는 것이다.
    • 평점 행렬은 m x (n + d) 행렬이 된다.
    • n은 항목 수이고, d는 키워드 수다.
    • 키워드 항목의 가중치는 사용자가 접근, 구매 또는 평가한 항목에 대한 설명의 가중치 집계를 기반으로 한다.
  • 이 확장된 행렬에는 전통적인 이웃 또는 행렬 인수분해 방식을 사용할 수 있다.
  • 두 가지 유형의 열의 상대적 가중치는 교차 유효성 검사를 통해 학습할 수 있다.
  • 두 가지 최적화 모델의 이러한 유형의 조합은 하이브리드 설정에서 일반적이며, 목적함수는 파라미터 벡터와 관련해 다음 같이 설정된다.
    • 목적 함수는 매개변수 벡터 θ에 대해 최적화된다.

📖 회귀 및 행렬 인수분해

  • R을 m x n 개의 암시적 피드백 평점 행렬로 하고, C를 d개의 내용 행렬로 하자.
  • 탄력적 그물 정규화, 비-음성/대각 제약과 함께 향상된 최적화 모델은 다음과 같다.
  • 이 유형의 접근 방식은 다른 유형의 협업 필터링 모델을 콘텐츠 기반 방법과 결합하는 데 사용할 수 있다.
    • 행렬 인수분해의 경우, m x k 사용자 계수 행렬 U, n x k 공유 항목 계수 V 및 d x k 콘텐츠 계수 행렬 Z를 사용해 다음과 같이 최저과 모델을 설정할 수 있다.
    • 항목 계수 행렬 V는 평점 행렬과 콘텐츠 행렬의 인수분해 간에 공유된다.
    • 공유 행렬 인수분해 모델은 사회적 신뢰 데이터와 같은 다른 유형의 부가 정보를 통합하는 데에도 사용된다.

📖 메타 레벨 피처

  • 특정 유형의 추천 기능에서 새로운 메타 기능을 추출한 후 앙상블 모델 내에서 결합할 수 있다.
  • 기본 아이디어는 메타 기능을 사용해 모델 조합 프로세스에서 이러한 엔트리별 차이를 설명하는 것이다.
  • 메타 기능 접근법은 강력한 앙상블 디자인을 위한 잠재적으로 강력한 방법이라는 것이 입증됐다.
    • 넷플릭스 프라이즈 콘텐츠의 우승작은 모두 이러한 접근 방식을 사용했다.
  • 넷플릭스 프라이즈 데이터 세트의 앙상블 조합을 위해 사용된 메타 기능 하위 집합

📌 혼합 하이브리드

  • 혼합 추천 시스템의 주요 특징은 예측된 점수를 결합하는 것이 아니라 다른 구성 요소의 점수를 표시하는 방식으로 결합한다는 것이다.
    • 이러한 시스템의 주요 특징은 예측 점수의 조합보다 프레젠테이션의 조합이다.
  • 일반적으로 복합 프로그램이 사용자에게 제공된다.
    • 이 복합 프로그램은 다른 시스템에서 추천하는 항목을 결합해 생성된다.
  • 기본 아이디어는 추천이 많은 구성 요소를 포함하는 비교적 복잡한 항목에 대해 설계됐으며 개별 항목을 추천하는 것은 의미가 없다는 것이다.
profile
연세대학교 컴퓨터과학과 석사 과정

0개의 댓글