[置顶] 支持向量机(SVM)
2017-07-01 21:09
113 查看
支持向量机,其含义是通过支持向量运算的分类器。支持向量机是一个二类分类器。
在求解的过程中,会发现只根据部分数据就可以确定分类器,这些数据称为支持向量。
见下图,在一个二维环境中,其中点R,S,G点和其它靠近中间黑线的点可以看作为支持向量,它们可以决定分类器,也就是黑线的具体参数。
线性分类:可以理解为在2维空间中,可以通过一条直线来分类。在p维空间中,可以通过一个p-1维的超平面来分类。
线性分类
在训练数据中,每个数据都有n个的属性和一个二类类别标志,我们可以认为这些数据在一个n维空间里。我们的目标是找到一个n-1维的超平面(hyperplane),这个超平面可以将数据分成两部分,每部分数据都属于同一个类别。
其实这样的超平面有很多,我们要找到一个最佳的。因此,增加一个约束条件:这个超平面到每边最近数据点的距离是最大的。也成为最大间隔超平面(maximum-margin hyperplane)。这个分类器也成为最大间隔分类器(maximum-margin classifier)。
优势是不需要样本数据。
非线性分类
SVM的一个优势是支持非线性分类。它结合使用拉格朗日乘子法和KKT条件,以及核函数可以产生非线性分类器。
支持线性分类和非线性分类,需要部分样本数据(支持向量)。
f(x)=∑ni=1αiyiK(xi,x)+bherexi :
training data iyi :
label value of training data iαi :
Lagrange multiplier of training data iK(x1,x2)=exp(−∥x1−x2∥22σ2) :
kernel function
首先通过两个分类的最近点,找到f(x)的约束条件。
有了约束条件,就可以通过拉格朗日乘子法和KKT条件来求解,这时,问题变成了求拉格朗日乘子αi 和 b。
核函数有很多种, 一般可以使用高斯核
线性核(Linear Kernel)
多项式核(Polynomial Kernel)
在求解的过程中,会发现只根据部分数据就可以确定分类器,这些数据称为支持向量。
见下图,在一个二维环境中,其中点R,S,G点和其它靠近中间黑线的点可以看作为支持向量,它们可以决定分类器,也就是黑线的具体参数。
线性分类:可以理解为在2维空间中,可以通过一条直线来分类。在p维空间中,可以通过一个p-1维的超平面来分类。
线性分类
在训练数据中,每个数据都有n个的属性和一个二类类别标志,我们可以认为这些数据在一个n维空间里。我们的目标是找到一个n-1维的超平面(hyperplane),这个超平面可以将数据分成两部分,每部分数据都属于同一个类别。
其实这样的超平面有很多,我们要找到一个最佳的。因此,增加一个约束条件:这个超平面到每边最近数据点的距离是最大的。也成为最大间隔超平面(maximum-margin hyperplane)。这个分类器也成为最大间隔分类器(maximum-margin classifier)。
优势是不需要样本数据。
非线性分类
SVM的一个优势是支持非线性分类。它结合使用拉格朗日乘子法和KKT条件,以及核函数可以产生非线性分类器。
支持线性分类和非线性分类,需要部分样本数据(支持向量)。
f(x)=∑ni=1αiyiK(xi,x)+bherexi :
training data iyi :
label value of training data iαi :
Lagrange multiplier of training data iK(x1,x2)=exp(−∥x1−x2∥22σ2) :
kernel function
首先通过两个分类的最近点,找到f(x)的约束条件。
有了约束条件,就可以通过拉格朗日乘子法和KKT条件来求解,这时,问题变成了求拉格朗日乘子αi 和 b。
核函数有很多种, 一般可以使用高斯核
线性核(Linear Kernel)
多项式核(Polynomial Kernel)
相关文章推荐
- [置顶] 支持向量机SVM学习笔记
- [置顶] Python3《机器学习实战》学习笔记(八):支持向量机原理篇之手撕线性SVM
- [置顶] 机器学习之支持向量机SVM
- [置顶] 【统计学习方法】 支持向量机(SVM) Python实现
- 机器学习(八)支持向量机svm终结篇
- 机器学习中的算法(2)-支持向量机(SVM)基础 - LeftNotEasy - 博客园
- Python中使用支持向量机(SVM)算法
- Kernel SVM (核函数支持向量机)
- 选择支持向量机(SVM)核函数
- 支持向量机SVM(一)
- SVM(三)支持向量机,线性不可分和核函数
- 机器学习实战【5】(SVM-支持向量机)
- 支持向量机 SVM 简要介绍
- 支持向量机通俗导论(理解SVM的三层境界)
- 学习Opencv2.4.9(四)---SVM支持向量机
- 支持向量机svm
- 支持向量机SVM——LIBSVM
- 另一个角度来看:支持向量机(SVM)
- SVM(1)--线性可分支持向量机
- 支持向量机SVM(五)SMO算法