Machine learning 张量流估计:加权样本训练
我正在用TensorflowMachine learning 张量流估计:加权样本训练,machine-learning,tensorflow,deep-learning,Machine Learning,Tensorflow,Deep Learning,我正在用Tensorflow估计器训练一个模型,我的数据不平衡。我想通过加权每个训练示例来纠正这一点 在原始的张量流中,我们可以这样做。在Estimator中有没有一种简单的方法可以做到这一点?也许构建一个自定义的输入\u fn?我假设您正在进行分类。如果是,请使用: 权重列:由创建的字符串或\u数值列 tf.feature\u column.numeric\u column定义表示 重量。它用于在训练期间减轻体重或增加体重。 它将乘以示例的损失。如果是字符串, 它用作从功能中提取权重张量的键。
估计器训练一个模型,我的数据不平衡。我想通过加权每个训练示例来纠正这一点
在原始的张量流中,我们可以这样做。在Estimator
中有没有一种简单的方法可以做到这一点?也许构建一个自定义的输入\u fn
?我假设您正在进行分类。如果是,请使用:
权重列:由创建的字符串或\u数值列
tf.feature\u column.numeric\u column
定义表示
重量。它用于在训练期间减轻体重或增加体重。
它将乘以示例的损失。如果是字符串,
它用作从功能中提取权重张量的键。如果是
一个\u数值列
,原始张量由键权重列获取。键
,然后
weight\u列。对其应用归一化器fn
以获得权重张量
如果您正在构建自定义估计器模型,则应将数据集每个样本的类别权重作为特征转发给模型fn
,并且在定义损失函数op时,您可以将类别权重传递给权重
参数
示例:
tf.losses.softmax_cross_entropy(target, logits,weights=features['weight'])
权重参数的可能副本不再可用。然而,交叉熵的数学意味着您可以通过将目标值从1.0更改为较低的数字来降低示例的权重,或将目标值更改为较高的数字来提高示例的权重,从而获得相同的效果。如果您使用的是Keras和tf.Dataset API,如果您的输入输出一个3值元组->(输入,目标,权重)Hi,是否有tf2在模型中实现自定义权重的代码示例?