SVM基础及java源码实现

当权重向量是单位向量时,几何间隔就是函数间隔!

最速下降法/steepest descent,牛顿法/newton,共轭方向法/conjugate direction,共轭梯度法/conjugate gradient 及其他


【1】最速下降法(或:梯度法)

最速下降法(梯度下降法)只用到了梯度信息,即目标函数的一阶导数信息,

【2】牛顿法

而牛顿法则同时用到了一阶导数和二阶导数(Hesse矩阵(二阶导数矩阵))信息。在start point点处,对目标函数进行泰勒展开,并只取二阶导数及其之前的几项(更高阶的导数项忽略),

【3】共轭方向法

选定搜索方向d,使之满足共轭条件以及下降条件,在此搜索方向上通过精确线搜索确定移动的步长,然后将当前点移动到下一点,再重新选定搜索方向,周而复始,直到满足终止条件。


【4】共轭梯度法

“共轭梯度法”是一种特殊的“共轭方向法”。共轭方向法与梯度也有关系——共轭方向法利用了目标函数的梯度信息(梯度与方向的积满足“下降”条件)。共轭梯度法与此关系有所区别:用当前点的负梯度方向,与前面的搜索方向进行共轭化,以得到新的搜索方向。

当前点的搜索方向是当前点的负梯度方向与前面所有方向的线性组合。

共轭梯度法的收敛性:比最速下降法的收敛性要好得多。



********************************************

为何收敛呢?

若line search的步长αk满足精确搜索条件αk=argminα>0f(xk+αdk),搜索方向dk与负梯度方向−gk的夹角<90°(称为下降条件),那么,必然会发生下面3种情况中的一种:

(1)存在某个有限的k,使得gk=0

 (2)f(xk)→−∞ 

(3)gk→0  

也就意味着收敛了

********************************************

线性流形

在迭代过程中,我们会从初始点开始,在搜索方向上通过精确线搜索的方法,找到使目标函数值符合要求(例如,min f(X))的步长,然后将点移动到下一点。这样不断进行下去,就会得到很多个点。在N维空间Rn中,在每一个搜索方向上,都有无数个点,它们构成了一个轨迹(或者说一个集合),我们称之为线性流形

**********************************************

 【最小二乘法】

********************************************

SVM 再理解

目标:我们最大化的是离超平面最近的点到超平面的距离;

我们的目的是最大化支持向量到分割超平面的几何间隔r,而不是最大化函数间隔g(x);

我们需要最大化的是几何间隔r,这等价于我们固定||w0||,然后最大化函数间隔g(x)。

但是实际上我们不会这么做,通常的处理方法是固定函数间隔g(x)的绝对值为1,然后最小化||w0||。

也就是说我们把支持向量到分割超平面的函数间隔g(x)的绝对值设定为1,然后最小化||w0||。



为了使问题变得易于处理,我们的方法是把目标函数和约束全部融入一个新的函数,即拉格朗日函数,再通过这个函数来寻找最优点。



  SVM得到的目标函数:

 经过论证,我们这里的问题是满足 KKT 条件的(首先已经满足Slater condition,再者f和gi也都是可微的,即L对w和b都可导),因此现在我们便转化为求解第二个问题。

也就是说,原始问题通过满足KKT条件,已经转化成了对偶问题。

对偶问题求解的3个步骤




***************************************************************
最优化理论与KKT条件

最优化问题可以根据目标函数和约束条件的类型进行分类:
1). 如果目标函数和约束条件都为变量的线性函数, 称该最优化问题为线性规划;
2). 如果目标函数为变量的二次函数, 约束条件为变量的线性函数, 称该最优化问题为二次规划;
3). 如果目标函数或者约束条件为变量的非线性函数, 称该最优化问题为非线性规划.

KTT条件是指在满足一些有规则的条件下, 一个非线性规划(Nonlinear Programming)问题能有最优化解法的一个必要和充分条件. 这是一个广义化拉格朗日乘数的成果

  • 对于等式约束的优化问题,可以应用拉格朗日乘子法去求取最优值;
  • 如果含有不等式约束,可以应用KKT条件去求取;

******************************************

支持向量机:Duality

**************************************

SMO算法的解法



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值