Artificial Neural Networks

Summary

ConvMF.convolutional_matrix_factorization.ConvMF(…)

Convolutional Matrix Factorization for Document Context-Aware Recommendation

ConvNeuMF.convolutional_neural_matrix_factorization.ConvNeuMF(…)

Outer Product-based Neural Collaborative Filtering

DeepFM.deep_fm.DeepFM(data, config, params, …)

DeepFM: A Factorization-Machine based Neural Network for CTR Prediction

DMF.deep_matrix_factorization.DMF(data, …)

Deep Matrix Factorization Models for Recommender Systems.

GeneralizedMF.generalized_matrix_factorization.GMF(…)

Neural Collaborative Filtering

ItemAutoRec.itemautorec.ItemAutoRec(data, …)

AutoRec: Autoencoders Meet Collaborative Filtering (Item-based)

NAIS.nais.NAIS(data, config, params, *args, …)

NAIS: Neural Attentive Item Similarity Model for Recommendation

NeuMF.neural_matrix_factorization.NeuMF(…)

Neural Collaborative Filtering

NFM.neural_fm.NFM(data, config, params, …)

Neural Factorization Machines for Sparse Predictive Analytics

NPR.neural_personalized_ranking.NPR(data, …)

Neural Personalized Ranking for Image Recommendation (Model without visual features)

UserAutoRec.userautorec.UserAutoRec(data, …)

AutoRec: Autoencoders Meet Collaborative Filtering (User-based)

WideAndDeep.wide_and_deep.WideAndDeep(data, …)

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
    batch_size: 512
    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
    batch_size: 512
    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
    batch_size: 512
    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
    batch_size: 512
    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
    batch_size: 512
    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
    batch_size: 512
    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
    batch_size: 512
    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
    batch_size: 512
    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
    batch_size: 512
    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
    batch_size: 512
    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
    batch_size: 512
    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:
  WideAndDeep:
    meta:
      save_recs: True
    epochs: 10
    batch_size: 512
    factors: 50
    mlp_hidden_size: (32, 32, 1)
    lr: 0.001
    l_w: 0.005
    l_b: 0.0005
    dropout_prob: 0.0