获取数据-------特征选择---------训练学习器
1.为什么要特征选择
1)解决维度灾难
2)去除不相关特征降低学习任务的难度
在初始的集合中包括了所有重要信息的特征子集,在没有先验知识的前提下,只能遍历所有子集,但是在计算上是不可行的,会出现组合爆炸。可行的方法是 候选子集-----评价他的好坏-----基于评价结果产生下一个候选子集------在评价-------
第一个环节是子集搜索(向前,向后搜索)
第二个环节是子集评价(信息增益)
特征子集搜索机制+子集评价机制==特征选择方法
向前搜索+信息熵就很相似决策树
2.怎么进行特征选择
常见的三种方式:过滤式、包裹式、嵌入式
1)Relief(过滤式):该方法设计了一个相关统计量来度量特征的重要性
对应于属性j的相关统计量: 样本x到同类近邻的距离 <样本X到异类近邻的距离,说明属性j,对区分同类样本和异类样本是有益的,就增大属性J对应的统计分量。
对于不同样本得到的评估结果进行平均,就得到了各属性的相关统计计算分量,分值越大,对应属性的分类能力越强。
2)LVW(包裹式):在拉斯维加斯方法框架下使用随机策略进行子集搜索
直接针对给定的学习器进行优化,每次特征选择都需要训练学习器,计算开销很大。包裹式特征选择的目的:就是为给定的学习器选择最有利于其性能、量身定做的特征子集
随机产生特征子集------交叉验证评估学习器的误差--------当前集合误差<=上一个集合误差&& 当年特征集合数更少,则保留
3)嵌入式:将特征选择和学习器训练过程融合在一起,两者在同一优化过程中完成
基于L1正则化的学习方法就是一种嵌入式特征选择方法
L1范数(LASSO)和L2范数(Tikhonov)都能有助于降低过拟合,但前者会带来一个额外的好处,更易获得稀疏项,使求的特征W会有很少的非0项。
相同点:都用于避免过拟合
不同点:L1是向量各元素的绝对值之和,L1可以让一部分特征的系数缩小到0,从而间接实现特征选择。所以L1适用于特征之间有关联的情况。
L2是向量各元素的平方和, L2让所有特征的系数都缩小,但是不会减为0,它会使优化求解稳定快速。所以L2适用于特征之间没有关联的情况
L1范数:L1范数在正则化的过程中会趋向于产生少量的特征,而其他的特征都是0(L1会使得参数矩阵变得稀疏)。因此L1不仅可以起到正则化的作用,还可以起到特征选择的作用。
L2范数:L2范数是通过使权重衰减,进而使得特征对于总体的影响减小而起到防止过拟合的作用的。L2的优点在于求解稳定、快速。