机器学习算法—SVM支持向量机算法原理及阿里云PAI平台算法模块参数说明

本文涉及的产品
模型训练 PAI-DLC,100CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,每月250计算时 3个月
简介: 阿里云PAI平台提供了大量已经封装完成可以直接使用的机器学习算法模块,本文说明SVM支持向量机算法的原理并在原理的基础上说明PAI平台SVM支持向量机模块中参数设置的意义,根据原理介绍算法的优点和缺点

概述:

SVM支持向量机是最常用的机器学习分类算法之一,属于有监督学习。这种算法的本质是对数据进行二元线性分类,这种特点和其算法原理有直接关系,通俗来说SVM支持向量机在单一计算周期中只能将数据分成两类并且分隔的手段都表现为线性特征,如对于二维空间内的分隔为线,三维空间内为平面,更高维度的称为超平面。

算法原理:

1、通过散点图观察数据的分布情况,因为是一个二分类问题所以例子中的数据只有蓝色和红色两个类别
image.png
2、对数据进行二分类的话可以发现能够找到无数种分隔方式
image.png
image.png
image.png
3、既然分隔方式有无数种,SVM支持向量机算法的意义就在于通过计算来确定一个最优化的分隔方式,根据SVM算法原理中分隔的手段都表现为线性的特点,二维空间的分隔为线、三维空间的分隔为平面、更高维度的为超平面(不可见),因此算法在计算分隔方式的时候本质就是计算最优的分隔线、分隔平面和分隔超平面,以二维空间为例,计算出的分割线需要处于以下位置
image.png
4、以二维空间为例,如果分隔线处在最合适的位置,表现出的特征应该是其距离两个类别中最近的点的距离相等,即L1=L2
image.png
5、距离分隔线最近的两类中的点,即称为支持向量,如图中绿色标记的两个点即为本例子中的支持向量,可以得出结论:分隔线的确定只与支持向量有关,同其余样本无关
image.png
6、图中两条虚线间的距离为L1+L2,由于分隔线的分隔结果需要与两个支持向量的距离相等即做到L1=L2,因此计算的目的就是求出(L1+L2)/2最大值的过程
7、将分隔线以及更高维度的分隔平面和分隔超平面函数化,即分隔线的方程为Y=aX+b,需要根据第6步的原理计算出a和b以确定分隔线的方程
8、升维到平面和超平面的函数即为Y=WT*X+b,其中T是指W矩阵的转置,同理需要根据第6步的原理计算出WT和b来确定分隔平面和分隔超平面的方程
9、为了方便计算,二分类中将两个类别分别称为正例和负例,假设正例的输出值为1,负例的输出值为-1,则最佳的分隔线、分隔平面和分隔超平面的输出值为0如图所示
image.png
10、实际的数据分布不会像例子中那样能够方便的进行分类,如下图的数据无法在二维平面内进行线性分隔
image.png
11、SVM算法在这种情况下采用核函数的方法进行分类,核函数的选择有很多种,本质思维是一样的,就是将空间进行升维,原空间即本例子中的二维空间称为输入空间,升维后的空间称为特征空间,将输入空间内的数据映射到特征空间,使数据在高维度的空间内有分类的可能,在本例子中因为数据已经无法在二维空间内进行线性分隔,因此通过核函数将数据样本映射到三维空间内进行分类,如图所示
image.png

阿里云PAI平台SVM模块参数选择重点:

1、PAI平台中的SVM模块只支持二分类
2、PAI平台中的SVM模块无法使用核函数,即无法将数据映射到高维度空间进行分类
3、最重要的参数有以下几个:
positiveLabel:正例的值,是一个可选的值,如果不选择则在label的取值中随机选择一个,因为SVM只进行二分类,当两类样本的差异较大时,选择其中一个值作为正例的值,或者称为基准值能够提高分类的准确性。
positiveCost:正例权重值,即正例惩罚因子。惩罚因子可以根据需要选择所有大于0的数,越大表示整个过程中对于总误差的重视程度越高,对于减小误差的要求越高,甚至不惜使间隔减小。通俗的说法就是惩罚因子越大则对误差的容忍度越小,追求的是分类的准确性,当惩罚因子趋向于无穷时代表对误差没有任何容忍。当惩罚因子趋于0时,则不再关注分类是否正确,只要求间隔越大越好,那么算法将无法得到有意义的解且算法不会收敛,因为分类如果不需要任何准确性的话就根本无法确定间隔。
negativeCost:负例权重值,即负例惩罚因子,其意义与正例权重值一样。
epsilon:收敛系数,同样表示的是对分类误差的容忍程度,阿里云PAI平台SVM模块的默认收敛系数是0.001,代表1000个数据样本中最多只能容许有1个数据样本分类错误。

相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
基于机器学习的人脸识别算法matlab仿真,对比GRNN,PNN,DNN以及BP四种网络
本项目展示了人脸识别算法的运行效果(无水印),基于MATLAB2022A开发。核心程序包含详细中文注释及操作视频。理论部分介绍了广义回归神经网络(GRNN)、概率神经网络(PNN)、深度神经网络(DNN)和反向传播(BP)神经网络在人脸识别中的应用,涵盖各算法的结构特点与性能比较。
机器学习算法的优化与改进:提升模型性能的策略与方法
机器学习算法的优化与改进:提升模型性能的策略与方法
369 13
机器学习算法的优化与改进:提升模型性能的策略与方法
解锁机器学习的新维度:元学习的算法与应用探秘
元学习作为一个重要的研究领域,正逐渐在多个应用领域展现其潜力。通过理解和应用元学习的基本算法,研究者可以更好地解决在样本不足或任务快速变化的情况下的学习问题。随着研究的深入,元学习有望在人工智能的未来发展中发挥更大的作用。
CCS 2024:如何严格衡量机器学习算法的隐私泄露? ETH有了新发现
在2024年CCS会议上,苏黎世联邦理工学院的研究人员提出,当前对机器学习隐私保护措施的评估可能存在严重误导。研究通过LiRA攻击评估了五种经验性隐私保护措施(HAMP、RelaxLoss、SELENA、DFKD和SSL),发现现有方法忽视最脆弱数据点、使用较弱攻击且未与实际差分隐私基线比较。结果表明这些措施在更强攻击下表现不佳,而强大的差分隐私基线则提供了更好的隐私-效用权衡。
60 14
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
213 6
使用 PAI-DSW x Free Prompt Editing图像编辑算法,开发个人AIGC绘图小助理
使用 PAI-DSW x Free Prompt Editing图像编辑算法,开发个人AIGC绘图小助理
|
3月前
|
PAI下面的gbdt、xgboost、ps-smart 算法如何优化?
设置gbdt 、xgboost等算法的样本和特征的采样率
115 2
C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出
本文探讨了C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出。文章还介绍了C语言在知名机器学习库中的作用,以及与Python等语言结合使用的案例,展望了其未来发展的挑战与机遇。
86 1
【MM2024】阿里云 PAI 团队图像编辑算法论文入选 MM2024
阿里云人工智能平台 PAI 团队发表的图像编辑算法论文在 MM2024 上正式亮相发表。ACM MM(ACM国际多媒体会议)是国际多媒体领域的顶级会议,旨在为研究人员、工程师和行业专家提供一个交流平台,以展示在多媒体领域的最新研究成果、技术进展和应用案例。其主题涵盖了图像处理、视频分析、音频处理、社交媒体和多媒体系统等广泛领域。此次入选标志着阿里云人工智能平台 PAI 在图像编辑算法方面的研究获得了学术界的充分认可。
【MM2024】阿里云 PAI 团队图像编辑算法论文入选 MM2024

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等