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

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 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)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
目录
相关文章
|
21天前
|
机器学习/深度学习 存储 算法
神经网络分类算法原理详解
神经网络分类算法原理详解
44 0
|
24天前
|
机器学习/深度学习 分布式计算 DataWorks
机器学习PAI常见问题之安装pyalink卡在qtconsole 4.0如何解决
PAI(平台为智能,Platform for Artificial Intelligence)是阿里云提供的一个全面的人工智能开发平台,旨在为开发者提供机器学习、深度学习等人工智能技术的模型训练、优化和部署服务。以下是PAI平台使用中的一些常见问题及其答案汇总,帮助用户解决在使用过程中遇到的问题。
|
26天前
|
机器学习/深度学习 人工智能 前端开发
机器学习PAI常见问题之web ui 项目启动后页面打不开如何解决
PAI(平台为智能,Platform for Artificial Intelligence)是阿里云提供的一个全面的人工智能开发平台,旨在为开发者提供机器学习、深度学习等人工智能技术的模型训练、优化和部署服务。以下是PAI平台使用中的一些常见问题及其答案汇总,帮助用户解决在使用过程中遇到的问题。
|
9天前
|
机器学习/深度学习 自然语言处理 算法
|
17天前
|
存储 算法 编译器
【数据结构】栈算法(算法原理+源码)
【数据结构】栈算法(算法原理+源码)
【数据结构】栈算法(算法原理+源码)
|
22天前
|
缓存 算法 关系型数据库
深度思考:雪花算法snowflake分布式id生成原理详解
雪花算法snowflake是一种优秀的分布式ID生成方案,其优点突出:它能生成全局唯一且递增的ID,确保了数据的一致性和准确性;同时,该算法灵活性强,可自定义各部分bit位,满足不同业务场景的需求;此外,雪花算法生成ID的速度快,效率高,能有效应对高并发场景,是分布式系统中不可或缺的组件。
深度思考:雪花算法snowflake分布式id生成原理详解
|
24天前
|
机器学习/深度学习 人工智能 分布式计算
机器学习PAI常见问题之配了exporter_type: "final",训练完却没有如何解决
PAI(平台为智能,Platform for Artificial Intelligence)是阿里云提供的一个全面的人工智能开发平台,旨在为开发者提供机器学习、深度学习等人工智能技术的模型训练、优化和部署服务。以下是PAI平台使用中的一些常见问题及其答案汇总,帮助用户解决在使用过程中遇到的问题。
|
26天前
|
机器学习/深度学习 JSON 分布式计算
机器学习PAI常见问题之部署报错如何解决
PAI(平台为智能,Platform for Artificial Intelligence)是阿里云提供的一个全面的人工智能开发平台,旨在为开发者提供机器学习、深度学习等人工智能技术的模型训练、优化和部署服务。以下是PAI平台使用中的一些常见问题及其答案汇总,帮助用户解决在使用过程中遇到的问题。
|
26天前
|
机器学习/深度学习 SQL 人工智能
机器学习PAI常见问题之训练模型报错如何解决
PAI(平台为智能,Platform for Artificial Intelligence)是阿里云提供的一个全面的人工智能开发平台,旨在为开发者提供机器学习、深度学习等人工智能技术的模型训练、优化和部署服务。以下是PAI平台使用中的一些常见问题及其答案汇总,帮助用户解决在使用过程中遇到的问题。
|
26天前
|
机器学习/深度学习 人工智能 分布式计算
机器学习PAI常见问题之运行报错如何解决
PAI(平台为智能,Platform for Artificial Intelligence)是阿里云提供的一个全面的人工智能开发平台,旨在为开发者提供机器学习、深度学习等人工智能技术的模型训练、优化和部署服务。以下是PAI平台使用中的一些常见问题及其答案汇总,帮助用户解决在使用过程中遇到的问题。