机器学习—支持向量机(SVM)

目录

一.简介

1.1概念

1.2优点

1.3缺点

二.支持向量机(SVM)

2.1工作原理

2.2相关数学原理

训练过程:

预测过程:

三.代码实现

3.1代码

3.2运行截图

四.总结


一.简介

1.1概念

        支持向量机(Support Vector Machine,简称SVM)是一种监督学习算法,用于数据分类和回归分析。其目标是找到一个最优的超平面,将数据集划分成不同的类别。在这个过程中,SVM关注的是距离超平面最近的一些数据点,这些数据点被称为支持向量。

1.2优点

  1. 泛化能力:SVM通过最大化分类间隔(margin)来训练模型,这有助于减少模型的泛化误差,提高模型在未知数据上的表现。

  2. 适用于小样本:SVM算法在样本数量较少的情况下依然有效,因为它不依赖于整个数据集,而是依赖于支持向量。

  3. 高维数据处理:SVM通过使用核技巧可以有效地处理高维数据,即将数据映射到高维特征空间中,使得原本线性不可分的数据在新空间中变得线性可分。

  4. 避免过拟合:由于SVM的目标是最小化分类误差的同时最大化分类间隔,这有助于防止模型过拟合。

  5. 鲁棒性:SVM在参数选择合适的情况下,对于噪声和异常值有较好的鲁棒性。

1.3缺点

  1. 计算和存储成本:SVM算法的训练时间复杂度较高,为O(n^2)或O(n^3),在处理大规模数据集时会非常慢。此外,如果使用核函数,还需要存储核矩阵,这会占用大量内存。

  2. 参数选择:SVM算法中有多个参数需要调整,如C(惩罚参数)、核函数类型及参数等,参数的选择对模型性能有很大影响,需要通过交叉验证等方法进行优选。

  3. 非线性问题的核函数选择:对于非线性问题,核函数的选择和参数设置对模型性能至关重要,但没有通用的规则来确定最佳的核函数,通常需要根据具体问题进行尝试。

  4. 预测速度:SVM的预测速度可能较慢,尤其是当有大量支持向量时。

  5. 对不平衡数据的敏感性:如果数据集是类别不平衡的,SVM可能不会很好地工作,因为它旨在最大化间隔,而不考虑类别的分布。

二.支持向量机(SVM)

2.1工作原理

  1. 数据映射:SVM首先将输入数据映射到一个高维特征空间,这通常通过使用核函数来实现。映射的目的是为了找到一个最优的超平面,使得不同类别的数据在这个高维空间中可以被线性分割。

  2. 寻找最优超平面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值