实验报告实验名称:机器学习:线性支持向量机算法实现学员:张麻子学号:***********培养类型:硕士年级:专业:_所属学院:计算机学院指导教员:******职称:副教授实验室:—实验日期:—一、实验目的和要求实验目的:验证 SVM(支持向量机)机器学习算法学习情况要求:自主完成
二、实验内容和原理支持向量机(SupportVectorMachine,SVM)的基本模型是在特征空间上找到最佳的分离超平面使得训练集上正负样本间隔最大
SVM 是用来解决二分类问题的有监督学习算法
通过引入了核方法之后 SVM 也可以用来解决非线性问题
但本次实验只针对线性二分类问题
SVM 算法分割原则:最小间距最大化,即找距离分割超平面最近的有效点距离超平面距离和最大
对于线性问题:wTx+b=0假设存在超平面可最优分割样本集为两类,则样本集到超平面距离为:•「任+兀 ap=讪下旷=TW需压求取:a1+Yi(wTx+b)a由于该问题为对偶问题,可变换为:min^llwll2s+1+yi(wTx+b)1可用拉格朗日乘数法求解
但由于本实验中的数据集不可以完美的分为两类,即存在躁点
可引入正则化参数 C,用来调节模型的复杂度和训练误差
min^l|w||2 十送 Eis+1+yi(wTx+b)>1-ft>0作出对应的拉格朗日乘式:i=inn-工化(X(wTXj+&)_]+&)_工陆j^li—\对应的 KKT 条件为:0 心£=d;—"二[aiytXj=0=>必=工二]山刃嘉=-h 珂片=05X1Q 滋=°▽&£=C—Qj—/5j=>CLj+0i=Cv(ctj(M(甘丁旳十 A)—1—$)=0mvyi(必丁科一/
)=1 一&Vz0 或=0=>/J;=0V=0故得出需求解的对偶问题:口iajyiy-b1S
Yai/j=0,CMaiM0,本次实验使用 python 编译器,编写程序,数据集共有