deepctr.models.afm module

Author:

Weichen Shen, weichenswc@163.com

Reference:

[1] Xiao J, Ye H, He X, et al. Attentional factorization machines: Learning the weight of feature interactions via attention networks[J]. arXiv preprint arXiv:1708.04617, 2017. (https://arxiv.org/abs/1708.04617)

deepctr.models.afm.AFM(linear_feature_columns, dnn_feature_columns, fm_group='default_group', use_attention=True, attention_factor=8, l2_reg_linear=1e-05, l2_reg_embedding=1e-05, l2_reg_att=1e-05, afm_dropout=0, seed=1024, task='binary')[source]

Instantiates the Attentional Factorization Machine architecture.

Parameters
  • linear_feature_columns – An iterable containing all the features used by linear part of the model.

  • dnn_feature_columns – An iterable containing all the features used by deep part of the model.

  • fm_group – list, group_name of features that will be used to do feature interactions.

  • use_attention – bool,whether use attention or not,if set to False.it is the same as standard Factorization Machine

  • attention_factor – positive integer,units in attention net

  • l2_reg_linear – float. L2 regularizer strength applied to linear part

  • l2_reg_embedding – float. L2 regularizer strength applied to embedding vector

  • l2_reg_att – float. L2 regularizer strength applied to attention net

  • afm_dropout – float in [0,1), Fraction of the attention net output units to dropout.

  • seed – integer ,to use as random seed.

  • task – str, "binary" for binary logloss or "regression" for regression loss

Returns

A Keras model instance.