特征选择之支持向量机递归特征消除(SVM-RFE)

SVM-RFE 是一种基于支持向量机的最大间隔原理进行特征选择的方法。通过迭代地移除对分类贡献最小的特征来缩小特征集,适用于两分类或多分类问题。

特征选择之支持向量机递归特征消除(SVM-RFE)


http://blog.youkuaiyun.com/littlely_ll/article/details/72139195
原创  2017年05月15日 14:01:14

支持向量机递归特征消除(下文简称SVM-RFE)是由Guyon等人在对癌症分类时提出来的,最初只能对两类数据进行特征提取。它是一种基于Embedded方法。

支持向量机

支持向量机广泛用于模式识别,机器学习等领域,SVM采用结构风险最小化原则,同时最小化经验误差,以此提高学习的性能。详细的SVM介绍请看我的另一篇博文《 线性支持向量机》

在这简单介绍一下SVM。 
设训练集 {(xi,yi)}Ni=1 ,其中 xiRD,yi{+1,1} xii 个样本,N为样本量,D为样本特征数。SVM寻找最优的分类超平面 ωx+b=0 。 
SVM需要求解的优化问题为: 

min12||ω||2+CΣNi=1ξis.t.yi(ωxi+b)1ξi,i=1,2,...,Nξi0,i=1,2,...,N

而原始问题可以转化为对偶问题: 

min12ΣNi=1ΣNj=1αiαjyiyj(xixj)ΣNi=1αis.t.ΣNi=1yiαi=00αiC,i=1,2,...,N

其中, αi 为拉格朗日乘子。 
最后 ω 的解为: 
ω=ΣNi=1αiyixi

两分类的SVM-RFE算法

SVM-RFE是一个基于SVM的最大间隔原理的序列后向选择算法。它通过模型训练样本,然后对每个特征进行得分进行排序,去掉最小特征得分的特征,然后用剩余的特征再次训练模型,进行下一次迭代,最后选出需要的特征数。而特征 i 的排序准则得分定义为: 

ci=w2i

两分类SVM-RFE算法: 
输入:训练样本 {(xi,yi)}Ni=1,yi{+1,1}  
输出:特征排序集R 
1)初始化原始特征集合S={1,2,…,D},特征排序集R=[] 
2)循环以下过程直至S=[] 
获取带候选特征集合的训练样本; 
用式 min12ΣNi=1ΣNj=1αiαjyiyj(xixj)ΣNi=1αi 训练SVM分类器,得到 ω ; 
用式 ci=w2i,k=1,2,...,|S| 计算排序准则得分; 
找出排序得分最小的特征 p=argminkck
更新特征集R=[p,R]; 
在S中去除此特征:S=S/p。

多分类的SVM-RFE算法

多分类的SVM-RFE算法其实和两分类的SVM-RFE算法类似,只不过在处理多分类时,把类别进行两两配对,其中一类为正类,另一类为负类,这样需训练 N(N1)2 个分类器,这就是一对一(One vs. One,简称OvO)的多分类拆分策略(详细请看周志华的《机器学习》的第三章线性模型的多分类学习),这样就变成了多个两分类问题(当然,也可以使用一对其余(OvR)),每个两类问题用一个SVM-RFE进行特征选择,利用多个SVM-RFE获得多个排序准则得分,然后把多个排序准则得分相加后得到排序准则总分,以此作为特征剔除的依据,每次迭代消去最小特征,直到所有特征都被删除。 
多分类SVM-RFE算法: 
输入:训练样本集 {(xi,vi)}Ni=1,vi{1,2,...,l},l  
输出:特征排序集R 
1)初始化原始特征集合S={1,2,…,D},特征排序集R=[] 
2)生成 l(l1)2 个训练样本: 
在训练样本 {(xi,vi)}Ni=1 中找出不同类别的两两组合得到最后的训练样本: 
Xj=  
{(xi,yi)}N1+Nj+1i=1,j=1,2,...,l;vi=1,yi=1,vi=j+1,yi=1  
{(xi,yi)}N2+Njl+3i=1,j=l,...,2l3;vi=2,yi=1,vi=jl+3,yi=1  
 
{(xi,yi)}Nl1+Nli=1,j=l(l1)21,...,l(l1)2;vi=l1,yi=1,vi=l,yi=1  
3)循环一下过程直至S=[]: 
获取用l个训练子样本 Xj(j=1,2,...,l(l1)/2) ; 
分别用 Xj 训练SVM,分别得到 ωj(j=1,2,...,l) ; 
计算排序准则得分 ck=Σjω2jk(k=1,2,...,|S|) ; 
找出排序准则得分最小的特征 p=argminkck ; 
更新特征集R=[p,R]; 
在S中去除此特征S=S/p.

参考 
【Isabelle Guyon, Jason Weston et.al】Gene Selection for Cancer Classification using Support Vector Machines 
【黄晓娟,张莉】改进的多类支持向量机递归特征消除在癌症多分类中的应用 
【周志华】机器学习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值