Matrix Factorization(MF)을 대략적으로 이해

개시하다
복제 시스템에서 자주 사용되는 차원별 삭감 기법인 Matrix Factorization에 대해 대략적으로 정리했다.MF는 파생 알고리즘이 많고 손실 함수의 최적화 방법도 몇 가지 있지만 이번 보도는 MF의 개념을 이해하기 위해 쓴 것이다.
조화 여파
우선 필터를 맞추는 복습이다.조화 필터는 여러 사용자의 평가에 따라 추천 항목을 결정한다.다음 항목을 구체적으로 추천합니다.
① 기호가 비슷한 사용자 평가 항목
② 과거 평가가 높았던 종목과 비슷한 항목
나는 간단한 예를 하나 생각한다.
(사용자 기반 필터링 시)
Movie1
Movie2
Movie3
User1
1
?
5
User2
?
?
3
User3
1
3
5
User4
3
3
4
이용자 4명이 영화 3편을 평가한 수치(?의 경우 공백, 아직 보지 못한 영화)다.이때 User1의 Movie2에 대한 평가는 공백이었지만, User1과 User3을 보면 영화의 취향이 비슷하다는 것을 알 수 있다.이에 따라 무비2에 대한 User1의 평가는'3'으로 예측할 수 있다.지금은 목시로 확인했는데 실제로는 서명 유사도와 피어싱 귀걸이 관련 수로 추천할 항목을 결정한다.
왜 차원 삭감이 필요합니까
여기서 주제의 차원적 삭감이 왜 필요한지 생각해 보자.위에서 보듯이 조화 필터에서 프로젝트와 사용자의 평가값 행렬을 만들어 유사도를 계산하지만 실제 서비스 처리 데이터로 제작하면 사이즈가 커진다.예를 들어 아마존은 가입자 수가 5천만명 이상이고 프로젝트 수가 3억명 이상이면 산정 비용도 커진다.그리고 이렇게 많은 이용자와 종목을 보유해도 이용자별로 구매·평가하는 종목이 한정돼 있어 장사진(거의 0 대열)이 이어진다.리뷰에 평가가 없는 상황에서 이용자가 흥미가 없어 무시하거나 원래 항목에 주의를 기울이지 않아 결과가 유효한지 구분이 안 돼 의심스러울 수 있다.
따라서 방대한 전체 행렬에서 특징을 꺼내 더 작은 팀에 가깝게 하면 성과를 낼 수 있다.
Matrix Factorizain(MF)
Matrix Factorization은 복제 시스템에서 자주 사용되는 낮은 수준의 근사한 방법입니다.이 방법은 넷플릭스 프라이즈(넷플릭스가 주최하는 복제 알고리즘 경진대회)에서 결과를 남긴 사이먼 펑크가 먼저 발표한 것으로, 펑크 SVD라고도 부른다.또 MF가 쓴 것시나닷컴 블로그에 대해서도 현재 많은 글이 참조되고 있다.
구체적으로 살펴보자.
Movie1
Movie2
Movie3
User1
1
?
5
User2
?
?
3
User3
1
3
5
User4
3
3
4
(위에서 사용한 예)
댓글의 목적은 지금 공백(?)지방의 평가치, 사용자에게 평가치가 높은 (마음에 드는 것 같은) 항목을 추천합니다.
다음 그림에서 보듯이 사용자 인덱스 u, 프로젝트 인덱스 i의 평가 값 행렬 R(u)×i가 있는 경우 MF는 사용자 피쳐가 있는 열 벡터 P(u)로 사용합니다.×k) 및 항목 특성이 있는 열 벡터 Q(k)×i) 분해이때는 k가 i보다 작다.

평가의 예측치는 다음과 같다.
$$\hat{r_{ui}} = q_{i}^Tp_{u}$$
그리고 이 예측치가 일치하도록 실제 평가치 $r{ui} 달러와 예측 $\hat{r{ui} 사이의 차이가 점점 작아지고 있습니다.L2 정규 항목을 추가하여 과도한 맞춤을 방지합니다.
[근사 정밀도를 측정하는 손실 함수]
$$min_{P,Q}\sum_{(u,i)\in R}(r_{ui} - q_{i}^Tp_{u})^2 +\lambda(||q_{i}||^2 + ||p_{u}||^2)    (1)$$
이 함수를 최적화하려면 다음과 같은 방법을 사용합니다.
  • ALS
  • SGD(확률계단하강법)
  • WALS(가중 교체 최소 평법)
  • 특징.
  • 정밀도가 좋다
  • 빠른 컴퓨팅 시간
  • 모델의 유연성이 높음
  • 병렬 처리 미숙
  • 최후
    데이터의 수량이 많고 해석된 평가치 행렬에 대해 이러한 절차를 통해 차원을 삭감한 후에 평가치를 예측하면 효과가 있을 것이다.이번에 쓴 것은 기본적인 MF인데 편압항 등 파생 알고리즘이 첨가되어 있으니 참고에 기재된 기사를 보십시오.
    인용하다
    Simon Funk 블로그: https://sifter.org/~simon/journal/20061211.html
    MF 파생 알고리즘 요약: https://qiita.com/kondo-k/items/7a67881520da23229ce5

    좋은 웹페이지 즐겨찾기