【机器学习算法-python实现】svm支持向量机(1)—理论知识介绍

简介: (转载请注明出处:http://blog.csdn.net/buptgshengod) 1.背景      强烈推荐阅读(http://www.cnblogs.com/jerrylead/archive/2011/03/13/1982639.html)          支持向量机SVM(support vector machines)。SVM是一种二值分类器,是近些年比较流行的一种

(转载请注明出处:http://blog.csdn.net/buptgshengod)

1.背景

     强烈推荐阅读(http://www.cnblogs.com/jerrylead/archive/2011/03/13/1982639.html)  
       支持向量机SVM(support vector machines)。SVM是一种二值分类器,是近些年比较流行的一种分类算法。
本文,首先要介绍一些基本的知识概念,在下一章将对SVM进行简单地代码实现。

2.基本概念


(1)线性可分

           
       首先介绍一下什么叫线性可分,引用一张上一节的图。线性可分实际上就是可以用一条直线将两种不同的点区分开来。由此我们可以得到线性不可分就是两种点混合在一起不能区分。但是线性不可分的点其实也可以用数学方法区分开来。比如说一个四维的数据集我们可以用一个三维的对象将其分开,这个对象叫做超平面。下图的超平面就是那条蓝线。




(2)支持向量

       支持向量,现在我们知道了超平面的概念,支持向量其实就是距离超平面在最近的向量。以上图为例,就是距离蓝线最近的那些点。方法就是点到线的距离判定。一旦我们找到了这些支持向量,那么我们就可以放大这些向量,只考虑这些对象,用到的是序列最小优化的思想。


(3)拉格朗日乘子法

       对于支持向量的求法,我们需要一定的约束条件。比如说我们设点到超平面的距离是d,我们要求取d>1的点作为约束条件。因为如果没有这个约束条件会使得计算出现误差。
这个公式是我们去点到超平面距离最小的点的集合,且满足
。在存在约束条件情况下求极值的问题,我们用到拉格朗日乘子法(参见百度百科)。


(4)变型

   参照拉格朗日公式F(x1,x2,...λ)=f(x1,x2,...)-λg(x1,x2...)。我们把上面的式子变型为

 约束条件就变成了

上式的参数c使松弛变量,因为我们看到图中一些红点被分到了绿点的范围里,为了考虑到这种问题,引入一个变量来控制。svm的主要任务是计算参数C。
目录
相关文章
|
1天前
|
机器学习/深度学习 算法 决策智能
【机器学习】揭秘深度学习优化算法:加速训练与提升性能
【机器学习】揭秘深度学习优化算法:加速训练与提升性能
|
1天前
|
算法 安全 Go
RSA加密算法详解与Python和Go实现
RSA加密算法详解与Python和Go实现
6 1
|
1天前
|
存储 算法 安全
Python 加密算法详解与应用
Python 加密算法详解与应用
6 1
|
2天前
|
机器学习/深度学习 算法 大数据
机器学习入门:梯度下降算法(下)
机器学习入门:梯度下降算法(下)
|
2天前
|
机器学习/深度学习 算法 API
机器学习入门(五):KNN概述 | K 近邻算法 API,K值选择问题
机器学习入门(五):KNN概述 | K 近邻算法 API,K值选择问题
|
1天前
|
算法 安全 Go
Python与Go语言中的哈希算法实现及对比分析
Python与Go语言中的哈希算法实现及对比分析
8 0
|
1天前
|
安全 测试技术 Go
Python 和 Go 实现 AES 加密算法的技术详解
Python 和 Go 实现 AES 加密算法的技术详解
6 0
|
2天前
|
存储 算法 搜索推荐
算法进阶之路:Python 归并排序深度剖析,让数据排序变得艺术起来!
算法进阶之路:Python 归并排序深度剖析,让数据排序变得艺术起来!
8 0
|
2天前
|
机器学习/深度学习 算法
机器学习入门:梯度下降算法(上)
机器学习入门:梯度下降算法(上)
|
22天前
|
机器学习/深度学习 算法 TensorFlow
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
交通标志识别系统。本系统使用Python作为主要编程语言,在交通标志图像识别功能实现中,基于TensorFlow搭建卷积神经网络算法模型,通过对收集到的58种常见的交通标志图像作为数据集,进行迭代训练最后得到一个识别精度较高的模型文件,然后保存为本地的h5格式文件。再使用Django开发Web网页端操作界面,实现用户上传一张交通标志图片,识别其名称。
47 6
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面