《百面机器学习》特征工程

每一件小事,因为对研究有了热爱,都可以成为工作的一部分,成为开启机器学习大门的钥匙。

  • 将算法研究应用到工作中, 与纯粹的学术研究有着一点最大的不同, 即需要从用户的角度思考问题。 很多时候, 你需要明确设计的产品特征、 提升的数据指标, 是不是能真正迎合用户的需求, 这便要求算法工程师能在多个模型间选择出最合适的那个, 然后通过快速迭代达到一个可以走向产品化的结果。 这种创新精神与尝试精神便是“匠心”一词在工作中的体现。
  •  在机器学习中,  没有充足的数据、 合适的特征, 再强大的模型结构也无法得到满意的输出。  对于一个机器学习问题, 数据和特征往往决定了结果的上限, 而模型、 算法的选择及优化则是在逐步接近这个上限。

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

为了消除数据特征之间的量纲影响,使不同指标处于同一数值量级,以便进行分析。

最常用的方法有:

  1. 线性函数归一化。
  2. 零均值归一化。

《百面机器学习》特征工程

但是数据归一化并不是万能的。比如决策树模型。因为决策树在进行节点分裂时,主要依据数据集D关于特征x的信息增益比,而信息增益比与特征是否经过归一化是无关的,因此归一化 并不会改变样本在特征上的增益。

Q2:在图像分类任务中,训练数据不足会带来什么问题?如何缓解数据量不足带来的问题?

模型信息一般来源于两个方面:

  1. 训练数据;
  2. 模型形成过程中的先验信息。

当数据不足时,要保证模型的效果,就需要更多先验信息:

  1. 作用在模型上的先验信息,例如让模型采用特定的内在结构、条件假设或添加其他约束条件;
  2. 作用在数据集上的先验信息,根据特定的先验假设去调整、变换或扩展训练数据,让其展现更多的更有用的信息,以利于后续模型的训练和学习。

在图像分类中,数据不足会表现在过拟合方面。解决方法:

  1. 基于模型的方法,采用降低过拟合风险的措施,如简化模型,添加约束项,dropout等;
  2. 基于数据的方法,数据增广,如随机旋转、平移、缩放、裁剪、填充、左右翻转等。添加噪声,颜色扰动,改变亮度、清晰度、对比度等。
  3. 除了直接在图像空间进行变换,还可以先对图像进行特征提取,然后在图像的特征空间内进行变换,利用一些通用的数据扩充或上采样技术。
  4. 借助已有的其他模型或数据来进行迁移学习。