분해 기계와 행렬 분해의 차이점은 무엇입니까?


14

추천 시스템에서 Factorization Machines라는 용어를 발견했습니다. 추천 시스템에 대한 Matrix Factorization이 무엇인지 알고 있지만 Factorization Machines에 대해서는 들어 본 적이 없습니다. 차이점은 무엇입니까?

답변:


7

행렬 인수 분해는 행렬을 인수 분해하는 방법입니다. 행렬을 두 행렬로 분해하여 제품이 원래 행렬과 거의 일치하도록하는 작업을 수행합니다.

그러나 인수 분해 기계는 매트릭스 인수 분해에 비해 본질적으로 매우 일반적입니다. 문제 공식 자체는 매우 다릅니다. 추가 매개 변수로 피처 간 상호 작용이있는 선형 모델로 공식화됩니다. 이 기능 상호 작용은 일반 형식이 아닌 잠재 공간 표현으로 수행됩니다. 따라서 Matrix Factorization과 같은 기능 상호 작용과 함께 다른 기능의 선형 가중치도 사용합니다.

따라서 행렬 분해와 비교할 때 다음과 같은 주요 차이점이 있습니다.

  1. 일반적으로 Matrix Factorization이 사용되는 권장 시스템에서는 부가 기능을 사용할 수 없습니다. 영화 추천 시스템의 경우 영화 장르, 언어 등을 Matrix Factorization에서 사용할 수 없습니다. 인수 분해 자체는 기존 상호 작용에서이를 배워야합니다. 그러나 우리는이 정보를 인수 분해 기계에서 전달할 수 있습니다
  2. 인수 분해 기계는 회귀 및 이진 분류와 같은 다른 예측 작업에도 사용할 수 있습니다. 이것은 일반적으로 행렬 분해의 경우에는 해당되지 않습니다

이전 답변에서 공유 된 논문은 FM에 대해 이야기하는 원본 논문입니다. FM이 정확히 무엇인지에 대한 훌륭한 예가 있습니다.


4

행렬 분해는 다른 분해 모형입니다. FM에 관한 기사 에서 :

행렬 분해, 병렬 요인 분석 또는 SVD ++, PITF 또는 FPMC와 같은 특수 모델과 같은 여러 가지 분해 모델이 있습니다. 이 모델의 단점은 일반적인 예측 작업에는 적용 할 수 없지만 특수 입력 데이터에서만 작동한다는 것입니다. 또한 모델 방정식과 최적화 알고리즘은 각 작업마다 개별적으로 파생됩니다. FM은 입력 데이터 (특징 벡터)를 지정하여 FM이 이러한 모델을 모방 할 수 있음을 보여줍니다. 따라서 인수 분해 모델에 대한 전문 지식이없는 사용자도 FM을 쉽게 적용 할 수 있습니다.

libfm.org에서 :

"FM (Factorization Machine)은 피쳐 엔지니어링을 통해 대부분의 인수 분해 모델을 모방 할 수있는 일반적인 접근 방식입니다. 이러한 방식으로, 인수 분해 머신은 피쳐 엔지니어링의 일반 성과 큰 영역의 범주 형 변수 간의 상호 작용을 추정 할 때 인수 분해 모델의 우수성을 결합합니다."


2

Dileep의 대답에 대한 확장.

관련된 기능이 두 가지 범주 형 변수 (예 : 사용자 및 항목) 인 경우 FM은 행렬 인수 분해 모델과 같습니다. 그러나 FM은 둘 이상의 실제 가치 기능에 쉽게 적용 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.