Pytorch 和优化多项式回归的自定义损失

问题描述

我有我正在尝试训练回归模型的数据集。数据集中值的模式或多或少总是相同的,可以从下图描述:

示例 1

enter image description here

示例 2

enter image description here

左边是空间中的原始值,右边是我整理出来后的原始值(遵循多项式模式)。现在,有人观看原始值图会认为顶部的稀疏点是异常值,但是对于我想要应用的研究来说并不存在并且非常重要。所以他们应该被考虑在内。为了回归这些值,我主要尝试了 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)

每个输出都可以在下面看到:

MAE

enter image description here

MSE

enter image description here

均方根误差

enter image description here

MAE+MSE

enter image description here

但是,正如您所看到的,所有未能解决高频值的问题。对于示例 2,我也得到了类似的输出。因此,我想问一下是否有办法通过自定义损失或其他方式解决此类值。

提前致谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)