当特征工程自动化,人工智能才真的“智能”

2017-09-22 08:52 it168网站

打印 放大 缩小

人类希望通过人工智能,可以从机械且繁琐的工作中解放出来,然而现实是,想要挖掘海量数据,实现判断、预测等能力,很大程度上还需要依靠人的经验去完成”特征工程“的工作。特征工程是一项庞大且耗时的工程,其中涉及到了模型选择、数据处理、泛化等多方面的机器学习知识,以及需要对业务有一定的理解,目前该领域人才的匮乏很难与大数据的快速发展相匹配。

简单来说,特征是数据抽取出来的对结果预测有帮助的信息;特征工程是为了使特征在机器学习算法和模型上发挥更优效果的过程,该过程往往需要数据科学家人工地找出最佳的特征组合,但在效果及效率上有一定的局限性。人工智能技术与服务提供商第四范式一直致力于打破这个瓶颈。近期,第四范式发布了其自主研发的FeatureGO算法,该算法实现了机器自动组合特征的功能,有效解决了人为添加组合特征门槛高、耗时长等问题。

做好特征组合,绝非易事

特征组合是一种加强特征描述能力,提升模型预测效果的方法。以个性化内容推荐为例,例如该模型有两个特征,一个特征是新闻类型,另一个特征是用户ID。现在只用新闻类型和用户ID做特征,那么模型只会学到对于不同新闻类型和不同用户ID对当前预测点击率的影响。而通过加入一个组合特征:新闻类型x用户ID,就能让模型学习到该用户对不同新闻的偏好,从而使模型的个性化预测能力得到提高。

然而,想要在数据中获得对模型有效的组合特征并非易事。在建模过程中,业务人员首先要对特征的含义有深入的了解,其次需要依靠个人经验,从成百上千个特征中进行特征组合,通过不断地尝试,找出有效的组合,达到优化模型效果的目标。但现实是,特征组合的工作犹如“大海捞针”一般,组合后的特征数量呈指数级增长,对技术人员来说耗时耗力,若将所有的组合全部丢给模型,现有的优化算法和计算能力都不能很好的支持,且并不是所有的组合都带来效果的提升,有的甚至会不升反降。

自动特征工程,最新的破局利器

如何自动发现有效特征、自动特征组合,弥补人工经验不足?目前,机器学习业界在研究自动特征工程问题时,主要分为隐式特征组合、半显式特征组合、显式特征组合三个方向。

隐式特征组合主要特点是对连续特征非常友好,最成功的应用场景是语音和图像。在这些原始信号是像素或是声波的问题中,深度学习通过神经网络层次化的特征表示及组合,获得了远超人类手工特征工程的效果。但是深度神经网络不擅于处理高维离散特征,同时缺乏可解释性,这样会导致其相对难用于其他算法之上,也很难给人明确的信息反馈。

半显式特征组合主要基于树模型,由于叶子节点的每一个分支并不是一种显式、直接的特征组合,而是在特定取值区间的组合。故半显式的特征组合,有一定可解释性,但仍无法直接体现特征相关性或者特征之间组合关系。作为非线性模型,树模型易于理解,效果好。但对离散的精细特征很难处理。

显式特征组合会明确指定哪些特征作为基础特征,沿着启发式搜索的思路,以正则化加贪心的方式进行。虽然该方向问题求解空间大,寻找最优特征组合较难,但其优势在于可解释性强,知道哪些特征间应该组合;同时该方法产生的特征可以用于其他机器学习的算法,成为它们训练的基础。

第四范式自主研发的FeatureGo算法便沿着显式特征组合的思路,实现了机器自动特征组合的功能。此外,FeatureGo也增加了模型的可解释性,提升易用性,进一步降低了机器学习的应用门槛。此前,第四范式非机器学习专业的运营人员,就利用封装了FeatureGo算法的第四范式先知平台,在一场大神聚集的Kaggle 比赛中跑出了前15的成绩。

第四范式一直在积极降低机器学习的使用门槛,让更多非专业建模人员能够使用机器学习,建立适合各个业务的高维模型。随着FeatureGo等顶尖机器学习算法的加入,第四范式先知平台将进一步推动人工智能在各个行业的应用普及。

责任编辑:陈群(QT0001)