본문 바로가기
Computer Science/데이터마이닝

[Model-basedCollaborative Filtering 2] 1

by 큌 2024. 6. 18.
반응형

기본 잠재 요인 모형

차원 축소

• 고차원 공간에서 데이터가 주어지면 데이터를 저차원 부분 공간에 투영합니다.

• 부분 공간의 축을 효과적으로 표현하는 방법은 무엇입니까?

⇒ 데이터의 중요한 기능을 보존하는 데 필수적입니다.

차원 축소가 필요한 이유는 무엇입니까?

• 주요 관찰 사항: 등급 행렬에서 행과 열의 상당 부분은 상관 관계가 높습니다.

• 등급 매트릭스에는 중복되는 행과 열이 있습니다.

• 완전히 지정된 낮은 순위 근사치는 원래 행렬의 항목의 작은 부분 집합으로 결정할 수 있습니다.

• 차원 축소는 축을 회전하여 중복 쌍별 상관 관계를 제거하는 데 사용됩니다.

• 축은 사용자 및 항목에 대한 잠재 요인을 나타냅니다.

기하학적 보기: 잠재 요인 모형

• 세 영화의 평점은 상관관계가 높습니다.

⇒ 1차원 라인을 따라 배열할 수 있습니다.

잠재 요인 모델이란?

• 잠재 요인에 의해 정의된 초평면으로부터 사용자 등급의 거리를 최소화하는 잠재 벡터 집합을 찾습니다.

• 데이터의 상관 구조에서 기본 중복을 캡처하고 모든 결측값을 한 번에 재구성합니다.

• 참고: 데이터에 상관관계나 중복성이 없으면 잠재 요인 모형이 잘 작동하지 않습니다.

• 행렬 인수분해는 차원 축소를 위해 주어진 행렬의 근사치를 구하는 일반적인 솔루션입니다.

• 잠재 벡터가 항상 상호 직교하는 것은 아닙니다.

• SVD는 기저 벡터가 서로 직교하는 행렬 인수분해의 대표적인 방법입니다.

행렬 인수분해란?

• 행렬 R ∈ ℝ m×n이 주어지면, 이는 낮은 순위-k 인자인 k ≪ min(m, n)의 곱으로 대략 표현될 수 있습니다.

• U: 잠재 사용자 행렬(m×k 행렬) • 각 사용자는 잠재 벡터(1xk 벡터)로 표현됩니다.

• V: 잠재항목 행렬(n×k 행렬)

• 각 항목은 잠재 벡터(1xk 벡터)로 표시됩니다.

MF 목적함수

• 행렬 R을 두 개의 잠재 행렬 U와 V로 인수분해합니다.

• 행렬 R은 UV^T의 곱으로 근사화됩니다.

• 참고: 모델 교육에서 누락된 등급은 무시됩니다.

개념도: 잠재적 사용자 벡터

• 잠재 피쳐 공간에서 사용자 표현

• 참고: 두 요인이 직교하지 않을 수 있습니다.

누락된 등급 예측

• 잠재 사용자 벡터 uu와 잠재 항목 벡터 vi의 곱으로 항목 i에 대한 사용자 u의 등급을 추정합니다.

비제약 행렬 인수분해

• U와 V에 대한 최적화 문제를 공식화합니다.

• 두 행렬 U와 V에는 제약이 없습니다.

• 관측값과 엔트리에 대한 예측값 사이의 제곱 오차의 합을 최소화합니다(u, i).

요약: 경사 하강(GD)

편미분 계산

• uuq와 viq에 대한 E의 편미분을 계산하는 방법은?

GD와의 교육

• 입력: R등급 매트릭스와 학습률 a.

GD와의 교육

• 매트릭스 표현을 사용하여 업데이트를 수행하는 방법은 무엇입니까?

• 오차 행렬 E = R - UV^T를 계산합니다.

• E의 관측되지 않는 항목은 0으로 설정됩니다.

• 업데이트는 다음과 같이 계산할 수 있습니다.

• 컨버전스로 실행할 수 있습니다.

SGD를 통한 교육

• 관찰된 항목(u,i) ∈ S에 고유합니다.

• (mk + nk) 항목이 아닌 2k 항목의 관련성을 업데이트합니다.

• 벡터화된 형태로 다시 작성할 수 있습니다.

• SGD는 데이터 크기가 매우 클 때 선호됩니다.

정규화 용어 추가

• 모델 교육을 위해 두 가지 용어를 소개합니다.

• 적합도는 예측 오차를 줄이는 것입니다.

• 정규화 용어는 과적합 문제를 완화하기 위해 사용됩니다.

편미분 계산

• 흥미롭게도 우리는 ��와 �� 두 용어를 제외하고는 거의 동일한 결과를 얻을 수 있습니다.

사용자 및 항목 편향 통합

사용자 편향 및 항목 편향 모델링

• 사용자 등급은 다음과 같은 네 부분으로 구성됩니다:

• �: 모든 등급에 대한 글로벌 평균

• �-: 사용자 등급에 대한 사용자 편향, pi: 항목 등급에 대한 항목 편향

• ����: 사용자 u와 항목 i 사이의 상호 작용.

사용자 편향 및 항목 편향 모델링

• 평균 등급: � = 3.5

• 앨리스는 비평가입니다.

• 시청률이 평균보다 1스타 낮습니다. � - = -1.0 • 스타워즈는 인기있는 영화입니다.

• 이것은 평균 영화인 �보다 0.5 높은 평가를 받습니다. = +0.5

• Alice on Star Wars의 예상 등급: 3.5 - 1.0 + 0.5 = 3.0

편향이 있는 목적함수

• 등급 행렬에서 전역 평균 �을 빼서 행렬 R이 평균 중심에 있다고 가정합니다.

• 최적의 파라미터를 찾기 위해 SGD로 훈련합니다.

• ��, ��, ��, ��이 학습해야 할 매개변수로 취급됩니다.

편견을 통합하는 요령

• 별도의 편향을 갖는 대신 크기 m×(k + 2) 및 n×(k + 2)의 더 큰 요인 행렬을 만듭니다.

• 사용자 요인 행렬의 마지막 열을 모든 1로 설정합니다.

• 항목 요인 행렬의 두 번째 마지막 열을 모두 1로 설정합니다.

논의

• 사용자 및 항목 편향을 추가하면 과적합을 줄이는 데 도움이 될 수 있습니다.

• 특히 콜드 스타트 사용자 및 항목의 경우 보이지 않는 항목에 대한 학습 알고리즘의 일반화 가능성을 향상시킬 수 있습니다.

• 항목 편향을 사용하는 것에 대한 (개인화된) 예측은 합리적인 예측을 제공할 수 있습니다.

• 넷플릭스 상 공모전에서 배운 실용적인 교훈 "수많은 새로운 알고리즘 기여 중에서, 저는 데이터에 주요 효과를 포착하는 보잘것없는 기준 예측 변수(또는 편향)를 강조하고 싶습니다. 문헌은 대부분 더 정교한 알고리즘 측면에 초점을 맞추고 있지만, 우리는 주요 효과에 대한 정확한 처리가 최소한 모델링 돌파구를 마련하는 것만큼 중요하다는 것을 알게 되었습니다."

반응형