实验四 支持向量机分类和回归模型
一、 实验要求
1、深刻理解支持向量机学习器的原理,如带有不等式约束的目标函数的建立到拉格朗日对偶的转换,以及KKT调节,尤其是SMO算法的原理和流程。
2、掌握SVM引入核函数的动机和核函数思想,会选用合适的核函数,对数据集进行分类或回归。
3、理解软间隔和硬间隔,尤其是KKT条件的不同;针对正则化系数C,会进行调参和选择模型。
4、掌握支持向量回归的原理,其对偶形式和KKT条件、损失函数,会根据误差间隔带参数进行调参。
二、 实验内容
1、SVM分类模型
从网址(https://sci2s.ugr.es/keel/category.php?cat=clas)自行选择合适的二分类数据集,并对数据集进行适当的解释。
完成如下实验内容:
(1) 结合视频P43(https://www.bilibili.com/video/BV14p4y1h7ay?p=43),分别设计线性核函数、多项式核函数、高斯核函数。
(2) 对数据集采用三种核函数进行分类预测,并适当的进行参数设置。
(3) 采用sklearn中自带函数svm.SVC()(API: https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html)对模型进行训练,并进行交叉验证网格搜素或贝叶斯优化的方法,选择最优的参数。
(4) 对模型进行评价,对结果进行解释说明,对可视化绘图进行解释说明。
2、SVM回归模型
从网址(https://sci2s.ugr.es/keel/category.php?cat=reg)下载数据集concrete.dat,该数据集共有1030个样本,8个属性,因变量为ConcreteCompressiveStrength。
完成如下实验内容:
(1)使用sklearn库中的函数svm.SVR() (API: https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVR.html),建立支持向量回归,划分数据集为训练集和测试集,选择不同的核函数,分析不同核函数情况下的拟合优度和均方误差。
(2)选用其中一个核函数, 适当调参,分析模型。