【机器学习算法】5、支持向量机算法(一)

简介: 【机器学习算法】5、支持向量机算法(一)

简介


支持向量机(SVM)主要是用来解决数据分类的问题,而分类的目的则是构造一个分类函数或者分类模型,该模型能把数据库中的数据项映射到给定类别的某一类,从而可以预测未知类别。


支持向量机可以分为线性支持向量机(也称为硬间隔支持向量机)、非线性支持向量机(也称软间隔支持向量机)。主要的应用领域是文本分类、图像分类、数据挖掘、手写字符识别、行人检测、人脸识别等领域。


算法的流程



函数间隔于几何间隔


   在超平面确定的情况下,|wx+b|可以表示点x到超平面距离的远近,而通过观察wx+b的符号于类标记y的符号是否一致可判断分类是否正确,所以,可以用决策函数的正负性来判定或表示分类的正确性。于是可以引出函数间隔的概念。函数间隔(用表示)的定义为:

超平面(w,b)关于T中的所有样本点(xi,yi)的函数间隔最小值(其中,x为特征,y是结果标签,表示第i个样本)便为超平面(w,b)关于训练数据集T的函数间隔:

   但是,这样定义函数间隔存在问题,如果w和b成比例增加或者减小函数间隔且不变,但是实际超平面的间隔在发生变化,于是便提出了具有约束的函数间隔也就是几何间隔:

   几何间隔也可以根据几何关系得到,这里不做过多说明。


算法具体步骤的推导


   对于一个数据点进行分类,超平面离数据点的“间隔”越大,分类的确信度也就越大,为了使分类器的确信度尽可能地高,需要将所选择地超平面能够最大化这个“间隔”值。由前面的分析可以知道,函数间隔不适合用来做最大化间隔值,因此使用的使几何间隔作为优化的间隔。


1、线性可分SVM

   由于要求超平面离两类样本地距离要尽可能大,根据点到平面的距离公式,每个样本点到超平面的距离为:

   其中||w||为向量的L2范数,在这里超平面与样本之间是存在冗余的,所以在这里利用这个特点简化求解问题,对w和b加上如下的约束:

可以消除这个冗余,同时简化点到超平面距离的计算公式。

于此可以写出两类样本到超平面的距离间隔为:

   目标是使得间隔最大化,这样的话上式的结果等价于最小化如下的目标函数:

于是间隔最大化问题可以对偶为最小化如下的问题:

   可见上式就是一个带不等式约束的最优化问题,可以构造拉格朗日函数进行求解,所构造的拉格朗日函数如下:

在此引入拉格朗日的对偶问题,即:

先对于L(w,b,α)求关于参数的导数,分别如下:

   由对偶后先求解min问题,即令w,b的偏导数为0,求出极值条件下的值:

将导数代入拉格朗日函数得到:

于是优化问题也变成了

因为wx+b=yi,代入w*的值,可以得到b为:

于是可以得出决策函数为

综上所述,线性可分支持向量机的算法步骤如下:

(1)给定数据集T={(x1,y1),(x2,y2),(x3,y3),...,(xN,yN)},y={+1,-1};

(2)构造最优化问题:

   求解最优化的所有α

(3)计算参数w*和b

(4)得出超平面与决策函数


2、非线性SVM

   在线性不可分的情况下,支持向量机首先在低维空间中完成计算,然后通过核函数将输入空间映射到高维空间,最终在高维特征空间中构造出最优分离超平面,从而把平面上本身不好分的非线性数据分开。


下面直接给出非线性支持向量机算法的步骤:

综上所述,线性可分支持向量机的算法步骤如下:

(1)给定数据集T={(x1,y1),(x2,y2),(x3,y3),...,(xN,yN)},y={+1,-1};

(2)构造最优化问题:

   求解最优化的所有α

(3)计算参数w*和b

(4)得出超平面与决策函数


3、常见的核函数

(1)线性核(Linear Kernel)

(2)多项式核(Polynomial Kernel)

(3)径向基核函数(Radial Basis Function)

也叫高斯核(Gaussian Kernel)

(4)幂指数核(Exponential Kernel)

(5)拉普拉斯核(Laplacian Kernel)

(6)ANOVA核(ANOVA Kernel)

(7)二次有理核(Rational Quadratic Kernel)

(8)多元二次核(Multiquadric Kernel)

(9)逆多元二次核(Inverse Multiquadric Kernel)

