特征选择

一、Relief

  \:   \:   \:   \:   \:   \:   \:   \: Relief算法最早由Kira提出,最初局限于两类数据的分类问题。Relief算法是一种特征权重算法(Feature weighting algorithms),根据各个特征和类别的相关性赋予特征不同的权重,权重小于某个阈值的特征将被移除。
  \:   \:   \:   \:   \:   \:   \:   \: Relief算法中特征和类别的相关性是基于特征对近距离样本的区分能力。算法从训练集D中随机选择一个样本R,然后从和R同类的样本中寻找最近邻样本H,称为Near Hit,从和R不同类的样本中寻找最近邻样本M,称为NearMiss,然后根据以下规则更新每个特征的权重:如果R和Near Hit在某个特征上的距离小于R和Near Miss上的距离,则说明该特征对区分同类和不同类的最近邻是有益的,则增加该特征的权重;反之,如果R和Near Hit在某个特征的距离大于R和Near Miss上的距离,说明该特征对区分同类和不同类的最近邻起负面作用,则降低该特征的权重。以上过程重复m次,最后得到各特征的平均权重。特征的权重越大,表示该特征的分类能力越强,反之,表示该特征分类能力越弱。
  \:   \:   \:   \:   \:   \:   \:   \: Relief算法的运行时间随着样本的抽样次数m和原始特征个数N的增加线性增加,因而运行效率非常高。
  \:   \:   \:   \:
在这里插入图片描述
  \:   \:   \:   \:
注:

  • 算法第1行:输入量是数据集 S S S,采样个数m和阈值 τ \tau τ
  • 算法第3行:将数据集按正负标记划分为两个集合 S + S^+ S+ S − S^- S(由此可见Relief只能应用在二分类问题上);
  • 算法第4行:初始化特征权重向量 W \mathbf{W} W
  • 算法第5-14行:循环次数是一开始设定的采样个数m,每次循环都要执行如下步骤:a.从数据集中随机采样得到样本点 x \mathbf{x} x,b.从正样本集合 S + S^+ S+中选择距离 x \mathbf{x} x最近的样本点 z + \mathbf{z}^+ z+ ,c.从负样本集合 S − S^- S中同样选择距离 x \mathbf{x} x最近的样本点 z − \mathbf{z}^- z,d.如果 x \mathbf{x} x z + \mathbf{z}^+ z+ 的标记相同,那么将 Near−hit设定为 z + \mathbf{z}^+ z+,Near−miss设定为 z − \mathbf{z}^- z,否则相反,e.根据上一步得到的Near−hit和Near−miss对权重向量 W \mathbf{W} W进行更新;
  • 算法第14行:计算每个特征与学习任务的相关度Relevance;
  • 算法第15-18行:如果第i个特征的相关度Relevance大于阈值 τ \tau τ,就将其作为相关特征保留下来,剔除那些低相关度的特征;
  • 算法第12-13行: 根据每次循环采样得到的 x \mathbf{x} x、Near−hit、 Near−miss以及 diff的计算方法,对权重向量中的每个分量进行更新。

  \:   \:   \:   \:   \:   \:   \:   \: 从算法第13行所示的权重更新公式可以看出, diff ( x i , n e a r − h i t i ) \text{diff}\left(x_i,near-hit_i\right) diff(xi,nearhiti) 越小代表样本点 x \mathbf{x} x在第i个维度上与相同标记的样本点距离越近,即第i个特征越有助于对样本点 x \mathbf{x} x进行正确分类, diff ( x i , n e a r − m i s s i ) \text{diff}\left(x_i,near-miss_i\right) diff(xi,nearmissi)越小代表第i个特征越不利于对样本点 x \mathbf{x} x进行正确分类,因此越是对当前学习任务有利的特征,其权重越大,相关度也越高,这正好符合Relief算法的根本目的。

  \:   \:   \:   \:
总结

  • Relief的时间开销随着采样次数以及原始特征数线性增加,所以它是运行效率很高的过滤式特征选择算法
  • Relief只针对二分类问题

二、Mrmr

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值