我已经在几篇论文中看到了它,目前看到它是由 Francois Chollet 用 Python 深度学习编写的
深度学习消除了对特征工程的需求
这到底是什么意思?这是否适用于表格数据以及图像等感知数据?
我已经在几篇论文中看到了它,目前看到它是由 Francois Chollet 用 Python 深度学习编写的
深度学习消除了对特征工程的需求
这到底是什么意思?这是否适用于表格数据以及图像等感知数据?
大多数深度学习模型及其相关的校准过程都能够“执行”一些简单的特征工程任务,例如变量转换和变量选择(很难同时谈论所有模型)。通常,它更多的是关于如何构建模型而不是具体操作。这使得一些基本的特征工程任务变得无用。
例如,表格数据上的普通 NN 对线性数据转换大多不敏感,因为每个神经元都依赖于线性预测器。变量选择在某种程度上是通过权重校准完成的(可能需要一些正则化):如果与变量相关的所有权重都较低或为 0,则相当于将其移除。同样,一般来说,模型改进将增强这些属性。
但是,对于表格数据,我发现简单的特征工程至关重要,原因如下:
了解您的数据很重要。我发现特征工程是查看您的特征、发现数据质量问题并处理它们的重要步骤。通常,这将帮助您构建更好的模型。在某些情况下,理解数据并构建相关特征甚至会导致我放弃深度学习并构建更简单的模型。
完整的深度学习需要大量的计算资源(计算能力、内存)。一般来说,这些资源是有限的,通过事先去除不良预测因素,你会变得更好。总体而言,它甚至可以转化为更好的性能,因为您将能够使用有限的资源构建更复杂的模型。数据的非线性变换还可以通过减少“异常值”的影响来帮助校准过程的收敛。
深度学习模型很难解释。通过特征工程删除非预测特征并构建更多预测特征通常会帮助您实现这一目的。无论您的可解释性解决方案是什么,特征工程都可能使它变得更好。(请注意,对于更复杂的特征工程步骤,不一定如此)
对我来说,这是对普遍逼近定理的(挑衅性的,并且是故意的)重述。粗略地说,通用逼近定理说,给定足够多的参数,神经网络可以尽可能接近函数。
在这种情况下,这意味着您可以让神经网络弄清楚特征提取函数和回归函数的组成。
但是,如果您对重要的特征有深入的了解,您可以让您的神经网络休息一下,并为它做一些工作。当领域知识(物理、化学、生物学等)说您知道二次项很重要时,为什么要让网络弄清楚二次项很重要?也许,您可以使用更少的参数并降低过度拟合的风险。