机器学习第四课:SVM前置知识点(凸优化问题)

内容主要来源于 大数据文摘

#1 高数教材中拉格朗日乘子法的泛化
##1.1 高数教材中的拉格朗日乘子法
我们大学时讲了这个计算条件极值的方法,运用拉格朗日乘数法(乘子法)
{ min ⁡    f ( x ) s . t .    h i ( x ) = 0          i = 1 , 2... , n \left\{ \begin{matrix}\min\;f(x) \\ s.t.\;h_{i}(x)=0\;\;\;\;i=1,2...,n\end{matrix}\right. {minf(x)s.t.hi(x)=0i=1,2...,n
第一行就是目标函数,第二行是约束函数。我们就是想在h(x)=0一系列函数的约束下,求f(x)的最小值。我们可以用(1)式中的方法求解
m i n    [ f ( x ) + ∑ i = 1 n λ i h i ( x ) ] (1) min\;[f(x)+\sum_{i=1}^{n}\lambda_{i}h_{i}(x)]\tag1 min[f(x)+i=1nλihi(x)](1)
这当然是个很简单的事件了。但是这是绝对是个特例。你看啊,上面的约束条件都是等式,但事实上很多情况都是不等式。这就是我们的拉格朗日乘数法(乘子法)的扩展KKT问题。
##1.2 KKT(Karush–Kuhn–Tucker conditions)问题

在1.1中,约束机制的泛化了的就是KKT。KKT的名字让人的意思不明所以,其实就是一般约束优化问题极值点一阶必要条件:
如果 x ∗ x^* x是约束条件的局部最小,那么有如下条件
{ s . t .    g i ( x ) = 0          i = 1 , 2... , p s . t .    h j ( x ) ⩽ 0          j = 1 , 2... , q ∇ f ( x ∗ ) = ∑ i = 1 p μ i ∇ g i ( x ∗ ) + ∑ j = 1 q λ j ∇ h j ( x ∗ ) λ j ∗ ⩾ 0          j = 1 , 2... , q λ j ∗ h j ( x ∗ ) = 0          j = 1 , 2... , q \left\{ \begin{matrix} s.t.\;g_{i}(x)=0\;\;\;\;i=1,2...,p\\ s.t.\;h_{j}(x) \leqslant 0\;\;\;\;j=1,2...,q\\ \nabla f(x^{*})=\sum _{i=1}^{p}\mu _{i}\nabla g_{i}(x^{*})+\sum _{j=1}^{q}\lambda _{j}\nabla h_{j}(x^{*})\\ \lambda_{j}^*\geqslant 0\;\;\;\;j=1,2...,q\\ \lambda_{j}^*h_j(x^*)= 0\;\;\;\;j=1,2...,q\\ \end{matrix}\right. s.t.gi(x)=0i=1,2...,ps.t.hj(x)0j=1,2...,qf(x)=i=1pμigi(x)+j=1qλjhj(x)λj0j=1,2...,qλjhj(x)=0j=1,2...,q

因为可以利用正负号更改最大最小,大于等于号,所以上式基本可以表达所有情况。
但一定要注意大于号的方向。
那么这就是变成解 x ∗ x^* x的行为。(同时也要注意,上式仅仅是必要条件。)
为什么"极值点’一阶’必要条件"?在第三个式子解出的 x ∗ x^* x是驻点,我们同时需要判断二阶Hassion矩阵。这个式子是怎么来?还得从凸函数好好说起。
#2 凸函数
我按照点集的观点重新审视下点线面。初中时,遇到一种四边形的说法“凸四边形”,“凹四边形”。老师讲凸四边形就是“四个角都凸出来的,如平行四边形梯形等;凹四边形就是有角凹进去了的四边形,如下图”。
这里写图片描述

这么说的确很容易理解,但不是数学语言。详细描述这个问题很复杂,可以先从点集入手。
##2.1 仿射,凸集

基础:过两点 x 1 , x 2 x_1,x_2 x1,x2的直线表示为 x = θ x 1 + ( 1 + θ ) x 2 , θ ∈ R x = \theta x_1+(1+\theta)x_2,\theta \in R x=θx1+(1+θ)x2,θR,即 A x = b Ax=b Ax=b的解。我们借助直线定义仿射。

如果一个集合 C ∈ R n C\in R^n CRn是仿射的,则过C中两点间的直线(注意不是线段)也在C中,例如上面的 x = θ x 1 + ( 1 + θ ) x 2 , θ ∈ R x = \theta x_1+(1+\theta)x_2,\theta \in R x=θx1+(1+θ)x2,θR 注意 C ∈ R C\in R CR

如果一个集合 C ∈ R n C\in R^n CRn是凸的,则过C中两点间的线段(注意不是直线段)也在C中。即对于任意 x 1 , x 2 ∈ C x_1,x_2 \in C x1,x2C,有 x = θ x 1 + ( 1 + θ ) x 2 , 1 ⩾ θ ⩾ 0 x = \theta x_1+(1+\theta)x_2,1 \geqslant \theta \geqslant 0 x=θx1+(1+θ)x2,1θ0 注意 C ∈ R C\in R CR
下图中左边是凸的,右边不是凸的
这里写图片描述

2.2 凸函数

  • 凸集合交集是凸集
  • 凸函数的定义是根据凸集来的:
    f(x)是凸函数,则有
    f ( λ x 1 + ( 1 − λ ) x 2 ) ⩽ λ f ( x 1 ) + ( 1 − λ ) f ( x 2 ) f(\lambda x_1+(1-\lambda)x_2)\leqslant \lambda f(x_1)+(1-\lambda)f(x_2) f(λx1+(1λ)x2)λf(x1)+(1λ)f(x2)
    f称为I上的凸函数,当且仅当其上境图(在函数图像上方的点集)为一个凸集
  • 凸函数与我们以前接触的函数不一样。因为是翻译问题,数学上的因为形状凹下去,所以将Convex翻译为凹函数,但Convex Set又叫凸集合来定义的。这里有必要把老版本翻译的凹函数凸过来。

2.3凸函数的性质

  • 一元二阶可微的函数在区间上是凸的,当且仅当它的二阶导数是非负的;这可以用来判断某个函数是不是凸函数。如果它的二阶导数是正数,那么函数就是严格凸的,但反过来不成立。根据上节课的经验,当一元变为多元时,可以判断Hassion矩阵是否正定。
  • 保凸运算(这个很重要)
    1. f是凸函数,自变量的线性组合,f(Ax+b)也是凸函数
    2. f 1 , ⋯   , f m f_1,\cdots,f_m f1,,fm为凸函数, w 1 , ⋯   , w m ⩾ 0 w_1,\cdots,w_m \geqslant 0 w1,,wm0,则 ∑ i = 1 m w i f i \sum_{i=1}^{m} w_if_i i=1mwifi也是凸函数
    3. f 1 , ⋯   , f m f_1,\cdots,f_m f1,,fm为凸函数,逐点最大 f ( x ) = s u p { f 1 ( x ) , ⋯   , f m ( x ) } f(x)=sup\{f_1(x),\cdots,f_m(x)\} f(x)=sup{f1(x),,fm(x)}也是凸函数。这条性质跟实际应用时可以给正则化一个解释。加了正这则化的凸函数也是凸函数,所以正则化对原函数的解题方法无影响。
    4. g,h为凸函数,扩展的h非递减(这条性质很重要)。则f(x)=h(g(x))也是凸函数。
  • 对于凸函数f的 α \alpha α水平子集 S α = { x ∣ f ( x ) ≤ a } S_\alpha = \{x | f(x) \le a\} Sα={xf(x)a}是凸集。水平子集是凸集的函数不一定是凸函数。这样的函数称为拟凸函数。
    ##2.2 凸优化问题
    还是回到上面我们的条件极值问题,我们这里加上几个条件,让它变成的功能强大的函数:
    m i n i m i z e            f ( x ) { s . t .    g i ( x ) = 0          i = 1 , 2... , p s . t .    h j ( x ) ⩾ 0          j = 1 , 2... , q minimize \;\;\;\;\; f(x)\\ \left\{ \begin{matrix} s.t.\;g_{i}(x)=0\;\;\;\;i=1,2...,p\\ s.t.\;h_{j}(x) \geqslant 0\;\;\;\;j=1,2...,q \end{matrix}\right. minimizef(x){s.t.gi(x)=0i=1,2...,ps.t.hj(x)0j=1,2...,q
    但我们做了额外要求:
  1. 目标函数是凸函数我们的目标函数f(x)是凸函数
  2. 不等式约束函数也是凸函数,这里要注意不等号的方向。有些数不等号方向不同,这里一定要注意。这条要求的实质条件是围成的可行域交集是个凸集。由于具有不同的形式,在后面推导KKT的过程会有不同。
  3. 等式约束(这里的 g j ( x ) g_j(x) gj(x))必须是仿射的。
    这就是在一个凸集上极小化一个凸的目标函数问题。
    凸优化问题的局部最优等于全局最优
    我们费尽心思搞的凸优化形式,目的就是就求目标函数在可行域上的的极值。这里是可行域,因为还会有正无穷或负无穷(但我们视为可行域是空的,如求y=x的极值)。

凸优化里面,KKT不仅仅是必要条件,而是充分必要条件
具体原因还得详细解释下KKT的由来。

#3 KKT(Karush–Kuhn–Tucker conditions)问题的解释——对偶问题
##3.1 普通的条件极值问题
首先我们不管什么凸函数不凸函数。还是熟悉的条件极值问题。

注意:目标函数*“最小化问题”*与h函数的*“不等号方向”*是配对的;
上面的同样的式子为了普遍性,故意不转化成这种情况。

m i n i m i z e            f ( x ) { s . t .    g i ( x ) = 0          i = 1 , 2... , p s . t .    h j ( x ) ⩽ 0          j = 1 , 2... , q minimize \;\;\;\;\; f(x)\\ \left\{ \begin{matrix} s.t.\;g_{i}(x)=0\;\;\;\;i=1,2...,p\\ s.t.\;h_{j}(x) \leqslant 0\;\;\;\;j=1,2...,q\\ \end{matrix}\right. minimizef(x){s.t.gi(x)=0i=1,2...,ps.t.hj(x)0j=1,2...,q
然后我们用拉格朗日法合并目标函数与约束:
L ( x , μ , λ ) = f ( x ) + ∑ i = 1 p μ i g i ( x ) + ∑ j = 1 q λ j h j ( x ) L(x,\mu,\lambda)= f(x)+\sum _{i=1}^{p}\mu _{i}g_{i}(x)+\sum _{j=1}^{q}\lambda _{j}h_{j}(x) L(x,μ,λ)=f(x)+i=1pμigi(x)+j=1qλjhj(x)
这下我们知道 L ( x , μ , λ ) L(x,\mu,\lambda) L(x,μ,λ)是关于 μ , λ \mu,\lambda μ,λ的仿射函数。
λ ⩾ 0 , x 0 \lambda \geqslant 0 , x_0 λ0,x0为一个区域内符合条件的点时,我们取区间D内x的逐点最小值,就是下确界inf,有:
g ( μ , λ ) = inf ⁡ x ∈ D L ( x 0 , μ , λ ) = f ( x 0 ) + ∑ i = 1 p μ i g i ( x 0 ) + ∑ j = 1 q λ j h j ( x 0 ) g(\mu,\lambda)=\inf_{x\in D} L(x_0,\mu,\lambda)= f(x_0)+\sum _{i=1}^{p}\mu _{i}g_{i}(x_0)+\sum _{j=1}^{q}\lambda _{j}h_{j}(x_0) g(μ,λ)=xDinfL(x0,μ,λ)=f(x0)+i=1pμigi(x0)+j=1qλjhj(x0)
L ( x , μ , λ ) L(x,\mu,\lambda) L(x,μ,λ)是关于 μ , λ \mu,\lambda μ,λ的仿射函数(我们暂定算凹的),那么 g ( μ , λ ) g(\mu,\lambda) g(μ,λ)应该算凹(或者仿射)吧,但肯定是非凸的。
我们还知道了 f ( x 0 ) f(x_0) f(x0)后面的项一个负数,一个零。肯定有
g ( μ , λ ) ⩽ f ( x 0 ) + ∑ i = 1 p μ i g i ( x 0 ) + ∑ j = 1 q λ j h j ( x 0 ) , ↓ g ( μ , λ ) ⩽ f ( x 0 ) g(\mu,\lambda) \leqslant f(x_0)+\sum _{i=1}^{p}\mu _{i}g_{i}(x_0)+\sum _{j=1}^{q}\lambda _{j}h_{j}(x_0),\\ \downarrow \\ g(\mu,\lambda) \leqslant f(x_0) g(μ,λ)f(x0)+i=1pμigi(x0)+j=1qλjhj(x0),g(μ,λ)f(x0)
这样区间内x的最优解 x ∗ x^* x肯定有
g ( μ , λ ) ⩽ f ( x ∗ ) = p ∗ g(\mu,\lambda) \leqslant f(x^*) = p^* g(μ,λ)f(x)=p
##3.2 对偶问题
那么任意一个相似条件极值(我没说凹凸性)都可以求它的对偶问题,且这个对偶问题是个凸优化问题:
m a x i m i z e          g ( μ , λ ) s . t .    λ ⩾ 0 maximize \;\;\;\; g(\mu,\lambda)\\ s.t.\;\lambda \geqslant 0 maximizeg(μ,λ)s.t.λ0
设整理这里最优值为 d ∗ d^* d,那么 d ∗ ⩽ p ∗ d^*\leqslant p^* dp

但是当“强对偶”现象情况发生时,等号成立。
什么时候“强对偶”现象发生?
答:原问题是个凸优化问题。。。

在经过一些不重要的证明(我懒不想写)我们得到凸优化求全局极值的充分必要条件就是KKT。。。。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值