特征工程师是深度学习方法的重要一步吗?

人工智能 机器学习 深度学习 数据预处理 特征工程
2021-10-23 09:54:20

我想问你,特征工程是否是深度学习方法的重要一步。

我所说的特征工程是指一些高级预处理步骤,例如查看直方图分布并尝试使其看起来像一个正态分布,或者在时间序列的情况下,首先使其静止(不填充缺失值或规范化数据)。

我觉得有了足够的正则化,与某些机器学习模型(SVM、随机森林等)相比,深度学习模型不需要特征工程,但我不确定。

2个回答

我认为,特征工程很重要,它是 ML 网络设计师工作的一部分。

网络设计涉及

  • 特征工程:从相似或完全不同的数据处理而来的网络输入中应该包含什么
  • 确定网络形状、层形状、层中神经元的类型等。
  • 再次进行特征工程(但标签),在输出中,输出应该是什么,回归值或类

并且可能还有问题中提到的相当简单的任务:填充缺失值,规范化数据,在代码中创建预馈送规范化步骤等。

不,只要您有足够的数据,特征工程就不是深度学习的重要步骤(编辑:与其他技术相比)。如果您的数据集足够大(因任务而异),您可以执行所谓的端到端学习

为了进一步澄清,根据这篇文章,用反向传播算法训练的深度神经网络基本上是在做一个自动化的特征工程。

我觉得有了足够的正则化,与某些机器学习模型(SVM、随机森林等)相比,深度学习模型不需要特征工程。

这基本上是正确的。请注意,您需要一个大型数据集。当大型数据集不可用时,您将做一些手动工作(特征工程)。

不过,首先查看您的数据总是一个好主意!

编辑

我还想在这里引用Rich Sutton的话:

我们希望 AI 代理能够像我们一样发现,而不是包含我们发现的东西。建立在我们的发现中只会让我们更难看到发现过程是如何完成的。

也许这种说法在深度学习中比在以前的技术中更正确,但我们还没有完全做到这一点。正如用户 nbro 在下面的评论中正确指出的那样,您可能仍需要对数据进行规范化、预处理、删除异常值等。因此,在实践中,您可能仍需要在一定程度上转换数据,具体取决于很多因素。