实 验 报 告实 验 名 称 : 机 器 学 习 : 线 性 支 持 向 量 机 算 法 实 现 学 员 : 张 麻 子 学 号 : * * *** * * **** 培 育 类 型 : 硕 士 年 级 : 专 业 : 所 属 学 院 : 计 算 机 学 院 指 导 教 员 : * * * * ** 职 称 : 副 教 授 实 验 室 : 实 验日 期 : ﻬ 一 、 实 验 目 得 与 要 求实验目得: 验证SVM( 支持向量机)机器学习算法学习情况要求:自主完成。二 、 实 验 内 容 与 原 理支持向量机(Support Vec tor Ma chine, SVM)得基本模型就是在特征空间上找到最佳得分离超平面使得训练集上正负样本间隔最大。SV M就是用来解决二分类问题得有监督学习算法。通过引入了核方法之后SVM 也可以用来解决非线性问题。但本次实验只针对线性二分类问题。SVM 算法分割原则:最小间距最大化,即找距离分割超平面最近得有效点距离超平面距离与最大。对于线性问题:假设存在超平面可最优分割样本集为两类, 则样本集到超平面距离为:需压求取:由于该问题为对偶问题,可变换为:可用拉格朗日乘数法求解。但由于本实验中得数据集不可以完美得分为两类,即存在躁点。可引入正则化参数C, 用来调节模型得复杂度与训练误差。作出对应得拉格朗日乘式:对应得KKT 条件为:故得出需求解得对偶问题:本次实验使用python 编译器,编写程序,数据集共有270个案例,选择其中70%作为训练数据, 剩下30%作为测试数据。进行了两个实验, 一个就是取C值为1,直接进行SVM训练; 另外一个就是利用交叉验证方法, 求取在前面情况下得最优C值.三 、 实 验 器 材实验环境:window s7 操作系统+python编译器。四 、 实 验 数 据 ( 关 键 源 码 附 后 )实验数据: 来自UCI机器学习数据库,以H eart Disease 数据集为例。五 、 操 作 方 法 与 实 验 步 骤1、选取C=1 ,训练比例7:3 ,利用python库s kle ar n下得SVM() 函数进行训练, 后对测试集进行测试;2 、选取训练比例7 :3 ,C=n p、linspace (0、0001 , 1 , 30)} 。利用交叉验证方法求出C值得最优解。六 、 实 验 结 果 与 分 析实验一得出结果:可见, 训练集得正确率就是0、867724867724 8677 ,小于1,说明训练集存在躁点,需要选择性得排出,才能得到较好得训练...