题目标题

机器学习中,有哪些特征选择的工程方法?

难度:初级

机器学习
参考解析

数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已

  1. 计算每一个特征与响应变量的相关性:工程上常用的手段有计算皮尔逊系数
    和互信息系数,皮尔逊系数只能衡量线性相关性而互信息系数能够很好地度
    量各种相关性,但是计算相对复杂一些,好在很多 toolkit 里边都包含了这
    个工具(如 sklearn 的 MINE),得到相关性之后就可以排序选择特征了;
    2.构建单个特征的模型,通过模型的准确性为特征排序,借此来选择特
    征;
    3.通过 L1 正则项来选择特征:L1 正则方法具有稀疏解的特性,因此天然具
    备特征选择的特性,但是要注意,L1 没有选到的特征不代表不重要,原因
    是两个具有高相关性的特征可能只保留了一个,如果要确定哪个特征重要应
    再通过 L2 正则方法交叉检验*;
    4.训练能够对特征打分的预选模型:RandomForest 和 Logistic
    Regression 等都能对模型的特征打分,通过打分获得相关性后再训练最终
    模型;
    5.通过特征组合后再来选择特征:如对用户 id 和用户特征最组合来获得较
    大的特征集再来选择特征,这种做法在推荐系统和广告系统中比较常见,这
    也是所谓亿级甚至十亿级特征的主要来源,原因是用户数据比较稀疏,组合
    特征能够同时兼顾全局模型和个性化模型,这个问题有机会可以展开讲。
    6.通过深度学习来进行特征选择:目前这种手段正在随着深度学习的流行而
    成为一种手段,尤其是在计算机视觉领域,原因是深度学习具有自动学习特
    征的能力,这也是深度学习又叫 unsupervised feature learning 的原因。
    从深度学习模型中选择某一神经层的特征后就可以用来进行最终目标模型的
    训练了。