R语言基于模拟退火(Simulated Annealing)进行特征筛选(feature selection)
Posted Data+Science+Insight
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言基于模拟退火(Simulated Annealing)进行特征筛选(feature selection)相关的知识,希望对你有一定的参考价值。
R语言基于模拟退火(Simulated Annealing)进行特征筛选(feature selection)
特征选择的目的
1.简化模型,使模型更易于理解:去除不相关的特征会降低学习任务的难度。并且可解释性能对模型效果的稳定性有更多的把握
2.改善性能:节省存储和计算开销
3.改善通用性、降低过拟合风险:减轻维数灾难,特征的增多会大大增加模型的搜索空间,大多数模型所需要的训练样本随着特征数量的增加而显著增加。特征的增加虽然能更好地拟合训练数据,但也可能增加方差
使用特征选择的前提
1.训练数据包含许多冗余或无用的特征,移除这些特征并不会导致丢失信息。其中冗余是指一个本身很有用的特征与另外一个有用的特征强相关,或它包含的信息能从其它特征推演出来
2.特征很多但样本相对较少
特征选择的4个步骤
1.产生过程:产生特征或特征子集候选集合
2.评价函数:衡量特征或特征子集的重要性或者好坏程度,即量化特征变量和目标变量之间的联系以及特征之间的相互联系。为了避免过拟合,可用交叉验证的方式来评估特征的好坏
3.停止准则:为了减少计算复杂度,需设定一个阈值,当评价函数值达到阈值后搜索停止
4.验证过程:在验证数据集上验证选出来的特征子集的有效性
为了解决这一问题,科学家们想到了物理的退火降温的过程——
一个处于很高温度的物体,现在要给它降温,使物体内能降到最低。
我们常规的思维是,越快越好,让它的温度迅速地降低。
然而,实际上,过快地降温使得物体来不及有序地收缩,难以形成结晶。而结晶态,才是物体真正内能降到最低的
以上是关于R语言基于模拟退火(Simulated Annealing)进行特征筛选(feature selection)的主要内容,如果未能解决你的问题,请参考以下文章
零基础学启发式算法-模拟退火 (Simulated Annealing)
阿白数模笔记之模拟退火算法(simulated annealing,SA)
Python使用模拟退火(Simulated Annealing)算法构建优化器获取机器学习模型最优超参数组合(hyperparameter)实战+代码