【机器学习】特征选择(过滤式、包裹式、嵌入式)

其他机器学习系列文章见于专题:机器学习进阶之路——学习笔记整理,欢迎大家关注。

1. 前言

  从给定的特征集合中选择出相关特征子集的过程,称为“特征选择”。特征选择是一个重要的数据预处理过程,进行特征选择的原因如下:

  1. 减少特征数量、降维,使模型泛化能力更强,减少过拟合;

  2. 去除不相关特征,降低学习难度。

  常见的特征选择方法大致可以分为三类:过滤式、包裹式和嵌入式。

2. 过滤式选择

  过滤式方法先对数据集进行特征选择,然后再训练学习器。特征选择过程与后续学习器无关,这相当于先对初始特征进行“过滤”,再用过滤后的特征训练模型。

  过滤式选择的方法有:

  1. 移除低方差的特征;

  2. 相关系数排序,分别计算每个特征与输出值之间的相关系数,设定一个阈值,选择相关系数大于阈值的部分特征;

  3. 利用假设检验得到特征与输出值之间的相关性,方法有比如卡方检验、t检验、F检验等。

  4. 互信息,利用互信息从信息熵的角度分析相关性。

3. 包裹式选择

  包裹式从初始特征集合中不断的选择特征子集,训练学习器,根据学习器的性能来对子集进行评价,直到选择出最佳的子集。

  包裹式特征选择直接针对给定学习器进行优化。

  优点:从最终学习器的性能来看,包裹式比过滤式更好;

  缺点:由于特征选择过程中需要多次训练学习器,因此包裹式特征选择的计算开销通常比过滤式特征选择要大得多。

包裹法的流程图

  包裹法中,特征子集的搜索问题,最容易想到的办法是穷举法,还可以在拉斯维加斯方法框架下使用随机策略进行子集搜索(Las Vegas Wrapper,LVW)。但是由于LVW算法中特征子集搜索采用了随机策略,每次特征子集评价都需要训练学习器,计算开销很大,如果初始特征数很多,算法可能运行很长时间都达不到停止条件,若有运行时间限制,可能给不出解。

  因此,我们通常使用的是贪心算法:如前向搜索(在最优的子集上逐步增加特征,直到增加特征并不能使模型性能提升为止)、后向搜索、双向搜索(将前向搜索和后向搜索相结合)。

4. 嵌入式选择

  在过滤式和包裹式特征选择方法中,特征选择过程与学习器训练过程有明显的分别。而嵌入式特征选择在学习器训练过程中自动地进行特征选择

  嵌入式选择最常用的是 L 1 L_1 L1正则化和 L 2 L_2 L2正则化(关于正则化,详见之前的博客【机器学习】一文读懂正则化与LASSO回归,Ridge回归)。

  正则化项越大,模型越简单,系数越小,当正则化项增大到一定程度时,所有的特征系数都会趋于0,在这个过程中,会有一部分特征的系数先变成0。也就实现了特征选择过程。

  逻辑回归、线性回归、决策树都可以当作正则化选择特征的基学习器,只有可以得到特征系数或者可以得到特征重要度的算法才可以作为嵌入式选择的基学习器。

参考文献:

  1. 特征工程之特征选择
  2. 特征选择 (feature_selection)
  3. 如何进行特征选择(理论篇)机器学习你会遇到的“坑”
  • 11
    点赞
  • 108
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
特征选择机器学习中的一个重要问题,它的目的是从原始数据集中选择最有用的特征,以提高模型的预测性能和解释能力。基于机器学习特征选择方法可以分为三类:过滤包裹嵌入式。 1. 过滤方法 过滤方法是在特征选择和模型训练之前进行的,它的主要思想是根据特征的统计学特性来评估特征的重要性。常用的过滤方法包括相关系数、卡方检验、信息增益等。过滤方法的优点是计算简单、速度快,但它忽略了特征之间的相互作用,不能保证最终选择的特征集合与模型的预测性能相关。 2. 包裹方法 包裹方法是一种直接使用模型进行特征选择的方法,它将特征选择看作一个搜索问题,通过探索不同的特征子集来选择最佳的特征集合。常用的包裹方法包括基于遗传算法、模拟退火、贪心算法等。包裹方法的优点是能够考虑特征之间的相互作用,但它的计算复杂度较高,需要大量的计算资源和时间,而且容易出现过拟合问题。 3. 嵌入式方法 嵌入式方法是将特征选择嵌入到模型训练过程中,通过优化模型的损失函数来选择最佳的特征集合。嵌入式方法常用的模型包括逻辑回归、支持向量机、决策树等。嵌入式方法的优点是能够充分利用模型的预测性能进行特征选择,同时也考虑了特征之间的相互作用,但它需要对模型进行调参,并且容易受到模型选择的影响。 总的来说,基于机器学习特征选择方法各有优缺点,需要根据具体的问题选择合适的方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值