我有一个我试图训练回归模型的数据集。数据集中的值模式或多或少都是相同的,可以从下图进行描述:
左边是空间中的原始值,右边是我排序后的原始值(遵循多项式模式)。现在观察原始值图的人会认为上面的稀疏点是离群点,但是对于我想要应用的研究来说,这并不是非常重要的。因此,它们应该被考虑在内。对于回归值,我主要尝试了4种不同的损失函数,即MAE、MSE、RMSE和一个自定义函数,该函数是低误差值和高误差值上MAE和MSE的组合:
class CustomLoss(torch.nn.Module):
def __init__(self):
super(CustomLoss, self).__init__()
def forward(self, predicted, true):
errors = torch.abs(predicted - true)
mask = errors > 250
return torch.mean((0.5 * mask * (errors ** 2)) + ~mask * errors)
每种方法的输出如下所示:
但是,正如您所看到的,所有的测试都无法处理高频值。对于示例2,我也得到了类似的输出。因此,我想问,是否有一种方法可以通过自定义损失或其他方式来解决此类价值
提前谢谢
目前没有回答
相关问题 更多 >
编程相关推荐