type
status
date
summary
slug
tags
category
icon
password

实验说明

实验目的

掌握线性SVM的基本原理和基本设计步骤;
掌握非线性SVM的基本原理和基本设计步骤。

实验数据

notion image
notion image

实验内容及说明

使用 exp5_1.mat 数据,构造线性 SVM 对数据进行划分,给出可视化的划分边界结果。
探究不同程度的惩罚因子 c 对样本分类误差的影响。
选做)构造使用 Gaussian kernels 的 SVM, 对exp5_2.mat 数据进行划分,给出可视化的划分边界的结果。

注意事项

编程语言不限,推荐使用python;
xxx.mat数据文件可以使用scipy.io进行读取处理,模型需要自己实现,不可使用已有的第三方库;实验报告中提供的代码需要有必要的注释。
 

前置内容学习

支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;SVM还包括核技巧,这使它成为实质上的非线性分类器。
SVM的的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。SVM的的学习算法就是求解凸二次规划的最优化算法。
 
SVM基础型推导
notion image
间隔(margin):两个异类支持向量到超平面的距离之和为:
是分离超平面,对于线性可分的数据集来说,这样的超平面有无穷多个(级感知机),但是几何间隔最大的分离超平面是唯一的,我们要寻找的就是使d最大化的参数,因此我们可以将SVM模型的求解最大分割超平面问题可以表示为以下约束最优化问题:
基础型对偶式推导
可以使用拉格朗日乘子法求解,构造拉格朗日目标函数:
notion image
首先令对w和b求偏导为0,讲求出的w*和b*代入原式,即可得到对偶式
 

实验步骤及内容

线性 SVM

实现线性SVM类:
可视化结果:
 

使用 Gaussian kernels 的 SVM

实现使用 Gaussian kernels 的 SVM类:
可视化结果:
 

实验结果与分析

线性SVM:
从这组可视化图像中,我们可以清晰地观察到正则化参数C对线性支持向量机分类效果的影响。
随着C值从0.01增加到1000,决策边界表现出明显的演变规律:
C=0.01时:决策边界最为"宽松",允许较多分类错误(可见明显误分类点),但保持了最宽的间隔(margin),可能具有更好的泛化能力,但训练集准确率较低
C=1000时:决策边界变得非常"严格",几乎不允许任何分类错误,但间隔变得极窄
notion image
 
使用 Gaussian kernels 的 SVM:
notion image
gamma(γ)是RBF核函数中的关键参数,其数学表达式为:
γ控制着单个样本的影响范围,与决策边界的"局部敏感度"直接相关,本质上决定了特征空间映射的复杂度
gamma参数通过调节RBF核函数的衰减速率,从根本上改变了模型对特征空间的感知方式。随着gamma增大,决策边界逐渐复杂化,模型的准确度逐渐增强,但也意味着模型的泛化能力逐渐下降,可能会出现过拟合。
 
集成学习 Esemble Learning 神经网络学习
Loading...
Rainnn
Rainnn
bling bling ⭐
Latest posts
TIME-MOE: BILLION-SCALE TIME SERIES FOUNDATION MODELS WITH MIXTURE OF EXPERTS
2025-7-6
(零基础)pycharm+服务器+anaconda虚拟环境|配置深度学习环境
2025-7-6
DIVE INTO DEEP LEARNING
2025-7-6
已解决| win11文件夹黑屏闪退
2025-7-6
从基于博弈树与α-β剪枝到使用自对弈强化学习训练的Gobang AI
2025-7-6
使用Hexo+Github搭建个人博客
2025-7-6
Announcement
wakuwaku!
你竟然发现了这里!!
创作不易,获取加🔒文章密码/试读文章,请微信关注公众号 Code & Cookies
notion image