特征归一化
量纲指物理量的基本属性。基本量的量纲为其自身,一切导出量均可从基本量导出。为了解决指标不同量纲无法进行直接汇总的问题,一般在数据搜集完成之后还需要消除量纲影响,也成为同度量处理。相对化处理方法、函数化处理方法、标准化处理方法是目前最常用的方法。
在数据处理和分析的过程中,我们对数值类型的特征做归一化可以将所有特征都统一到一个大致相同的数值区间内。常有方法有:
- 线性函数归一化Min-Max Scaling,对原始数据进行线性变换,使结果映射到[0,1]范围内。
- 零均值归一化Z-Score Normalization,将原始数据映射到均值为0,标准差为1的分布上。
对数据进行归一化处理,优化目标的等值图会分布的比较均匀,容易更快速的通过梯度下降找到最优解。
因此数据归一化不是万能的,实际应用中通过梯度下降法求解的模型通常需要归一化,如神经网络、SVM、线性回归、逻辑回归等等;而决策树模型则并不适用,以C4.5算法为例,决策树节点分裂主要依靠信息增益比,而信息增益比与特征是否进行过归一化无关,因此不需要对决策树模型进行数据归一化的过程。
类别型特征
类别特征主要指有限选项内取值的特征,通常是字符串类型。除了决策树等少数模型支持直接处理字符串形式的输入,其他模型必须将类别性特征转换成数值型特征。一般有三种方法来处理类别型特征:
- 序号编码Ordinal Encoding,针对大小关系的类别型数据赋予一个数值id。
- 独热编码One-hot Encoding,针对不具备大小关系的类别型数据赋予一个多维稀疏向量。为节省空间,一般只有某一维取1,其余位置取0;为解决高纬度特征可能带来的问题,可以考虑配合特征来降低维度。
- 二进制编码Binary Encoding,先给每个类别赋予一个类别id,然后利用二进制对id进行哈希映射,最终得到0/1的特征向量。她的维数要小于独热编码,节省存储空间。
组合特征
为提高复杂关系的拟合能力,在特征工程中把一阶离散特征两两组合,构成高阶特征。构成的高阶特征过多,达到无法学习的规模时,一般采用K维的低维向量来表示离散特征,从而使得学习的参数规模变小,实际上这是推荐系统中的矩阵分解思路。
另一方面,不是所有的组合特征都是有意义的,我们需要找到一种有效的方法来帮助我们应该对哪些特征进行组合。其中一种方法就是基于决策树的特征组合寻找方法,每次在之前构建的决策树的残差上构建下一个决策树。
数据不足
模型的信息来源于两个方面,一个是训练数据中蕴含的信息,一个是人们的先验信息(包括构造、学习、推理等)。当训练数据不足时,则需要更多的先验信息来保证模型效果,比如模型采用特定结构,比如添加约束条件,比如对数据根据先验知识进行调整、变换和扩展。
以图像分类为例,训练数据不足主要带来的后果是过拟合。为提高模型的泛化效果,我们一般采用两种方法:
- 基于模型的方法,主要是采用降低过拟合的方法:简化模型、集成学习、Dropout超参数等。
- 基于数据的方法,主要是数据扩充:旋转、平移、缩放、裁剪、翻转;噪声;颜色变换;亮度、清晰度、对比度、锐度的调整。