购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

特征工程

【导读】 我们都知道,建筑工程是关于建筑的工程,即通过一系列基建动作搭建一座建筑。与之类似,特征工程就是关于“特征”的工程,更确切一点,就是通过一系列手段获取事物或现象的特征。

什么是特征工程

特征工程 (feature engineering),是指通过获取事物或现象的特征(数据),尤其是能够表述事物或现象的主要特征(数据),结合先验经验,对未知事物或现象进行判别。

日常生活中,我们经常有意或无意地进行着特征工程。

例如,小美跟着爸爸去公园玩,无意中一扭头,看到别人牵了一条很大的动物路过。小美问爸爸,她刚刚看到了一只高大、凶猛、多毛的动物。小美爸爸一听,就猜小美可能看到了一只藏獒。

这个例子中,小美和爸爸做了两件事:特征工程和事物判别。小美看了一眼并获得“一只高大、凶猛、多毛的动物”的认知过程,事实上是在做特征工程,即通过视觉获取这个动物的特征“高大、凶猛、多毛”;小美爸爸根据小美描述的特征数据,并结合先验经验,判断可能是一种叫“藏獒”的狗,小美的爸爸事实上在做事物判别。

当然,这里的特征工程不是泛指生活中对各种各样事物的特征获取,而是针对机器学习领域中的特征工程。机器学习就是让机器去学习人的推理与判断能力,以便人们可以把许多工作外包给机器去执行。这一过程通常由两个阶段构成:一个是机器学习阶段,另一个是机器判别阶段。机器学习是机器判别的前提,机器判别是机器学习的目的。

无论是机器学习还是机器判别,都需要给机器输入数据。

机器学习阶段,输入的数据是先验经验数据,包括事物或现象的特征数据和类别标签(特征数据与类别标签之间具有已知的对应关系)。人们首先根据大量已知事物或现象(简称“ 样本 ”)的特征数据与类别标签之间的对应关系,建立一套推理与判断规则(简称“ 算法模型 ”),然后把各样本的特征数据输入机器,期望机器通过算法模型的计算,输出与真实类别标签结果一模一样的答案,或者至少不要差别太大。

实际过程中,机器通过算法模型计算输出的结果会跟真实类别标签之间存在一定偏差(读者可以思考一下这个问题:为什么一定会有偏差)。如何减少这个偏差,让输出结果尽可能地接近真实类别标签呢?答案是调整算法模型的有关参数(类似传统收音机的调频按钮),然后再让机器根据各样本的特征数据进行计算输出,再测算输出结果与真实类别标签之间的偏差……如此不断反复,直到机器通过算法模型计算输出的结果与真实样本类别标签之间的偏差越来越小,并且小到某一个(规定)程度后,我们就把算法模型的有关参数固定下来,即将算法模型固定下来。这个过程就是机器学习。

有了机器学习阶段得到的算法模型,日后就可用此算法模型根据未知事物或现象的特征数据进行类别判别。这个过程就是机器判别。

可见,获取事物或现象的特征数据是整个机器学习与机器判别的前道工序。由于事物或现象种类繁多、千差万别,对事物与现象的特征数据的获取是无法靠人工来实现的,只能借助众多计算机技术手段。这些手段就构成了特征工程。

为什么机器学习需要特征工程

现实生活中,人们对事物与现象的认识都是基于特征的。反言之,基于特征,人们就可以对一个事物与现象进行定义、表示和判别。例如,针对问题“谁是比尔·盖茨?”,人们的第一反应是“微软的主要创始人、软件领域的天才、很富有、Windows操作系统的发明者”等。针对问题“华为是一家什么样的公司?”,人们的第一反应是“5G技术领先者、研发能力很强、高端人才汇聚地、员工薪资待遇好”等。几个关键特征就可以概括出事物与现象的本质了。

回到前述例子,小美给爸爸描述“高大、凶猛、多毛的动物”时,小美的爸爸很快就可以判断出可能是藏獒,而无须小美再去描述这个动物的肤色、毛的颜色、腿的长度、腿的条数、肚皮大小、眼睛大小、眼睛颜色、头的大小、走路的动作速度……事实上,其他特征数据可能不是藏獒独有的,对小美爸爸的判断起不到有效作用,甚至还会引起干扰,导致误判。

这说明一个问题:我们对事物或现象的判断,有时不需要太过于细节、全面的描述,只需要抽取适量关键特征就可以。机器学习试图模拟人的学习和思考能力,无疑,也只需要这些适量关键的特征数据即可。

另一方面,机器学习要处理的数据必须是计算机可以处理的定量化的数字数据,而特征数据正是可以定量化的数字数据。

例如,我们把“高大、凶猛、多毛的动物”表示为“1111”四个数字,分别代表“高大”“凶猛”“多毛”“动物”,而“0001”则分别表示“矮小”“温柔”“无毛”“动物”,“1111”和“0001”就是计算机可以处理的定量化的数字数据。

再则,如上所述,特征工程还可以过滤掉那些无效数据,一方面可以降低误判风险,另一方面可以减少计算机资源的消耗。

例如,一篇文章,如何通过机器学习来判断是关于哪方面的文章,是关于体育的还是关于娱乐或财经的,是关于褒义的还是关于贬义的,是关于表扬的还是关于批评的……事实上,我们可以根据其中的关键词(即特征数据)大致判断出来。一幅图像(由像素组成),我们也可以通过计算机技术提取图像的关键特征,然后再通过机器学习来进行图像识别。总之,我们无须把整篇文章的所有文字、字符、符号都输入到机器学习算法模型中,或是把整幅图像的成千上万的像素输入到机器学习算法模型中。一方面,不需要大量无效的数据;另一方面,可以充分降低计算机的计算和存储资源消耗,同时也可以提高机器学习的速度,还不影响机器学习的效果。

特征工程到底涉及哪些“工程”

一般地,特征工程就是从事物与现象的“ 原始数据 ”(如一篇文章、一幅图像、一段视频等)中提炼“ 特征数据 ”的过程。这个过程通常会涉及异常数据的清洗和样本数据的选取、特征提取、数据预处理、特征选择、数据降维等技术手段,每一个技术手段背后的逻辑原理与知识都很复杂。关于这方面的知识,有兴趣的读者可以参阅有关文献。

【扩展概念】

特征抽取、特征选择: 两者达到的效果是一样的,都是从已获取的特征数据集中继续提炼更为关键、更为主要的特征数据集(从多到少),目的是在不影响机器学习效果的情况下,尽可能地提高机器学习的效率,降低计算机的资源消耗。但是两者所采用的方式方法却不同,特征提取主要是通过特征属性间的关系,如组合不同的特征属性,以得到新的属性;特征选择是从特征数据集中进一步选择出子集,以用于机器学习。 7ww9+jd6GcOy772BjXq/U6Ll5qDjmDGkYiZUIVebBA3MY30j15rAgDYl9qN0GqJd

点击中间区域
呼出菜单
上一章
目录
下一章
×