机器学习之特征选择之RElief算法&wrapper特征选择

#创作这篇的原因是老师授课时我没有认知听讲,下课后怎么看ppt都不是很理解RElief算法的思想,即便能知道计算步骤,可是也不理解为什么要这么做,网络上也没找到很好的资源,于是计划自己写一篇介绍此算法的文章,附带例题(也就是老师布置的作业)

浅谈关于特征选择算法与Relief的实现-阿里云开发者社区 (aliyun.com)

(上文主要介绍了特征选取的必要性)

特征提取是分类问题最重要的预处理操作之一。本次作业通过研究特征提取的方式帮助我们夯实靠机器学习解决问题的基础。

基于过滤器的特征选择方法使用评估函数通过特征的内部相关性来近似每个特征的重要性。

Relief 方法通过计算该特征内每对样本之间的内部距离来告诉每个特征的重要性。(内部距离如何体现对label的影响)

当两个样本属于同一类(nearest hit)时,重要性减去两个样本之间的距离。

Relief的思想:先将两个变量归一化,将各自的变化范围控制到一定范围之内(0-1),再比较谁发生变化能对结果产生更大的影响

Q1:以下这张表中我们有关于一个人发长鞋子大小性别等信息,我们如何使用Relief方法哪个特征对于人工智能来说更好用以判断人类的性别。

A1:在这里我们需要知道Relief方法是什么:我们直观上怎么凭借前两列的数据来评判结果呢?先将两列数据都化为一个单位吧。

主观上我觉得shoe size的大小变化更能牵动结果的变化,可是我要怎样用数学的方法表达这个性质呢,Relief算法通过比较相邻样本之间的特征差异来估计特征的重要性。它考虑了特征之间的相互关系,尤其是特征与类标签之间的关系,从而可以识别出对目标变量有重要影响的特征。

算法步骤:

  1. 初始化:为每个特征赋予初始的重要性分数。

  2. 对每个样本:计算该样本与其最近邻的同类样本(nearest hit)和最近邻的异类样本(nearest miss)之间的距离。这个距离被用来更新特征的重要性分数。(注意!!同类样本

  3. 更新特征权重:根据样本之间的距离更新特征的权重,使得同类样本的特征权重增加,异类样本的特征权重减小。

  4. 重复步骤2和3:重复这个过程直到所有样本都被考虑过。

  5. 特征选择:根据特征的权重分数进行排序,选择重要性较高的特征作为最终的特征子集。

Q2:Relief方法是靠什么找出每个特征的重要性的呢?请用文字叙述

Relief 方法中加号‘+‘和减号‘-’用法的具体含义。(提示:Relief 算法是在比较各个 Feature 直接的重要性,那么加上去的东西代表比较重要,这个东西为什么重要?减掉的东西代表对重要性而言是反作用,为何是反作用?)(1 分)

A2

我认为这个计算方法就是实现用数学的手段来分类的精髓。如果一个特征的变化对标签的区分能力差,那么我们减去同类标签样本之差的平方的值就会比特征的变化对标签的区分能力强的特征的同类标签样本之差的平方的值更大(可以看第一题中的表),而如果反之,减去的值就小。同理,异类标签样本之差的平方的值的大小表示了这一类特征对标签判别的能力的大小。换个角度想,因为某个特征的特征值取值为0-1,如果它变化很大都不能很好的改变对标签的判断,那不就是说这个特征对标签的区分能力不好吗?所以要减去同类标签下最邻近样本的差的平方,加上不同标签下最邻近样本的差的平方。如果一个特征的区分能力不强,就会出现下面这种(头发一栏)(0.75-0.25)^2的情况(我的意思是会减去的值会比较大)表示区分能力不强的值。而如果区分能力强,那么不同标签的情况下一个特征之间的差距应该会越大,在relief算法中这个加上的值也就越大

计算结果如下:

注:为什么要使用最邻近的样本来相互比较:特征值被我们纠正后(normalization,纠正很重要),想要知道哪个特征影响更大,就是通过尽量控制变量的变化来比较特征变化的规律的。因此要选择最相邻的样本。算法中加上的是不同标签下最邻近的特征之差的平方,减去的是同类标签下最邻近的特征之差的平方。特征区分能力越好,那么这两个值中前者应该越大,后者应该越小。

wrapper特征选择

.基于wrapper的特征选择方法的思想就是从原有的特征系列中提取一定数量的特征进行训练,并分别计算不同特征子集下对结果的预测的准确性,选择准确度最高的特征子集作为特征选取的结果。算法思想也比较淳朴。在这里就不过多阐述了,有兴趣的同学们可以自己去搜集相关资料

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值