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

本文涉及的产品
模型训练 PAI-DLC,5000CU*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)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
目录
相关文章
|
8天前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
28 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
【MM2024】阿里云 PAI 团队图像编辑算法论文入选 MM2024
阿里云人工智能平台 PAI 团队发表的图像编辑算法论文在 MM2024 上正式亮相发表。ACM MM(ACM国际多媒体会议)是国际多媒体领域的顶级会议,旨在为研究人员、工程师和行业专家提供一个交流平台,以展示在多媒体领域的最新研究成果、技术进展和应用案例。其主题涵盖了图像处理、视频分析、音频处理、社交媒体和多媒体系统等广泛领域。此次入选标志着阿里云人工智能平台 PAI 在图像编辑算法方面的研究获得了学术界的充分认可。
【MM2024】阿里云 PAI 团队图像编辑算法论文入选 MM2024
|
20天前
|
分布式计算 Java 开发工具
阿里云MaxCompute-XGBoost on Spark 极限梯度提升算法的分布式训练与模型持久化oss的实现与代码浅析
本文介绍了XGBoost在MaxCompute+OSS架构下模型持久化遇到的问题及其解决方案。首先简要介绍了XGBoost的特点和应用场景,随后详细描述了客户在将XGBoost on Spark任务从HDFS迁移到OSS时遇到的异常情况。通过分析异常堆栈和源代码,发现使用的`nativeBooster.saveModel`方法不支持OSS路径,而使用`write.overwrite().save`方法则能成功保存模型。最后提供了完整的Scala代码示例、Maven配置和提交命令,帮助用户顺利迁移模型存储路径。
|
29天前
|
机器学习/深度学习 算法 Java
机器学习、基础算法、python常见面试题必知必答系列大全:(面试问题持续更新)
机器学习、基础算法、python常见面试题必知必答系列大全:(面试问题持续更新)
|
1月前
|
机器学习/深度学习 算法 决策智能
【机器学习】揭秘深度学习优化算法:加速训练与提升性能
【机器学习】揭秘深度学习优化算法:加速训练与提升性能
|
1月前
|
机器学习/深度学习 算法 Python
探索机器学习中的决策树算法:从理论到实践
【10月更文挑战第5天】本文旨在通过浅显易懂的语言,带领读者了解并实现一个基础的决策树模型。我们将从决策树的基本概念出发,逐步深入其构建过程,包括特征选择、树的生成与剪枝等关键技术点,并以一个简单的例子演示如何用Python代码实现一个决策树分类器。文章不仅注重理论阐述,更侧重于实际操作,以期帮助初学者快速入门并在真实数据上应用这一算法。
|
18天前
|
机器学习/深度学习 人工智能 算法
探索机器学习中的决策树算法
【10月更文挑战第29天】本文将深入浅出地介绍决策树算法,一种在机器学习中广泛使用的分类和回归方法。我们将从基础概念出发,逐步深入到算法的实际应用,最后通过一个代码示例来直观展示如何利用决策树解决实际问题。无论你是机器学习的初学者还是希望深化理解的开发者,这篇文章都将为你提供有价值的见解和指导。
|
1月前
|
算法
基于最小二乘递推算法的系统参数辨识matlab仿真
该程序基于最小二乘递推(RLS)算法实现系统参数辨识,对参数a1、b1、a2、b2进行估计并计算误差及收敛曲线,对比不同信噪比下的估计误差。在MATLAB 2022a环境下运行,结果显示了四组误差曲线。RLS算法适用于实时、连续数据流中的动态参数辨识,通过递推方式快速调整参数估计,保持较低计算复杂度。
|
1月前
|
机器学习/深度学习 算法 大数据
机器学习入门:梯度下降算法(下)
机器学习入门:梯度下降算法(下)
|
1月前
|
机器学习/深度学习 算法 数据处理
EM算法对人脸数据降维(机器学习作业06)
本文介绍了使用EM算法对人脸数据进行降维的机器学习作业。首先通过加载ORL人脸数据库,然后分别应用SVD_PCA、MLE_PCA及EM_PCA三种方法实现数据降维,并输出降维后的数据形状。此作业展示了不同PCA变种在人脸数据处理中的应用效果。
34 0

热门文章

最新文章

下一篇
无影云桌面