我遇到了一个我不会命名的机器学习软件,它声称可以在没有领域知识的情况下从任何来源完全自动化特征工程过程,这意味着这一步几乎不需要数据科学家。现在我发现这种说法有点可疑,因为它违背了我所学的特征工程的常识。
但是考虑到我可能缺乏知识,我们可以自动化特征工程过程到什么程度?我可以想到一些通用方法,如统计方法(中位数等)或几种类型的编码(二进制、多项式等)用于分类变量,但谁能给我关于这个主题的最新技术方法的概述或指出我正确的方向?
我遇到了一个我不会命名的机器学习软件,它声称可以在没有领域知识的情况下从任何来源完全自动化特征工程过程,这意味着这一步几乎不需要数据科学家。现在我发现这种说法有点可疑,因为它违背了我所学的特征工程的常识。
但是考虑到我可能缺乏知识,我们可以自动化特征工程过程到什么程度?我可以想到一些通用方法,如统计方法(中位数等)或几种类型的编码(二进制、多项式等)用于分类变量,但谁能给我关于这个主题的最新技术方法的概述或指出我正确的方向?
根据我的经验,当人们声称拥有一种自动化的特征工程方法时,他们真正的意思是“特征生成”,而他们实际上在谈论的是他们已经构建了某种深度神经网络。公平地说,在有限的意义上,这可能是一个真实的主张。经过适当训练的深度神经网络可以处理单个特征或特征组之间的任意数量的成对相关性。也就是说,如果没有大量知道如何智能地处理不同类型的输入数据(例如,自由文本、图像等)的前期数据预处理工具,这一切都不可能实现。归根结底,自动执行某些操作需要大量的手动操作。
有几种方法可以做到这一点......对于您一直在谈论的工具(我不会提及它的名称),所有类型的预编码功能都会同时运行,它基本上是一个巨大的规则引擎。
1)最简单的方法是运行带有随机变量组合的迷你树(听起来像随机森林)......每棵对分类具有重要预测能力的树都是一个变量,节点是它的类别......
2)您可以构建自动编码器(https://en.wikipedia.org/wiki/Autoencoder),这很容易但很难解释,基本上深度学习所做的是自动特征工程,这就是为什么需要这么多时间计算 ;)
3)您可以进行符号回归(https://en.wikipedia.org/wiki/Symbolic_regression),可能使用遗传优化算法来选择变量和一些数学运算符来提出一个具有一定分类能力的好公式。因此,当您在公司资产负债表上有一些数据时,它会提供许多公式,例如 EBITDA...
好吧,在“特征学习”的标签下,在这个方向上正在进行一些严肃的研究。但据我所知,它还不够成熟,无法打包成一个软件工具,使手动软件工程变得多余。
但在这个方向上取得了重要的成功。具有深度神经网络的现代图像识别通常依赖于神经网络更深层自行计算的特征,而不是人类开发的手工特征。所以这并不完全是科幻小说。如果您想了解有关该主题的图像识别部分的更多信息,您可能需要观看该领域的主要研究人员之一 Andrew Ng 的精彩视频讲座。
看看 h2o 的无人驾驶 AI 或 featuretools.py,我不相信使用深度学习,而是在您的数据集上应用一系列数学函数,然后执行特征合成/合并特征。然后针对您的模型迭代测试自动生成的特征集并丢弃或改进。
所以是的,虽然您需要领域知识/专家来意识到添加或创建新数据可能会产生巨大影响,但出于探索目的,您绝对可以使用自动功能。