当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.estimator.experimental.LinearSDCA用法及代码示例


线性估计器的随机双坐标上升助手。

用法

tf.estimator.experimental.LinearSDCA(
    example_id_column, num_loss_partitions=1, num_table_shards=None,
    symmetric_l1_regularization=0.0, symmetric_l2_regularization=1.0, adaptive=False
)

参数

  • example_id_column 包含示例 ID 的列名。
  • num_loss_partitions 工人人数。
  • num_table_shards 内部状态表的分片数,通常设置为与参数服务器的数量相匹配。
  • symmetric_l1_regularization 浮点值,必须大于或等于零。
  • symmetric_l2_regularization 浮点值,必须大于零,通常应大于 1。
  • adaptive 一个布尔值,指示是否使用自适应采样。

在创建 tf.estimator.LinearClassifiertf.estimator.LinearRegressor 时,此类的对象旨在作为优化器参数提供(尽管 LinearSDCA 对象不实现 tf.train.Optimizer 接口)。

SDCA 只能在以下条件下与LinearClassifierLinearRegressor 一起使用:

  • 特征列的类型为 V2。
  • 多价分类列未标准化。换句话说,估计器构造函数中的sparse_combiner 参数应该是"sum"。
  • 分类:二进制标签。
  • 对于回归:一维标签。

示例用法:

real_feature_column = numeric_column(...)
sparse_feature_column = categorical_column_with_hash_bucket(...)
linear_sdca = tf.estimator.experimental.LinearSDCA(
    example_id_column='example_id',
    num_loss_partitions=1,
    num_table_shards=1,
    symmetric_l2_regularization=2.0)
classifier = tf.estimator.LinearClassifier(
    feature_columns=[real_feature_column, sparse_feature_column],
    weight_column=...,
    optimizer=linear_sdca)
classifier.train(input_fn_train, steps=50)
classifier.evaluate(input_fn=input_fn_eval)

这里的期望是传递给训练和评估的input_fn_*函数返回一对(dict,label_tensor),其中dict的example_id_columnkey,其值为形状为[batch_size]的Tensor和dtype 字符串。 num_loss_partitions 在 [3] 的 eq (11) 中定义了 sigma'。如果 num_loss_partitions 大于或等于乘积 (#concurrent train ops/per worker) x (#workers) ,则保证(全局)损失的收敛。 num_loss_partitions 的值越大,收敛越慢。 tf.estimatornum_loss_partitions 的推荐值(目前每个工人有一个进程)是运行火车步骤的工人数量。默认为 1(单机)。 num_table_shards 定义内部状态表的分片数量,通常设置为与大型数据集的参数服务器数量相匹配。

SDCA 算法最初是在 [1] 中引入的,随后是 L1 近端步骤 [2]、分布式版本 [3] 和自适应采样 [4]。 [1] www.jmlr.org/papers/volume14/shalev-shwartz13a/shalev-shwartz13a.pdf [2] https://arxiv.org/pdf/1309.2375.pdf [3] https://arxiv.org /pdf/1502.03508.pdf [4] https://arxiv.org/pdf/1502.08053.pdf 此实现的具体细节在:https://github.com/tensorflow/estimator/tree/master/tensorflow_estimator /python/estimator/canned/linear_optimizer/doc/sdca.ipynb

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.estimator.experimental.LinearSDCA。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。