(10)Sigmoid核(Sigmoid Kernel)

   以上几种是比较常用的,大部分在SVM,SVM-light以及RankSVM中可用参数直接设置。还有其他一些不常用的,如小波核,贝叶斯核,可以需要通过代码自己指定。

相关文章
|
5月前
|
机器学习/深度学习 数据采集 人工智能
【机器学习算法篇】K-近邻算法
K近邻(KNN)是一种基于“物以类聚”思想的监督学习算法,通过计算样本间距离,选取最近K个邻居投票决定类别。支持多种距离度量,如欧式、曼哈顿、余弦相似度等,适用于分类与回归任务。结合Scikit-learn可高效实现,需合理选择K值并进行数据预处理,常用于鸢尾花分类等经典案例。(238字)
|
10月前
|
机器学习/深度学习 数据采集 人工智能
20分钟掌握机器学习算法指南
在短短20分钟内,从零开始理解主流机器学习算法的工作原理,掌握算法选择策略,并建立对神经网络的直观认识。本文用通俗易懂的语言和生动的比喻,帮助你告别算法选择的困惑,轻松踏入AI的大门。
646 8
|
机器学习/深度学习 算法 数据可视化
利用SVM(支持向量机)分类算法对鸢尾花数据集进行分类
本文介绍了如何使用支持向量机(SVM)算法对鸢尾花数据集进行分类。作者通过Python的sklearn库加载数据,并利用pandas、matplotlib等工具进行数据分析和可视化。
1168 70
|
11月前
|
机器学习/深度学习 存储 Kubernetes
【重磅发布】AllData数据中台核心功能:机器学习算法平台
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
|
12月前
|
机器学习/深度学习 人工智能 自然语言处理
AI训练师入行指南(三):机器学习算法和模型架构选择
从淘金到雕琢,将原始数据炼成智能珠宝!本文带您走进数字珠宝工坊,用算法工具打磨数据金砂。从基础的经典算法到精密的深度学习模型,结合电商、医疗、金融等场景实战,手把手教您选择合适工具,打造价值连城的智能应用。掌握AutoML改装套件与模型蒸馏术,让复杂问题迎刃而解。握紧算法刻刀,为数字世界雕刻文明!
416 6
|
机器学习/深度学习 算法 数据安全/隐私保护
基于机器学习的人脸识别算法matlab仿真,对比GRNN,PNN,DNN以及BP四种网络
本项目展示了人脸识别算法的运行效果(无水印),基于MATLAB2022A开发。核心程序包含详细中文注释及操作视频。理论部分介绍了广义回归神经网络(GRNN)、概率神经网络(PNN)、深度神经网络(DNN)和反向传播(BP)神经网络在人脸识别中的应用,涵盖各算法的结构特点与性能比较。
|
机器学习/深度学习 人工智能 算法
机器学习算法的优化与改进:提升模型性能的策略与方法
机器学习算法的优化与改进:提升模型性能的策略与方法
2333 13
机器学习算法的优化与改进:提升模型性能的策略与方法
|
机器学习/深度学习 算法 网络安全
CCS 2024:如何严格衡量机器学习算法的隐私泄露? ETH有了新发现
在2024年CCS会议上,苏黎世联邦理工学院的研究人员提出,当前对机器学习隐私保护措施的评估可能存在严重误导。研究通过LiRA攻击评估了五种经验性隐私保护措施(HAMP、RelaxLoss、SELENA、DFKD和SSL),发现现有方法忽视最脆弱数据点、使用较弱攻击且未与实际差分隐私基线比较。结果表明这些措施在更强攻击下表现不佳,而强大的差分隐私基线则提供了更好的隐私-效用权衡。
325 14
|
人工智能 编解码 算法
使用 PAI-DSW x Free Prompt Editing图像编辑算法,开发个人AIGC绘图小助理
使用 PAI-DSW x Free Prompt Editing图像编辑算法,开发个人AIGC绘图小助理
424 0
|
机器学习/深度学习 人工智能 自然语言处理
解锁机器学习的新维度:元学习的算法与应用探秘
元学习作为一个重要的研究领域,正逐渐在多个应用领域展现其潜力。通过理解和应用元学习的基本算法,研究者可以更好地解决在样本不足或任务快速变化的情况下的学习问题。随着研究的深入,元学习有望在人工智能的未来发展中发挥更大的作用。

热门文章

最新文章