본문 바로가기

AI/Machine Learning

FM (Factorization Machine)

728x90

1. FM (Factorization Machine)

  • 위의 그림은 MF에 대한 내용
  • MF는 user, item, rating의 data를 이용하는 추천 시스템
  • 하지만 sparse한 환경이 존재하는 상황에서는 사용하지 못함
  • 이러한 한계점을 해결하기 위해 FM 이 개발되었음

 

  • FM은 user, item, rating을 categorical 하게 분할
  • categorical feature는 one-hot 형태로 표현
  • 따라서 sparse한 벡터는 일반적인 경우

 


 

2.  Objective Function

  • 다항회귀식으로 추천시스템의 목적 함수를 나타냄
  • 첫번째 식은, 각 사용자에 weight를 부여한 식
  • 두번째 식은, 사용자의 row 간의 weigh를 부여한 식
    • row 들간의 관계를 파악하기 위함
  • 세번째 식은, b는 bias를 나타냄

 

  • 위의 두번째식에서 weight가 두 개의 벡터의 내적으로 나타나짐
  • SVD와 같은 기법으로 분해한 것이며, 벡터를 이용하여 두 사용자간의 잠재적 특성을 파악할 수 있음

 


 

3. 추가 보완점

위의 weight가 벡터로 분할되어 사용자 간의 잠재적 특성을 파악할 수 있다는 것에 대해

더 확실하게 이해하고 싶어서 참고 자료들 조사해보니

위와 같이 user_B와 user_C는 user matrix 상에서 겹치는 부분이 없기 때문에 interaction은 0이다.

하지만 실제 movie_SW와의 벡터와 서로 비교해 보면

두 사용자 user_B와 user_C는 높은 유사도를 가지고 있는 것을 확인할 수 있다.

결국 사용자 자체의 행렬을 기반으로 유사도가 판단되지 않을 수 있지만,

그들의 취향을 기반으로 비교하여 둘의 유사도를 확인할 수 있다.

 


 

References