内核惩罚型SVR用于自动功能选择

问题描述

这是我在这里的第一个问题,如果我丢失了一些东西,我们深表歉意。
我正在尝试不同的特征选择方法,但偶然发现了一篇论文,该论文提出使用内核修饰的支持向量回归进行自动特征选择。我的问题是我不确定如何对所描述的过程进行编码,因为不同的论文似乎对相同的概念使用了不同的术语,这对于像我这样的新手来说都感到困惑。我将在本文末尾附上论文的相关屏幕截图,以获取更多背景信息。
由于我纯粹出于好奇而执行此操作,因此我使用了R个数据集之一,到目前为止我的代码如下所示。我也很熟悉Python,以防万一它恰好可以更好地完成此任务。

#loading data and libraries
library(e1071)
library(caret)

boston = MASS::Boston
set.seed(123)
indexes = createDataPartition(boston$medv,p = .9,list = F)
train = boston[indexes,]
test = boston[-indexes,]

然后,我定义论文中详细介绍的值

#hyperparameter values
C <- c(2e-15,2e-14,2e-13,2e-12,2e-11,2e-10,2e-9,2e-8,2e-7,2e-6,2e-5,2e-4,2e-3,2e-2,2e-1,2e-0,2e1,2e2,2e3,2e4,2e5,2e6,2e7,2e8,2e9,2e10,2e11,2e12,2e13,2e14,2e15) #penalty parameter

gamma <- c(2e-15,2e15) # Gaussian kernel width
#gamma <- append(gamma,gamma/2)

epsilon <- c(0.01,0.1,0.5,1) #margin of tolerance

然后,我调整模型

tuning <- best.tune(method = svm,train.x = train,train.y = train$medv,validation.x = test,validation.y = test$medv,type = 'eps-regression',ranges = list(gamma = gamma,cost = C,epsilon = epsilon,kernel = 'radial'))
tuning

然后,本文提到使用“梯度下降策略,删除宽度分别为零的那些变量”,如所附图像2和3所示,这是我正在努力的部分。据我了解,调整后的模型参数可以用作方程式7的起点(在图2中),但是我不确定C2来自何处或从何处提取解决方元组,方程7也提到了这一点。

任何见解将不胜感激:)
谢谢!

Paper description pt. 1
Paper description pt. 2
Paper description pt. 3

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)