为什么用二进制属性扩充训练数据更适合我们的数据集?

数据挖掘 线性回归 数据增强
2021-09-21 15:58:17

我们有一个包含多个特征的数据集 ~400,其中所有特征都有一个直方图,如下图所示(仅抽样了几个)

绘制第一个、最后一个、第 100 个和第 200 个特征/属性的值的直方图

我们的假设

我们认为这看起来像是一些分类数据,其中很少有特殊的负数,而其他时间为零。

因此,我们将每个特征视为值是否为零的类别,并创建了一个具有二进制值 0 或 1 的新列。我们对值是否是这个特殊的负数做了同样的事情。我们最后又多了一个专栏。

换句话说,我们做了同样的事情,就好像我们为每个属性 A、B 和 C 设置了三个类别,并且我们想用 one-hot-encoding 对它们进行编码。这里 A 为 0,B 是我们的特殊负值,C 是其他任何值。回想一下,在一种热编码中,您丢弃了三列之一,因为它是多余的。

测试我们假设的实验

第一个实验:只有原始数据的线性回归

第二次测试:二值化特征的线性回归(每个特征两列,我们有两倍的特征)

第三次测试:二值化特征加上原始特征的线性回归(每个特征2列加上原始结果是特征的三倍)

结果

结果是第一个实验的表现比预期的要差。

如果我们的理论是正确的,这些可以表示为类别,那么第二个实验在 RMSE 方面会表现得更好。事实上,第二个实验表现得更好。

令人惊讶的结果是,当将初始数据与我们的二值化数据(具有比原始数据多三倍的特征的增强数据集)相结合时,RMSE 甚至更低!
这是为什么?

2个回答

您的第三个模型在三个模型中容量最大。当你有价值观x具有特殊负值ξ 和指标101ξ, 线性模型可以拟合

αx+β10+γ1ξ
什么时候x>0你刚得到αx, 什么时候x=0你刚得到β, 什么时候x=ξ你得到αξ+γ; 因此您的模型可以从两个特殊值的正值任意值中获得正确的(线性)信号。

凭所提供的资料很难得出结论。但从理论上讲,这是绝对可能的。数据科学中有一种叫做维度诅咒的东西,它可以解释这些现象(我的意思是在增加特征数量的同时降低性能)。在机器学习中,休斯现象表明

...对于固定的设计模式样本,识别精度首先会随着对模式进行的测量次数的增加而增加,但随着测量复杂度高于某个最佳值而衰减。

也许这会给你一些直觉或指出你的实验设置的某些方面,这些方面可能与较低的结果有关。

希望这可以帮助!