使用 DNN 的加权线性回归(在 Keras 中)

数据挖掘 深度学习 喀拉斯 线性回归
2022-01-23 23:07:53

我有一个相当小的 225 点数据集。我有一个目标(标记为数字)、一个特征(归一化数字)和一个具有一组归一化权重的质量指数,这些权重描述了观察结果有助于目标和特征之间的线性关系的可能性。加权线性回归的良好数据。

数据集目前只有 225 个点,但它正在增长,所以我想探索 DNN 以提高加权线性方法的性能。Keras 能做到这一点吗?

我很好奇的是,DNN 训练中的权重优化过程本身可能会消除低质量指数的点,即那些对线性拟合没有贡献并导致高损失函数返回的点。

但我对深度学习很陌生,所以我的理解可能是错误的。

1个回答

这是一个建议。我不知道这是否会奏效。也许您可以使特征选择问题适应数据点选择问题。对于标准线性回归,LASSO技术可用于进行回归和特征选择。这个想法是通过在损失中添加一个术语来惩罚过多特征的使用。

在此处输入图像描述

其中 beta 是要学习的线性回归的系数。


只有一个特征 x_i 和你的质量指数 q_i (它们应该总和为 1)你的损失可以写成:

在此处输入图像描述

我看到了两种方法:

  • 尽量减少上面的损失。beta_1 和 beta_0 是唯一可以学习的系数。该过程不会消除低质量的点,但它们只会造成一点损失。

  • 将 q_i 视为可学习的参数。您不使用已有的质量指标。然后你可以在 q_i 上添加一个惩罚项。最终为 0 的人不会造成损失。损失将如下所示:

    在此处输入图像描述

我认为有很多细节需要解决。就像给 q_i 添加一个约束,比如 0 < q_i < 1。也许这不能轻易解决。我建议你使用 Pytorch。这将更容易实现。