每天一个产品经理必懂的技术知识点-支持向量机

支持向量机 分类 线性可分支持向量机 线性支持向量机 非线性支持向量机 1 线性可分支持向量机 首先假设数据是线性可分的,学习目标是在特征空间中找到一个分离超平面,能将实例分到不同的类,这样的超平面是无限多的,但如果要求间隔最大化,那解就是唯一的。 上面所说的间隔是几何间隔,但我们先介绍一下函数间隔。 函数间隔其实就是数据点x离超平面的远近表示,也就是距离,然后他的符号可以表示预测的正确与否,它的定义公式是:γi=yi(w*xi+b),但函数间隔有个问题如果成比例的改变w和b,超平面不会改变,但函数间隔是以前的两倍了,所以我们对w加些约束,例如使w向量的第二范数为 1,这时的函数间隔就成为了几何间隔,支持向量机的核心思想也是它的优化方向:间隔最大化中的间隔指的就是这个几何间隔。 根据函数间隔和几何间隔的定义,最后支持向量机的算法也就是最大间隔法,求的是二分之一的w向量的平方的最小值。 求线性可分支持向量机的最优化问题,应用拉格朗日对偶性,先求出对偶问题的解阿尔法,根据阿尔法求原始问题的解w和b,这种算法称为线性可分支持向量机的对偶学习算法,是它的基本算法。 2 线性支持向量机 因为现实生活中数据不可能像我们刚才说的假设一样是完全线性可分的,免不了有噪声,所以有线性支持向量机,使向量机在数据有噪声的情况下依然可用。 原理:在线性SVM的基础上加入一个松弛变量埃普西隆和惩罚参数c,这样得到的间隔最大化称为软间隔最大化 3 非线性支持向量机 有的数据是非线性的,例如正例都在一个圆内,反例都在圆外,像这样的问题,线性法是求不了解的 非线性支持向量机的思想是利用核技巧,将非线性空间的特征点映射到线性空间中,再用线性法来求解 常用的核函数有: 多项式核函数 高斯核函数 字符串核函数 4 SMO算法(sequential minimal optimization 序列最小最优化) 它是一种启发式算法,基本思路是如果所有变量都满足最优化问题的KKT条件,那么这个最优化问题的解就得到了,因为KKT条件是最优化问题的充分必要条件。 SMO算法的主要思想是将原问题不断分解为子问题并对子问题求解,以求解原问题。

产品
登录后参与评论