Supponiamo (prima della codifica one-hot) di avere predittori / campi da un set (ad esempio genere di film, sesso dell'utente e razza dell'utente). Supponiamo inoltre che ogni predittore z ∈ Z possa assumere uno dei valori di k z . Dopo la codifica one-hot, avrai una nuova serie di funzioni binarie X di dimensione K : = ∑ z ∈ Z k z .Zz∈ZkzXK:=∑z∈Zkz
In un modello con tutte le interazioni, è necessario stimare una matrice di coefficienti di interazione , che ha K × ( K + 1 ) / 2 termini unici.QK×(K+1)/2
La macchina di fattorizzazione mette la struttura sulla matrice e presuppone che Q ≡ W T W , dove W è di dimensione l × K , con 1 ≤ l ≤ K un numero specificato dall'utente. Stimiamo W invece di Q .QQ≡WTWWl×K1≤l≤KWQ
La struttura mette macchina fattorizzazione campo-aware su pure. Partiziona Q in blocchi basati su z (le caratteristiche originali). Se q z i , z j indica la z i , z j blocco di Q , assumiamo che q z i , z j viene dal z i , z j blocco di W T j W i , dove W i è di dimensione l ×QQzqzi,zjzi,zjQqzi,zjzi,zjWTjWiWi . Come con l'FM, si stima la W i invece di Q .l×KWiQ
La fattorizzazione FM di ha parametri K × l . La FM "consapevole della febbre" ha K × l × | Z | parametri. Un modello con tutte le interazioni ha i parametri K × ( K + 1 ) / 2 . QK×lK×l×|Z|K×(K+1)/2