Skip to main content

DeepFM (Neural Scoring)

Description

The DeepFM (Deep Factorization Machine) policy combines a Factorization Machine (FM) component and a deep neural network (DNN) component, sharing input feature embeddings.

  • FM Component: Models low-order interactions (linear features and pairwise/2nd-order interactions) efficiently using the dot product of feature embeddings.
  • Deep Component: An MLP that learns high-order, non-linear feature interactions implicitly from the shared embeddings.

This avoids the need for manual feature crossing (unlike the wide part of Wide & Deep) and captures a spectrum of interactions. Outputs from both components are combined for the final prediction.

Policy Type: deepfm Supports: scoring_policy

Configuration Example

scoring_policy_deepfm.yaml
policy_configs:
scoring_policy:
policy_type: deepfm
# Architecture
embedding_dim: 16 # Dimensionality of feature embeddings (shared)
deep_hidden_units: [128, 64, 32] # Layer sizes for the deep MLP component
activation_fn: "relu" # Activation for deep layers
dropout: 0.2 # Dropout rate for deep layers
# Training Control
learning_rate: 0.001 # Optimizer learning rate

References