网教网

搜索
查看: 104|回复: 0

机器学习从零开始-SVM支持向量机

[复制链接]

2

主题

7

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2023-3-3 16:21:28 | 显示全部楼层 |阅读模式
SVM(支持向量机)是一种常用的机器学习算法,主要用于二分类和多分类任务。它是用于拟合数据分类边界的非线性分类器。SVM的目标是找到一个超平面,将样本数据完美地分类,并且该超平面尽量离正负样本数据点距离最远。
SVM中主要包括两种核函数:线性核函数和非线性核函数。线性核函数用于线性可分数据,而非线性核函数则用于线性不可分数据。
SVM的优点:

  • 对异常值有较好的鲁棒性。
  • 在高维空间中具有较强的分类性能。
  • 可以有效地处理大规模的数据。
  • 支持在线学习和内存有限的学习。
SVM的缺点:

  • 训练慢,特别是在大规模数据集上。
  • 对于数据的选择和核函数的选择非常敏感。
  • 对于大量数据和高维数据,SVM容易出现过拟合现象。
总的来说,SVM是一种强大的机器学习算法,在许多分类任务中都有很好的表现。
SVM的核心思想是寻找一个分割超平面,使得正样本和负样本与该超平面的距离最大。为了保证距离最大,SVM引入了支持向量,即正负样本与超平面距离最小的样本点。
首先,我们需要将原始数据映射到高维空间,这是因为有些数据可能在低维空间中是不可分的,但是在高维空间中可以完美地分类。映射的方法有很多,其中最常用的是核函数,如线性核函数,高斯核函数,多项式核函数等。
接下来,我们要寻找一个超平面,使得正样本和负样本与该超平面的距离最大。具体来说,我们可以使用极限最大间隔分类(Large Margin Classification),即构造一个超平面,使得正负样本的间隔尽量大,同时正样本和负样本的间隔也尽量大。
SVM的线性分类器采用线性核函数,线性核函数可以用于线性可分数据。非线性分类器采用非线性核函数,非线性核函数可以用于线性不可分数据。
SVM中的问题被称为最大间隔分类问题,通过数学方法,我们可以将其转化为一个凸优化问题,并通过求解该凸优化问题来寻找最优超平面。
此外,SVM还有一个强大的特性,即引入了惩罚项,可以对误分类的样本点进行惩罚,提高分类准确率。SVM在实际应用中经常采用二次规划算法求解。
需要注意的是,在使用SVM模型时,需要对数据进行预处理,以确保数据具有线性可分性或线性不可分性。此外,还需要考虑选择合适的核函数,并对模型进行调参,以获得最佳的分类效果。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表