深度学习中是否需要特征转换(power、log、Box-Cox)?

机器算法验证 神经网络 深度学习 数据转换
2022-04-01 13:32:52

我已经读过,在数据集遇到机器学习模型之前对数据集应用某些常见的特征转换是有益的。这些基于数据集特征的分布;例如,将对数变换应用于偏态的正态分布特征。这里有一些例子

现在据我了解,深度学习的主要好处是“自动特征工程”(又名“特征学习”)。我知道这包括功能组合;但我的预感说这包括上述学习到的特征转换?因此,当使用具有良好调整的超级计算机的深度网络时,特征转换是否可以安全地从人类的职责中移除——也就是说,扔掉所有这些 log/square/box-cox 的东西?

[编辑]额外:这是否也为您处理“特征选择”(决定包括哪些输入)?

2个回答

经验法则是:你拥有的数据越多,你就越不需要关心特征工程(这基本上是根据领域专业知识将一些先验知识输入模型)。

理论上(有足够数量的样本)你可以在不使用任何卷积的情况下解决 imagenet,只使用深度前馈网络。但是通过知道像素是空间相关的(这使得卷积将成为解决这个问题的更好方法),您可以设计一种数据效率更高的算法。

所以我看待特征工程 ala-box cox 的方式是,我们有一个需要正态性的模型,我们没有正常数据,所以我们进行转换以得到正常数据。因此,一方面,神经网络确实不需要标准化数据,所以为什么要进行特征工程师。另一方面,虽然神经网络最终可能会到达那里,但有时人类完成的特征工程可以极大地帮助初始收敛速度。例如,在多通道信号数据的情况下,预先进行傅里叶分解和计算互相关大大提高了神经网络进行分类的速度(举一个非常具体的例子)。或者举一个更理智的例子,如果你知道你的数据有很多异常值并且这些并不重要,那么删除异常值是一种特征工程。网络最终可能会在那时学会忽略,但这可能需要很长时间。因此,当您相当确定转换将突出您的数据的重要内容时,然后转换它,如果不是,那么可能不是。