Artificial Neural Networks¶
Elliot integrates, to date, 50 recommendation models partitioned into two sets. The first set includes 38 popular models implemented in at least two of frameworks reviewed in this work (i.e., adopting a framework-wise popularity notion).
Summary¶
Convolutional Matrix Factorization for Document Context-Aware Recommendation |
|
|
Outer Product-based Neural Collaborative Filtering |
|
DeepFM: A Factorization-Machine based Neural Network for CTR Prediction |
|
Deep Matrix Factorization Models for Recommender Systems. |
Neural Collaborative Filtering |
|
|
AutoRec: Autoencoders Meet Collaborative Filtering (Item-based) |
|
NAIS: Neural Attentive Item Similarity Model for Recommendation |
Neural Collaborative Filtering |
|
|
Neural Factorization Machines for Sparse Predictive Analytics |
|
Neural Personalized Ranking for Image Recommendation (Model without visual features) |
|
AutoRec: Autoencoders Meet Collaborative Filtering (User-based) |
Wide & Deep Learning for Recommender Systems |
ConvMF¶
-
class
elliot.recommender.neural.ConvMF.convolutional_matrix_factorization.
ConvMF
(data, config, params, *args, **kwargs)[source]¶ Bases:
elliot.recommender.recommender_utils_mixin.RecMixin
,elliot.recommender.base_recommender_model.BaseRecommenderModel
Convolutional Matrix Factorization for Document Context-Aware Recommendation
For further details, please refer to the paper
- Parameters
embedding_size – Embedding dimension
lr – Learning rate
l_w – Regularization coefficient
l_b – Regularization coefficient of bias
cnn_channels – List of channels
cnn_kernels – List of kernels
cnn_strides – List of strides
dropout_prob – Dropout probability applied on the convolutional layers
To include the recommendation model, add it to the config file adopting the following pattern:
models: ConvMF: meta: save_recs: True epochs: 10 embedding_size: 100 lr: 0.001 l_w: 0.005 l_b: 0.0005 cnn_channels: (1, 32, 32) cnn_kernels: (2,2) cnn_strides: (2,2) dropout_prob: 0
ConvNeuMF¶
-
class
elliot.recommender.neural.ConvNeuMF.convolutional_neural_matrix_factorization.
ConvNeuMF
(data, config, params, *args, **kwargs)[source]¶ Bases:
elliot.recommender.recommender_utils_mixin.RecMixin
,elliot.recommender.base_recommender_model.BaseRecommenderModel
Outer Product-based Neural Collaborative Filtering
For further details, please refer to the paper
- Parameters
embedding_size – Embedding dimension
lr – Learning rate
l_w – Regularization coefficient
l_b – Regularization coefficient of bias
cnn_channels – List of channels
cnn_kernels – List of kernels
cnn_strides – List of strides
dropout_prob – Dropout probability applied on the convolutional layers
To include the recommendation model, add it to the config file adopting the following pattern:
models: ConvNeuMF: meta: save_recs: True epochs: 10 embedding_size: 100 lr: 0.001 l_w: 0.005 l_b: 0.0005 cnn_channels: (1, 32, 32) cnn_kernels: (2,2) cnn_strides: (2,2) dropout_prob: 0
DeepFM¶
-
class
elliot.recommender.neural.DeepFM.deep_fm.
DeepFM
(data, config, params, *args, **kwargs)[source]¶ Bases:
elliot.recommender.recommender_utils_mixin.RecMixin
,elliot.recommender.base_recommender_model.BaseRecommenderModel
DeepFM: A Factorization-Machine based Neural Network for CTR Prediction
For further details, please refer to the paper
- Parameters
factors – Number of factors dimension
lr – Learning rate
l_w – Regularization coefficient
hidden_neurons – List of units for each layer
hidden_activations – List of activation functions
To include the recommendation model, add it to the config file adopting the following pattern:
models: DeepFM: meta: save_recs: True epochs: 10 factors: 100 lr: 0.001 l_w: 0.0001 hidden_neurons: (64,32) hidden_activations: ('relu','relu')
DMF¶
-
class
elliot.recommender.neural.DMF.deep_matrix_factorization.
DMF
(data, config, params, *args, **kwargs)[source]¶ Bases:
elliot.recommender.recommender_utils_mixin.RecMixin
,elliot.recommender.base_recommender_model.BaseRecommenderModel
Deep Matrix Factorization Models for Recommender Systems.
For further details, please refer to the paper
- Parameters
lr – Learning rate
reg – Regularization coefficient
user_mlp – List of units for each layer
item_mlp – List of activation functions
similarity – Number of factors dimension
To include the recommendation model, add it to the config file adopting the following pattern:
models: DMF: meta: save_recs: True epochs: 10 lr: 0.0001 reg: 0.001 user_mlp: (64,32) item_mlp: (64,32) similarity: cosine
GMF¶
-
class
elliot.recommender.neural.GeneralizedMF.generalized_matrix_factorization.
GMF
(data, config, params, *args, **kwargs)[source]¶ Bases:
elliot.recommender.recommender_utils_mixin.RecMixin
,elliot.recommender.base_recommender_model.BaseRecommenderModel
Neural Collaborative Filtering
For further details, please refer to the paper
- Parameters
mf_factors – Number of latent factors
lr – Learning rate
is_edge_weight_train – Whether the training uses edge weighting
To include the recommendation model, add it to the config file adopting the following pattern:
models: GMF: meta: save_recs: True epochs: 10 mf_factors: 10 lr: 0.001 is_edge_weight_train: True
ItemAutoRec¶
-
class
elliot.recommender.neural.ItemAutoRec.itemautorec.
ItemAutoRec
(data, config, params, *args, **kwargs)[source]¶ Bases:
elliot.recommender.recommender_utils_mixin.RecMixin
,elliot.recommender.base_recommender_model.BaseRecommenderModel
AutoRec: Autoencoders Meet Collaborative Filtering (Item-based)
For further details, please refer to the paper
- Parameters
hidden_neuron – List of units for each layer
lr – Learning rate
l_w – Regularization coefficient
To include the recommendation model, add it to the config file adopting the following pattern:
models: ItemAutoRec: meta: save_recs: True epochs: 10 hidden_neuron: 500 lr: 0.0001 l_w: 0.001
NAIS¶
-
class
elliot.recommender.neural.NAIS.nais.
NAIS
(data, config, params, *args, **kwargs)[source]¶ Bases:
elliot.recommender.recommender_utils_mixin.RecMixin
,elliot.recommender.base_recommender_model.BaseRecommenderModel
NAIS: Neural Attentive Item Similarity Model for Recommendation
For further details, please refer to the paper
- Parameters
factors – Number of latent factors
algorithm – Type of user-item factor operation (‘product’, ‘concat’)
weight_size – List of units for each layer
lr – Learning rate
l_w – Regularization coefficient
l_b – Bias regularization coefficient
alpha – Attention factor
beta – Smoothing exponent
neg_ratio – Ratio of negative sampled items, e.g., 0 = no items, 1 = all un-rated items
To include the recommendation model, add it to the config file adopting the following pattern:
models: NAIS: meta: save_recs: True factors: 100 algorithm: concat weight_size: 32 lr: 0.001 l_w: 0.001 l_b: 0.001 alpha: 0.5 beta: 0.5 neg_ratio: 0.5
NeuMF¶
-
class
elliot.recommender.neural.NeuMF.neural_matrix_factorization.
NeuMF
(data, config, params, *args, **kwargs)[source]¶ Bases:
elliot.recommender.recommender_utils_mixin.RecMixin
,elliot.recommender.base_recommender_model.BaseRecommenderModel
Neural Collaborative Filtering
For further details, please refer to the paper
- Parameters
mf_factors – Number of MF latent factors
mlp_factors – Number of MLP latent factors
mlp_hidden_size – List of units for each layer
lr – Learning rate
dropout – Dropout rate
is_mf_train – Whether to train the MF embeddings
is_mlp_train – Whether to train the MLP layers
To include the recommendation model, add it to the config file adopting the following pattern:
models: NeuMF: meta: save_recs: True epochs: 10 mf_factors: 10 mlp_factors: 10 mlp_hidden_size: (64,32) lr: 0.001 dropout: 0.0 is_mf_train: True is_mlp_train: True
NFM¶
-
class
elliot.recommender.neural.NFM.neural_fm.
NFM
(data, config, params, *args, **kwargs)[source]¶ Bases:
elliot.recommender.recommender_utils_mixin.RecMixin
,elliot.recommender.base_recommender_model.BaseRecommenderModel
Neural Factorization Machines for Sparse Predictive Analytics
For further details, please refer to the paper
- Parameters
factors – Number of factors dimension
lr – Learning rate
l_w – Regularization coefficient
hidden_neurons – List of units for each layer
hidden_activations – List of activation functions
To include the recommendation model, add it to the config file adopting the following pattern:
models: NFM: meta: save_recs: True epochs: 10 factors: 100 lr: 0.001 l_w: 0.0001 hidden_neurons: (64,32) hidden_activations: ('relu','relu')
NPR¶
-
class
elliot.recommender.neural.NPR.neural_personalized_ranking.
NPR
(data, config, params, *args, **kwargs)[source]¶ Bases:
elliot.recommender.recommender_utils_mixin.RecMixin
,elliot.recommender.base_recommender_model.BaseRecommenderModel
Neural Personalized Ranking for Image Recommendation (Model without visual features)
For further details, please refer to the paper
- Parameters
mf_factors – Number of MF latent factors
mlp_hidden_size – List of units for each layer
lr – Learning rate
l_w – Regularization coefficient
dropout – Dropout rate
To include the recommendation model, add it to the config file adopting the following pattern:
models: NPR: meta: save_recs: True epochs: 10 mf_factors: 100 mlp_hidden_size: (64,32) lr: 0.001 l_w: 0.001 dropout: 0.45
UserAutoRec¶
-
class
elliot.recommender.neural.UserAutoRec.userautorec.
UserAutoRec
(data, config, params, *args, **kwargs)[source]¶ Bases:
elliot.recommender.recommender_utils_mixin.RecMixin
,elliot.recommender.base_recommender_model.BaseRecommenderModel
AutoRec: Autoencoders Meet Collaborative Filtering (User-based)
For further details, please refer to the paper
- Parameters
hidden_neuron – List of units for each layer
lr – Learning rate
l_w – Regularization coefficient
To include the recommendation model, add it to the config file adopting the following pattern:
models: UserAutoRec: meta: save_recs: True epochs: 10 hidden_neuron: 500 lr: 0.0001 l_w: 0.001
WideAndDeep¶
-
class
elliot.recommender.neural.WideAndDeep.wide_and_deep.
WideAndDeep
(data, config, params, *args, **kwargs)[source]¶ Bases:
elliot.recommender.recommender_utils_mixin.RecMixin
,elliot.recommender.base_recommender_model.BaseRecommenderModel
Wide & Deep Learning for Recommender Systems
(For now, available with knowledge-aware features)
For further details, please refer to the paper
- Parameters
factors – Number of latent factors
mlp_hidden_size – List of units for each layer
lr – Learning rate
l_w – Regularization coefficient
l_b – Bias Regularization Coefficient
dropout_prob – Dropout rate
To include the recommendation model, add it to the config file adopting the following pattern:
models: NPR: meta: save_recs: True epochs: 10 factors: 50 mlp_hidden_size: (32, 32, 1) lr: 0.001 l_w: 0.005 l_b: 0.0005 dropout_prob: 0.0