特征工程
-
“数据决定了机器学习的上限,而算法只是尽可能逼近这个上限”,这里的数据指的就是经过特征工程得到的数据。特征工程指的是把原始数据转变为模型的训练数据的过程,它的目的就是获取更好的训练数据特征,使得机器学习模型逼近这个上限。特征工程能使得模型的性能得到提升,有时甚至在简单的模型上也能取得不错的效果。
-
为什么要对特征做归一化
特征归一化是将所有特征都统一到一个大致相同的数值区间内,通常为[0, 1], 适用于基于梯度更新的学习方法,能够减少抖动,稳定同步下降,加速收敛
归一化的方式通常有:- Min-Max Scale
\(X_{normal} = \frac{X - X_{min}}{X_{max} - X_{min}}\) - Z-Score Normalization
\(X_{normal} = \frac{X - \mu}{\sigma}\)
- Min-Max Scale
-
什么是特征组合?如何处理高维组合特征?
狭义的组合特征即将类别特征(Categorical feature)两个或者多个特征组合(数学里面的组合概念)起来,构成高阶组合特征。
假设用户数量M 和物品数量N为组合特征,那么学习的参数就是 m * n, 然而m和n 可能是千万级别的数量级,几乎无法学习m * n数量级的规模的参数。在这种情况下一种有效的方法就是对m,和n分别用k维的低纬向量来表示(embedding降维思路)。 那么学习的参数将从m * n,变成k * m+n * k, 这等价于矩阵分解 -
欧氏距离与曼哈顿距离的区别
欧式距离,表示两个空间点之间的直线距离 : \(d = (\sum_{k=1}^{n}|{a_{k} - b_{k}}|^2)^\frac{1}{2}\)
曼哈顿距离,所有维度距离绝对值之和: \(d = \sum_{k=1}^{n}(|a_{k} - b_{k}|)\)
用一张图来区分一下两者:
图中绿线是欧氏距离,红线是曼哈顿距离,蓝线和黄线等价于曼哈顿距离。 -
为什么一些场景中使用余弦相似距离
余弦距离,两个向量夹角的余弦: \(cos(A, B) = \frac{A * B}{||A||_{2}||B||_{2}}\),
关注的是向量之间的角度关系,并不关心他们的绝对大小, 余弦相似度衡量的是维度间取值方向的一致性,注重维度之间的差异,不注重数值上的差异,而欧氏度量的正是数值上的差异性。
取值范围: [-1, 1],相同1,正交0,相反-1,值越大,越接近。
稳定度量指标, 取值范围不受特征值大小,维度数量影响 -
One-hot的作用? 为什么不直接使用数字作为表示
One-hot 主要用来编码类别特征,即采用哑变量(dummy variables)对类别进行编码。它的作用是避免将类别用数字作为表示而给函数带来抖动。数字只是一种类别的表示,不可以进行比较或者距离计算,没有实际的空间表示意义, 而one-hot却可以
-
对于树形结构为什么不需要归一化
决策树的学习过程本质上是选择合适的特征,分类并构建树节点的过程;而分裂节点的标准是由树构建前后的信息增益、信息增益比以及基尼系数等指标决定的。这些指标与当前特征值的大小本身并无关系。