SVM算法相关推导[二]

本文详细介绍了SVM算法的推导过程,包括利用拉格朗日乘子法转换为对偶问题,通过KKT条件求解。内容涵盖拉格朗日乘子法的概念,对偶问题的建立,以及KKT的四个条件。最终解释了SVM的优化目标如何满足KKT条件,并导出了支持向量机的对偶问题形式。
摘要由CSDN通过智能技术生成

接上文SVM算法相关推导[一]

最大间隔分类器是一种在约束下求最大化的问题,对于这种问题用拉格朗日乘子法和KKT条件可以变化为求其相对简单的对欧问题。(传说中的SMO?)

对于拉个朗日乘子法和KKT条件的理解,CSDN的博主lijil168介绍的不错。

https://blog.csdn.net/lijil168/article/details/69395023

lysuns的博客

http://www.cnblogs.com/lysuns/p/4626378.html

这里简要介绍

1.拉格朗日乘子法

假设有函数f, 在一堆约束h_i(w)=0的情况下求解f的最小值的情况下可以得到新的目标函数是原优化目标和约束的线性和

原问题

\underset{w}{\min}\ f(w)\\ s.t(\text{subject to}) h_i(w) = 0, \ i=1,2,...,l

有一堆的函数 h_i(w)=0

这个公式求解可以用消元法或者拉格朗日法。消元法就是根据h_i(w)=0得到w的一个值带入原公式,再来求解。

亦可以用拉个朗日法:

那么拉格朗日乘子法定义的新目标函数为

L (w,b)=f(w)+ \sum_{i=1}^{l}\beta_ih_i(w)

求解的过程对w,b,beta的每一个元素针对上式求偏导, 并置为0这样就可以得到极值点

\left\{\begin{matrix} \frac{\partial L}{\partial w}=0 \\\\ \frac{\partial L}{\partial b}=0 \end{matrix}\right.

加入增加不等式约束, 比如g(w)<=0,

\underset{w}{\min}\ f(w)\\ s.t (\text{subject to}) \\ \begin{cases} g_j(w) \leq 0 & j \in [1,2,...,k]\\ h_i(w) = 0 & i \in [1,2,...,l]\end{cases}

拉格朗日乘法可以扩展为

L(w,\alpha,\beta)=f(w)+\sum_{j=1}^{k}\alpha_j g_j(w)+\sum_{i=1}^{l}\beta_i h_i(w)

定义最大化函数,即求使L最大化的alpha, beta值:

\theta_p(w)=\underset{\begin{matrix} \alpha, \beta\\ \alpha > 0 \end{matrix}}{\max}L(w, \alpha, \beta)

我们会发现

\underset{w}{\min}\ {\theta_p(w)} 和原始定义\underset{w}{\min}\ f(w)等价

原因是这样的:

考虑优化问题

P^*=\min \underset{\begin{matrix} \alpha, \beta\\ \alpha > 0 \end{matrix}}{\max}L(w, \alpha, \beta)=\underset{w}{\min}\theta_p(w)

看这个Theta函数的定义知道(为啥?)
\begin{cases} \theta_p(w)=\infty & \text{ if } g(w)>0 \\ \theta_p(w)=\infty& \text{ if } h(w)\neq 0\\ \theta_p(w)=f(w) & \text{eitherwise} \end{cases}

就得到了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值