我在使用DNNRegressor训练我的模型。我查看了文档,试图找出这个封装器使用的损失函数,但没有找到。另一方面,是否可以更改这个损失函数?
感谢您的建议。
回答:
它使用L2损失(均方误差),如target_column.py中定义的:
def regression_target(label_name=None, weight_column_name=None, target_dimension=1): """创建用于线性回归的_TargetColumn。 参数: label_name: 字符串,标签字典中键的名称。如果标签是张量(单头模型),可以为null。 weight_column_name: 定义表示权重的特征列名称的字符串。在训练期间用于降低或提升示例的权重。它将乘以示例的损失。 target_dimension: 多标签的目标维度。 返回: _TargetColumn的一个实例 """ return _RegressionTargetColumn(loss_fn=_mean_squared_loss, label_name=label_name, weight_column_name=weight_column_name, target_dimension=target_dimension)
目前API不支持在这里进行任何更改。然而,由于它是开源的,您始终可以修改构造函数以在内部调用不同的函数,使用不同的损失函数。