SVM——核函数

我们知道,SVM相对感知机而言,它可以解决线性不可分的问题,那么它是怎么解决的呢?它的解决思想很简单,就是对原始数据的维度变换,一般是扩维变换,使得原样本空间中的样本点线性不可分,但是在变维之后的空间中样本点是线性可分的,然后再变换后的高维空间中进行分类。

线性可分时:

42bcba47129a4358b8b0f86d622f8bae.png

 求的最终结果:

fd381d14eb4a4fde8594fe09bc195353.png

 其中表示任选的一个支持向量

当然这是线性可分的情况,那么如果问题本身是线性不可分的情况呢,那就是先扩维后再计算,计算形式是一样的:

48facaab3504408395dbdf8b62ab798f.png 其中192c4afa080e45df979930ec4ef51168.png表示原来的样本扩维

### 如何根据数据特点选择合适的SVM核函数 #### 数据特性与核函数的关系 当特征的数量较大且接近于样本数量时,推荐使用逻辑回归(LR)或带有线性核的SVM模型[^4]。这是因为在线性可分的情况下,线性核能够有效地找到最优分割超平面。 对于特征较少但具有合理规模样本集的数据集来说,采用高斯径向基函数(RBF)作为核函数通常是更好的选择。这种情况下,RBF核可以映射输入空间到更高维度的空间,在那里即使原始特征不是完全线性的关系也能被较好地区分开来。 如果遇到特征数少而样本量极大的情形,则建议通过增加额外的人工设计特征使问题转化为前述的第一类情况——即特征数目相对较多的情形下再考虑使用其他类型的核函数。 #### 实践中的策略 实践中可以选择多种不同类型的核函数并运用交叉验证技术比较它们的表现,最终选取泛化能力最强的那个。这种方法允许探索各种可能性而不依赖于预先设定的知识假设。 另外一种方法是基于领域专业知识或者对特定应用场景的理解来进行初步筛选。如果有理由相信某些类型的决策边界更有可能适用于手头的任务,那么可以从这些候选者当中优先测试相应的核选项。 最后还可以尝试组合不同的基础核以创建复合型的新颖内积形式,这可能有助于捕捉更加复杂的模式结构,进而提升预测精度。 ```r library(e1071) # 使用线性核进行建模 model_linear <- svm(target ~ ., data = training_data, kernel = "linear") # 使用多项式核进行建模 model_poly <- svm(target ~ ., data = training_data, kernel = "polynomial", degree = 3) # 使用RBF核进行建模 model_rbf <- svm(target ~ ., data = training_data, kernel = "radial") # 计算混淆矩阵评估各个模型性能 conf_matrix_linear <- table(Predicted = predict(model_linear, test_data), True = test_labels) conf_matrix_poly <- table(Predicted = predict(model_poly, test_data), True = test_labels) conf_matrix_rbf <- table(Predicted = predict(model_rbf, test_data), True = test_labels) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值