机器学习之特征工程

特征工程:是对原始数据进行一系列的工程处理,将其提炼为特征,作为输入供算法和模型的使用。本质上将特征工程是一个表示和展现数据的过程,在实际操作中,特征工程旨在去除原始数据中的杂质和冗余,设计更高效的特征来刻画求解过程中和预测模型之间的关系。

1:特征归一化:

为什么要对数据类型的特征做归一化?

 

对数值类型的特征做归一化科技将所有的特征都统一到一个大致的相同的数值区间内,是个指标处于同一数量级,以便进行分析。常用的方法有两种:

(1)线性函数归一化

它对原始数据进行线性变换,使结果映射到【0,1】的范围

(2) 零均值归一化

它会将原始数据映射到均值为 0,标准差为1的分布上

当然,数据归一化并不是万能的。通过梯度下降算法求解的模型通常都需要归一化的,如:支持向量机,线性回归,逻辑回归,神经网络等模型,但决策树并不适合。

2:类别型特征

类别型特征:

主要指性别(男,女)血型(A,B,AB,O)等只能在有限选项内取值的特征

在对数据进行预处理时,应该怎样处理类别特征?

序号编码:

用于处理类别间具有大小关系的编码

如:成绩,可以分为低,中,高三档,并且存在:“高>中>低"的排序关系,序号编码会按照大小关系对类别型特征赋予一个数值id,如高为1中为2低为3

独热编码(one_hot):

用于处理类别见不具有大小关系的特征。如:血型 独热编码是一位有效编码 A型表示为(1,0,0,0)B型表示为(0,1,0,0)AB型表示为(0,0,1,0)O型表示为(0,0,0,1)

二进制编码:

二进制编码主要分两步:先用序号编码给每一个类别赋予一个类型id,然后将类别id对应的二进制编码作为结果以A,B,AB,O血型为例

血型 类别id 二进制编码 独热编码
A 1 0    0     1 1      0      0       0
B 2 0    1     0 0       1      0       0
AB 3 0     1    1 0       0      1       0
O 4 1     0     0 0       0      0       1

3.高维组合特征的处理:

什么是组合特征?如何处理高维组合特征?

为了提高关系的拟合能力,在特征工程中经常会把一阶离散的特征两两组合,构成高阶组合特征。处理方法就是将高维的组合特征用K维的低维向量表示。

4.组合特征

 

怎样有效的找到组合特征?

决策树的特征组合寻找方法

以点击预测为例,假设原始输入的特征包括年龄,性别,用户类型(试用期,付费),物品类型(护肤,食品,等)四个方面的信息,根据原始输入和标签(点击/未点击)构造出决策树

机器学习之特征工程

于是,每一条 从根节点到叶节点的路径都可以看成一种特征组合的方式,具体来说就有一下四种方式:

(1)年龄<=35 且性别为女

(2)  年龄<=35且物品类别=护肤

(3) 用户类型=付费且物品类型为食品

(4)用户类型=付费且年龄<=40

                         两个不同的样本呢对应的原始数据输入
是否点击 年龄 性别 用户类型 物品类型
28 免费 护肤
36 免费 食品

第一个样本可以根据上述的四个特征组合编码为(1,1,0,0)因为同时满足(1)(2),但不满足(3)(4).同理第二个样本可以编码为(0,0,1,1)

注:给定原始的输入该如何有效的构造决策树呢?可以采用梯度提升决策树

5.文本表示模型

词袋模型:

将每篇文章看成一袋子词,并忽略每个词出现的顺序,将整段文本以词为单位切开,每篇文章可以表示成一个长向量,向量中的每一维代表一个单词,该维的权重反映了这个词在原文中的重要程度

N-gram模型:

可以将一个单独吹西安的n个词组成的词组也可以作为一个单独的特征放到向量表示中去

主题模型:

用于从文本库中发现有代表性的主题(得到每个主图上面的次的分布特性)

6 .Word2Vec

Word2Vec是谷歌2013年突出,目前做常用的词嵌模型之一,它是一种浅层的神经网络,它有两种结构CBOW和Skip-gram

CBOW的目标是根据上下文出现的词语来预测当前词的生成概率,如1.3(a)所示,Skip-gram是根据当前词的概率来预测上下文各词的概率如1.3(b)所示

机器学习之特征工程

WordVec和LDA的区别:

LDA是利用文档中单词的共现关系来对单词按主题聚类,也可以理解维对“文档-单词”的矩阵进行分解,得到“文档-主题”和“主题-单词”两个概率分布;Word2Vec是对“上下文—单词”矩阵进行学习更多的融入了上下文共现的特征

7.图像数据不足时的处理方法

数据不足带来的问题:过拟合(训练样本表现不错,在测试集上泛化效果不佳

解决 方法:

一:基于模型

降低过拟合风险的措施如:简化模型,添加约束项一缩小假设空间,集成学习,Dropout超参数等

二:基于数据

(1)一定程度内的随机旋转,评议,缩放,裁剪,填充,左右翻转等,这些变换对于同一个目标在不同角度的观察的结果

(2)对图像中得像素添加噪声扰动,比如,椒盐噪声,高斯噪声等

(3)颜色变换:如在RGB的图像颜色空间进行主成分分析得到三个主成分的特征i向量

(4)改变图像的亮度,清晰度,对比度,锐度等

此外,已有的其他模型或数据进行迁移学习在深度学习中也很常见。