deepctr.estimator.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.estimator.models.afm.AFMEstimator(linear_feature_columns, dnn_feature_columns, 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', model_dir=None, config=None, linear_optimizer='Ftrl', dnn_optimizer='Adagrad', training_chief_hooks=None)[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.
use_attention – bool,whether use attention or not,if set to
False.it is the same as standard Factorization Machineattention_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 lossmodel_dir – Directory to save model parameters, graph and etc. This can also be used to load checkpoints from the directory into a estimator to continue training a previously saved model.
config – tf.RunConfig object to configure the runtime settings.
linear_optimizer – An instance of tf.Optimizer used to apply gradients to the linear part of the model. Defaults to FTRL optimizer.
dnn_optimizer – An instance of tf.Optimizer used to apply gradients to the deep part of the model. Defaults to Adagrad optimizer.
training_chief_hooks – Iterable of tf.train.SessionRunHook objects to run on the chief worker during training.
- Returns
A Tensorflow Estimator instance.