特征工程是指从原始数据转换为特征向量的过程。特征工程是机器学习中最重要的起始步骤,会直接影响机器学习的效果,并通常需要大量的时间。典型的特征工程包括数据清理、特征提取、特征选择等过程。
scaled-value = (value-mean)/stddev
高维情形下经常会碰到数据样本稀疏、距离计算困难的问题(称为 “维数灾难”),解决方法就是降维。
常用的降维方法有:
特征选择是一个从给定的特征集合中选择与当前学习任务相关的特征的过程。特征选择中所谓的 “无关特征” 是指与当前学习任务无关,比如有一类特征称为 “冗余特征” 可以从其他特征中推演出来,它在很多时候是不起作用的,并且会增加学习过程的负担。
常见的特征选择方法大致可分为三类:过滤式、包裹式和嵌入式。
过滤式选择:先对数据集进行特征选择,然后再训练学习器,特征选择过程与- 后续学习器无关。典型算法为 Relief 算法。
包裹式选择:选择直接把最终将要使用的学习器的性能作为特征子集的评价标准。典型算法为 LVM(Las Vegas Wrapper)。
嵌入式选择:将特征选择过程与学习器训练过程融为一体,两者在同一个优化过程中完成,即在学习器训练过程中自动地进行了特征选择。典型算法为岭回归(ridge regression)、LASSO 回归(Least Absolute Shrinkage and Selection Operator)等。
良好特征的特点包括
特征组合(Feature Crosses)也称为特征交叉,指通过将两个或多个输入特征相乘来对特征空间中的非线性规律进行编码的合成特征。
比如,如下的问题显然是一个非线性问题:
但使用特征组合可以将其转换为一个线性模型,即创建一个新的特征
x3=x1*x2
y=b+w1x1+w2x2+w3x3
常见的特征组合方法有
借助特征组合,线性学习器可以很好扩展到大量数据,并有助于构建复杂模型解决非线性问题。