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

支持向量机

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

在这简单介绍一下SVM。
设训练集 min \quad \frac{1}{2}||\omega||^2+C\Sigma_{i=1}^N\xi_i\\ s.t.\quad y_i(\omega\cdot x_i+b)\ge 1-\xi_i,i=1,2,...,N\\ \xi_i\ge0,i=1,2,...,N m i n 2 1 ω 2 + C Σ i = 1 N ξ i s . t . y i ( ω x i + b ) 1 ξ i , i = 1 , 2 , . . . , N ξ i 0 , i = 1 , 2 , . . . , N

而原始问题可以转化为对偶问题:
min\quad \frac{1}{2}\Sigma_{i=1}^N\Sigma_{j=1}^N\alpha_i\alpha_jy_iy_j(x_i\cdot x_j)-\Sigma_{i=1}^N\alpha_i\\ s.t.\quad \Sigma_{i=1}^Ny_i\alpha_i=0\\ 0\le \alpha_i\le C,i=1,2,...,N m i n 2 1 Σ i = 1 N Σ j = 1 N α i α j y i y j ( x i x j ) Σ i = 1 N α i s . t . Σ i = 1 N y i α i = 0 0 α i C , i = 1 , 2 , . . . , N
其中, min\quad \frac{1}{2}\Sigma_{i=1}^N\Sigma_{j=1}^N\alpha_i\alpha_jy_iy_j(x_i\cdot x_j)-\Sigma_{i=1}^N\alpha_i m i n 2 1 Σ i = 1 N Σ j = 1 N α i α j y i y j ( x i x j ) Σ i = 1 N α i 训练SVM分类器,得到 \qquad\cdots \qquad\cdots\qquad\cdots\qquad\cdots\qquad\cdots\qquad\cdots\qquad\cdots\qquad\cdots
{\{(x_i,y_i)\}_{i=1}^{N_l-1+N_{l}},j=\frac{l(l-1)}{2}-1,...,\frac{l(l-1)}{2};当v_i=l-1时,y_i=1,当v_i=l,y_i=-1} { ( x i , y i ) } i = 1 N l 1 + N l , j = 2 l ( l 1 ) 1 , . . . , 2 l ( l 1 ) ; v i = l 1 , y i = 1 , v i = l , y i = 1
3)循环一下过程直至S=[]:
支持向量机递归特征消除(下文简称SVM-RFE)是由Guyon等人在对癌症分类时提出来的,最初只能对两类数据进行特征提取。它是一种基于Embedded方法。支持向量机支持向量机广泛用于模式识别,机器学习等领域,SVM采用结构风险最小化原则,同时最小化经验误差,以此提高学习的性能。详细的SVM介绍请看我的另一篇博文《 线性支持向量机》在这简单介绍一下SVM。 设训练集{(xi,yi)}Ni=1\{(

Matlab基于 支持向量机 递归 特征 消除 ( SVM _ RFE )的回归数据 特征选择 算法,matlab代码,输出为选择的 特征 序号(Matlab完整程序和数据) Matlab基于 支持向量机 递归 特征 消除 ( SVM _ RFE )的回归数据 特征选择 算法,matlab代码,输出为选择的 特征 序号(Matlab完整程序和数据) Matlab基于 支持向量机 递归 特征 消除 ( SVM _ RFE )的回归数据 特征选择 算法,matlab代码,输出为选择的 特征 序号(Matlab完整程序和数据) 经过 特征选择 后,保留 特征 的序号为: 126 160 161 163 165 166 237 239 240 370 -----------------------误差计算-------------------------- 评价结果如下所示: 平均绝对误差MAE为:0.27933 均方误差MSE为: 0.15813 均方根误差RMSEP为: 0.39765 决定系数R^2为: 0.93392 剩余预测残差RPD为: 4.2631 平均绝对百分比误差MAPE为: 0.0032299
svm ()函数在建立 支持向量机 模型的时候有两种建立方式。简单地说,一种是根据既定公式建立模型;而另外一种方式则是根据所给的数据模型建立模型。 根据函数的第一种使用格式,针对上述数据建模时,应该先确定所建立的模型所使用的数据,然后再确定所建立模型的结果变量和 特征 变来那个。代码如下: library(e1071) data(iris) #建立 svm 模型 model <- svm (Sp...
经常遇到或用到 SVM 算法,不过都是用的别人的代码,并没有深入的研究理解过。感觉很不应该,今天记录一下自己的感受和理解。 之前对 SVM 的理解就是将数据映射到高维空间从而找到最优的分割平面。 处理二维数据时,为一条分割线,三维时就是一个超平面。当维度上升,那就是寻找更高维的超平面。二维空间 线性可分 如何确定哪条分割线是最优的?我们希望这条线把两类分的越开越好,也就是它离两类的距离都很大。
支持向量机 递归 特征 消除 SVM - RFE )是一种基于 支持向量机 的回归数据 特征选择 算法。其主要思想是通过逐步删除最不重要的 特征 来选择最佳的 特征 子集。 SVM - RFE 算法首先使用 支持向量机 对原始 特征 进行训练,并得到 特征 的权重系数。然后,它通过删除具有最低权重的 特征 来减少 特征 集的大小。经过每一轮的 特征 删除后,重新训练 支持向量机 ,并计算每个 特征 的权重。这个过程持续进行,直到选择出所需的 特征 数目为止。 SVM - RFE 算法具有以下优点: 1. 对于高维数据,它可以自动选择出最佳的 特征 子集,减少 特征 的维度,提高模型的泛化能力。 2. 它能够在 特征选择 过程中评估 特征 的重要性,过滤掉不相关的 特征 ,提高模型的效果。 3. 它可以处理非线性问题,通过核技巧将数据映射到高维空间。 然而, SVM - RFE 算法也存在一些缺点: 1. 算法的计算复杂度较高,需要进行多次的 支持向量机 训练和 特征 权重的计算。 2. 在 特征选择 过程中,可能会遇到一些困难,因为有些 特征 可能与其他 特征 相关,删除它们可能会导致信息丢失。 总之, SVM - RFE 算法是一种有效的 特征选择 方法,适用于回归问题。它通过 递归 地删除最不重要的 特征 ,选择出有价值的 特征 子集,提高了回归模型的性能。但需要注意的是,在使用该算法时,要根据具体的问题场景和数据集进行调参,以获得最佳的结果。