机器学习中的“特征”到底是什么?

经常听到搞算法的人把“feature”挂在嘴边,这个 feature 可不是产品经理丢给开发的feature -- 产品的新特性,而是“特征”。在机器学习中,特征是被观测对象的一个独立可观测的属性或者特点。比如识别水果的种类,需要考虑的特征(属性)有:大小、形状、颜色等。要识别一个人是谁,可以用他的走路姿势、说话语气等来衡量。古人归有光在《项脊轩志》提到了“足音辨人”的技能,所以走路的脚步声也可以用来作为是别人的特征。

特征一般用数值而非文字等其他形态,主要是为了处理和统计分析的方便。特征的特点是:有信息量,区别性,独立性。背后的思路是通过一个抽象、简化的数学概念来代表复杂的事物。

特征向量

一个特征不足以代表一个物体,所以机器学习中使用特征的组合--特征向量。它是一个 n 维的数值向量,可以用来代表某个东西。比如人脸识别中,使用256维度的向量来代表一个人的面部特征。特征向量都是为了解决实际问题而专门设计的,比如进行人脸识别的场景和进行水果种类识别的场景,使用的特征向量肯定是不一样的。

用途

有了特征向量这种物体的数字化表示,就可以做检索,分类等应用了。

检索场景:收集公司中员工的面部特征值作为底库,在公司门口使用摄像头分析镜头前来人的特征,两者做比对就可以作为门禁使用。可以使用逃犯的照片作为底库,在演唱会门口分析参会人员的特征,就可以抓逃犯。

分类、预测场景:特征向量经常和权重做点乘来构建一个线性预测函数,可以用来做预测。比如预测人的性别,年龄,种族等。

极简例子

假设我们要实现《写给小朋友看的人工智能介绍》中的识别苹果和香蕉的逻辑。那么可以选择特征向量 fv 为 [形状狭长,是黄色]。形状狭长这个特征的取值范围为[0, 1],值越大代表形状越狭长。是黄色这个特征是离散值,是为1,不是为0。设置阈值为0.5,如果计算出来的结果大于0.5,说明是香蕉;反之结果小于0.5,是苹果。那么我们的预测机制是:先判断出当前照片的特征向量,如下图,由于形状是圆形,颜色为绿色,所以其特征向量 fv为:[0,0],然后再求fv和w的标量积:fv*w = 0, 所以结果是苹果。

总结一下,特征最早来源于统计学中如线性回归中的可解释变量,用途是为了用数字化的形式来区分实际场景中的物体,一般会要求特征有区分度、可衡量相似性的特点。

欢迎关注我的微信公众账号,会在第一时间更新

code

posted on 2020-10-03 10:03  生栋  阅读(1643)  评论(0编辑  收藏  举报

导航