当使用线性回归或最小二乘法等算法时,具有重复或高度相关的特征可能对模型有害。对于基于树的模型,它们通常不会受到高度相关特征的强烈影响。与最小二乘法一样,没有数值稳定性问题。
但是神经网络会发生什么?大多数关于 NN 的文献都是针对图像、信号的,关于表格数据的内容并不多。
在表格数据神经网络模型中具有重复特征,是否会损害准确性?还是NN能够选择特征?
当使用线性回归或最小二乘法等算法时,具有重复或高度相关的特征可能对模型有害。对于基于树的模型,它们通常不会受到高度相关特征的强烈影响。与最小二乘法一样,没有数值稳定性问题。
但是神经网络会发生什么?大多数关于 NN 的文献都是针对图像、信号的,关于表格数据的内容并不多。
在表格数据神经网络模型中具有重复特征,是否会损害准确性?还是NN能够选择特征?
从理论上讲,它对准确性没有影响。
原因如下:我们已经在数学上知道 NN 可以逼近任何函数。所以假设我们有输入 X。X 是高度相关的,而不是我们可以应用去相关技术。主要的是,你会得到具有不同数字表示的 X`。NN 很可能更难以学习映射到输出 y。但是在理论上,您仍然可以更改架构,训练更长时间,您仍然可以获得相同的近似值,即准确性。
现在,Theory 和 Praxis 在 Theory 上是相同的,但在 Praxis 上是不同的,我怀疑这种架构调整等在现实中的成本会更高,具体取决于数据集。
根据在表格数据上使用 NN 的经验,变量过多似乎并不会直接对统计性能造成太大影响。然而,它对模型的内存使用、计算时间和可解释性有很大影响。减少内存使用和计算时间允许校准更多模型(更多随机初始化)并构建更好的集成。反过来,这允许稍微更好的性能,更重要的是对于更稳定的模型(即性能不依赖于随机初始化)。根据应用程序和谁将使用模型(数据科学家或操作人员),可解释性可能是特征选择的主要驱动力。(模型稳定性通常也意味着可解释性稳定性)。
除了仔细的探索性数据分析/基于先验专家的选择之外,NN 中变量选择的最实用方法是在网络校准过程中添加正则化。即,惩罚,通过倾向于将权重减少到 0 将充当特征选择。它可能需要进行一些超参数调整(校准多个 NN 并查看哪个值更好)。其他正则化技术(如 drop-outs)的并行使用通常有助于权重正则化的应用,并允许更坚固的模型。
似乎有一些正在进行的修剪工作(删除连接/神经元)似乎工作相似并取得了良好的效果。直观地说,它应该会更好地工作,因为它将适应 NN 架构。不确定这些技术是否在任何流行的库中实现。
另一种方法是后验。通过某些功能重要性,您可以删除总体上没有用的变量。您甚至可以迭代地执行此操作……但这需要大量时间和工作。
老实说,这些方法似乎可以在本地删除一些权重/非信息变量,但我不确定它们是否可以通过选择其中一个来完美删除有意义的特征的重复,比如树技术。关于重复的有意义特征的问题,我尝试对后验重要性做一些工作,以检查我是否可以通过查看相关重要性找到它们,但是对于超过 2 个变量之间的线性依赖关系,没有任何真正实用/可推广的东西。因此,您问题的真正答案可能是一个严格的多元 EDA 来删除过于相关的变量......
对于一般的解决方案,似乎有一些正在进行的工作是在主模型之前添加变量选择门(例如,参见这里:使用随机门的特征选择),但我还没有机会测试这样的东西。