Softmax training

  • This page focuses on the training data and process for a softmax deep neural network recommendation system.

  • Negative sampling is crucial to avoid "folding," where embeddings from different categories are incorrectly grouped together.

  • Negative sampling involves training the model on both positive (relevant) and negative (irrelevant) examples.

  • Compared to Matrix Factorization, softmax DNNs are more flexible but computationally expensive and susceptible to folding.

  • While Matrix Factorization is better for large-scale applications, DNNs excel at capturing personalized preferences for recommendation tasks.

The previous page explained how to incorporate a softmax layer into a deep neural network for a recommendation system. This page takes a closer look at the training data for this system.

Training data

The softmax training data consists of the query features \(x\) and a vector of items the user interacted with (represented as a probability distribution \(p\)). These are marked in blue in the following figure. The variables of the model are the weights in the different layers. These are marked as orange in the following figure. The model is typically trained using any variant of stochastic gradient descent.

Image highlighting training of a softmax deep neural network