在准备神经网络数据时,数据依赖性是否相关?

数据:当我有N行数据如(x,y,z),其中逻辑上f(x,y)=z,即z依赖于x和y,就像我的情况(设置1,设置2,信号)。不同的x和y可能会导致相同的z,但这些z的含义可能不同。

有30个独特的设置1,30个设置2,每对(设置1,设置2)对应一个信号,因此共有900个信号值。

数据集:这些[900,3]的数据点被视为一个数据集。我有许多这样的数据集样本。我希望基于这些数据集进行分类,但需要将数据展平(将它们变成一行)。如果我将其展平,我将重复所有设置值(设置1和设置2)30次,即我将有一行包含3×900列的数据。

问题:在数据集中保留所有重复的设置1和设置2值是否正确?还是应该删除它们,只包含唯一值一次?即有一行包含30 + 30 + 900列。我担心这样做会失去信号对设置的逻辑依赖性。这是否相关?或者我不应该包含设置(例如,由于相关性)?


回答:

如果我理解正确的话,你是在一个每个观察值为[900,3]的样本上训练神经网络。你将其展平,得到一个3*900的输入层。其中一些值是其他值的函数结果。

重要的是哪个函数,如果是线性函数,神经网络可能无法正常工作:

来自这里

“如果输入线性依赖,那么你实际上是将同一个变量作为多个输入引入。这样做,你为网络引入了新的问题,即找出依赖关系,以便将重复的输入视为单一输入和数据中的一个新维度。对于某些依赖关系,找到重复输入的适当权重是不可能的。”

此外,如果你添加了依赖变量,你可能会使神经网络对这些变量产生偏见。
例如,如果你在[x1,x2,x3,average(x1,x2)]上运行LMS来预测y,你实际上是为x1和x2变量分配了更高的权重。
除非你有理由相信这些权重应该更高,否则不要包含它们的函数。

我未能找到任何支持的链接,但我的直觉是你可能需要在省略依赖值的同时减少输入层:

我记得在A. Ng教授的机器学习课程中提到,输入应该是进行预测所需的最小“合理”值量。
“合理”这个词有些模糊,但我理解为:如果你试图预测房价,包含面积、区域质量、距离主要枢纽,不要包含开放日当天的平均太阳黑子活动,即使你有这些数据。

我会删除重复项,我还会寻找其他可以省略的数据,可能对整个Nx[3,900]集合运行PCA。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注