机器学习之特征选择

       特征选择的本质就是在数据做处理之前先做一次预处理,把有用的特征筛选出来,没用的特征就扔掉。

       举个例子,我要区分男女,但我现在有一些数据,比如身高,体重,年龄,电话号码,家庭住址。这些信息我如果能在作处理之前先进行一次筛选,把年龄,电话,住址筛去的话就可以:

 压缩数据
    加快通信传输,节省储存资源

 算法效率
    简化计算,加快速度
    提升精确度
    发现数据潜在本质特征

所以,特征选择其实要做的工作就是将原本样本的D个特征筛选成d个特征的处理过程

同样,我们从图中可以看到整个过程我们需要进行子集选择和子集评价两个步骤,特征选择也主要分成了三种方案

Filter    根据每个特征对分类贡献的大小,定义其重要度,并根据这个来构成特征子集。还需要设立阈值来作为停止准则。
    (子集—评价函数)
Wrapper    依赖于学习过程,代入后端分类器看结果
    (子集—后端—看识别率)
Embedd    在学习机训练过程中通过优化一个目标函数在分类训练器中顺便实现了特征选择。

 

首先,对于特征子集的选择,我们可以用以下几种方法

1. 穷举    比如从五个特征中选取两个则需要 C_{5}^{2}  这10此计算。   这个办法计算量大,只适合适合维度(特征)小(少)的 
2. 单独最优特征组合    对每个维度进行评估,分别计算,找前d个单独最优      这个办法的缺点是存在特征冗余(前3个特征相关性很大甚至描述的是一回事,就会占了后面特征的名额)
3. 前向序贯,后向序贯
   前:每次加入一(K)个特征,使新的特征组合最优    但是一旦增加无法挽回
   后:每次减去一(K)个特征,使新的特征组合最优    但是一旦删除无法挽回
   演变:L-R法  要么多加,要么多减,还可以把L和R分成Z步进行

第二,特征子集评价的方法

1. 可分性度量    根据类别可分性的程度,判断特征选择的好坏(常用于filter框架下)
    评价准则:距离准则      概率准则      熵可分准则

2. 学习算法精度度量      根据学习算法的精确度,判断特征选择的好与坏(用于wrapper框架下)本质就是把所选的子集直接带入后面分类模型看看结果怎么样。

可分性度量,距离准则:

依赖于类内类间的距离度量

例如上图对于黄蓝两类样本我们要水平和垂直两个方向筛选成一个方向,于是我们往两个轴投影发现水平方向上的投影类间距离很大,类内距离小两个分类很明显。于是我们就选择水平方向维度。当然对于不同的维度我们都有相应的计算公式

其中分子是类间距离(越大越好),分母是类内距离(越小越好)。一维的时候和线性鉴别中的fisher鉴别目标函数一致
    tr是求和,数学定理:矩阵特征值的和=其对角线的和
 

实际举例

可分性度量    基于概率分布的可分性判据:

其本质就是从类别概率密度讨论类别之间的交叠程度

可分性度量    基于熵可分性判据

Filter的特征选择中还有一类特殊的relief算法。

其特点是,不区分子集,但是有类别标签。初始化权重向量(每个维度的重要性评判)对于任意样本点X,都可以找出离他最近的标签子集,从而对自己分类,最终通过设定阈值来选取前d个征子集

 

为了解决之前的特征冗余问题,我们可以使用CFS这种特殊的特征选择办法,但是它的缺点是无法计算连续函数,只能计算离散函数,如果要计算连续函数需要将其做离散预处理才可以。但是他可以关注特征与特征之间的相关性,从而解决冗余问题。

为了更加的完善这一方法我们还可以使用其进化版DFS。这种算法既可以解决冗余问题,又可以在连续和离散性函数上实现,唯一的缺点就是特征子集的个数不是最优。但综合来看是比较合适的算法。

这左右两部分,是对于i>=2和i=1的讨论。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值