1.1 凸函数
1.1.1 基本概念
凸集: 对数据集合C,内的任意两点x1,x2∈C,那么连接x1,x2其连线上的点也属于集合C:θx1+(1−θ)x2∈C(∀0≤θ≤1)则我们称集合C是凸的,则C是一个凸集。
凸函数: 凸集上的函数如果满足以下式子:f(θx1+(1−θ)x2)≤θf(x1)+(1−θ)f(x2)(∀0≤θ≤1)则我们称这个函数是凸函数。
反之如果:f(θx1+(1−θ)x2)≤θf(x1)+(1−θ)f(x2)(∀0≤θ≤1)那我们称这个函数是凹函数。
`1
那么也就是得到高数常用的结论:当f(x)是凸函数的时候f(2)(x)<=0 ,当f(x)是凹函数的时候f(2)(x)>=0。
1.1.2 梯度
多维函数有y=f(x1,x2,x3..,xn)是可导的,他的各个方向的梯度就是对不同x的偏导。
偏导在一起,那就是梯度:▽f(x)=(∂x1∂f(x),∂x2∂f(x),....,∂xn∂f(x))
然后f(x)在x_1点泰勒展开是:f(x)=f(x1)+f′(x1)(x−x1)....
关于凸函数,在f(x)上,随机取两个相邻的点x1,x2,不妨设x2>x1,把f(x1)加上f(x1)相对f(x2)增长的一部分就等于f(x2)。
那么增长的一部分等于什么?
那肯定是在x1处的切线f′(x)与x=x1,x=x2,y=0围成的面积啦。(为了方便这里只讨论二维)
那么当x2无限趋向于x1时,f′(x)是不变的f′(x1)=f′(x2),此时定义域[x1,x2]内的所有的斜率都等于f′(x1).所以把f^{'}(x_{1})乘x_{2} - x_{1}就等于f(x_{1})相对相对相对f(x_{2})$增长的一部分.
但是当x1与x2没有那么近的时候,凸函数的导数是不断变大的,也就是说f′(x1)是小于f′(x2)的,那么f(x1)相对f(x2)增长的一部分是大于f′(x1)乘x2−x1的。
也就是下面这个式子:
f(x2)≥f(x1)+▽f(x1)T(x2−x1)
我们可以知道,f(x)在定义域中任意点的一阶泰勒展开是其下界(你看他没加二阶三阶等肯定是少加了很多鸭)。
1.1.3 强凸函数
一般的一维函数只要求函数曲线在其切线之上,并没有对这个"上"做具体的要求,并不强制要求一定要完美贴着。那么如果追求梯度优化的过程中,可以在接近的过程中无限接近于这个贴合的点,但是这种无限接近意味着梯度优化中会出现一些微弱的梯度变化,导致优化速度变慢。那么我们可以加一个二次项,保证有一个二次下界,这样就不会出现贴着曲线的情况,优化就会变的简单。
一个可微的强凸函数的定义是:f(x1)≥f(x2)+▽f(x2)T(x1−x2)+2λ∣∣x1−x2∣∣2,这个式子保证了曲线不仅在切线上方,且始终大于某个距离。满足上面这个式子的强凸函数又称λ-强凸函数。
1.1.4 l-Lipschits连续
若f函数的局部变动不超过某个幅度,那么 ∃l∈R+使得 ∀x1,x2∈ψ(ψ表示合集) 都有:f(x2)−f(x1)≤l∣∣x2−x1∣∣则称函数f(x)为l-Lipschitz连续,进一步若可微函数f(x)的梯度▽f(x)满足l-Lipschitz连续,则称函数f(x)为l−光滑。
1.1.5 Hessian矩阵
Hessian矩阵是函数f(x)在定义域上的二阶导数的矩阵:▽2f(x)∈Rd∗Rd。 其中▽2f(x)ij=∂xi∂xj∂2f(x)。
若函数f(x)二阶可微,则它是凸函数当且仅当其的定义域来源于凸集,并且▽2f(x)⪰0(意思是这个Hessian矩阵是半正定矩阵)。
1.1.6 不改变凹凸性的数学变化
- f是凸函数,f(Ax+B)也是凸函数。
- f1,f2..fn是凸函数,ω1,ω2...ωn≥0 ,f(x)=∑i=1Nωnfn也是凸函数。
- f1,f2..fn是凸函数,f(x)=max{f1(x),f2(x)..fn(x)}也是凸函数。
- ∀z∈X f(x,z)是关于x的凸函数,则g(x)=supz∈Xf(x,z)也是关于x的凸函数,(调参,任意一个z,或者说固定z的时候,都有一个x把函数f(x,z),调到上确界)
1.1.7 共轭函数
f:Rd↦R 的共轭函数定义为: f∗(z)=supx∈ψ(zTx−f(x)),共轭函数的定义域为 ψ∗={z∣supx∈ψ(zTx−f(x))<∞}
共轭函数反应的是线性函数zTx与f(x)的最大差值。
比如:f(x)=21x2,共轭函数f∗(z)在 z=2(固定z)的值,就等于2x与f(x)之间的最大差值,因为是凸函数,f′(x)在定域内是单调递增的,当 f′(x)<2的时候f(x)与2x之间的差值是不断变大的,也就是说x<2的时候2x的导数更大,2x变化的更多,当¥f^{'}(x) > 2的时候f(x)的导数更大,f(x)变化变化的更多,差值在变小,所以f^{'}(x) = 2$的时候差值最大.
共轭函数有很好的性质:
- 无论原函数是否是凸函数,共轭函数一定是凸函数。
- 若原函数可微,则:
f∗(▽f(x))=▽f(x)Tx−f(x)=−[f(x)+▽f(x)T(0−x)]
1.2 重要不等式
不理解的先不要管,留着证明用到或者以后学到再看,等结束完入门,一起推导。
1.2.1 Jensen不等式
对任意凸函数f(x)有f(EX)≤Ef(X)
1.2.2 Holder不等式
对p,q∈R+且q1+p1=1有E∣XY∣≤(E∣X∣p)p1(E∣X∣q)q1
1.2.3 Cauchy-Schwarz不等式
针对随机变量和向量有不同的形式
- 对任意随机变量X,Y有E∣XY∣≤EX2EY2
- 对任意向量x,y∈Rd,有∣xTy∣≤∣∣x∣∣∣∣y∣∣
向量的l2范数为 ∣∣x∣∣2=(∣x1∣2+⋅⋅⋅+∣xm∣2)
- 对任意向量x,y∈Rd和正定矩阵A∈Rd×d,有∣xTy∣≤∣∣x∣∣A∣∣y∣∣A−1
注意∣∣x∣∣A=xTAx
1.2.4 Lyapunov不等式
对0<r≤s有(E∣X∣r)r1≤(E∣X∣s)s1
1.2.5 Minkowski不等式
对1≤p有(E∣X+Y∣p)p1≤(E∣X∣p)p1+(E∣Y∣p)p1
1.2.6 Bhatia-Davis不等式
对X∈[a,b]有DX≤(b−EX)(EX−a)≤4b−a2
1.2.7 联合界不等式
$P(X∪Y)≤ P(x) + P(Y)
1.2.8 Markov不等式
对X≥0,∀ϵ>0有P(X≥ϵ)≤ϵEX
1.2.9 Chebyshev不等式
P(∣X−EX∣≥ϵ)≤ϵ2DX
1.2.10 Cantelli不等式
∀ϵ>0有 P(X−EX≥ϵ)≤DX+ϵ2DX
∀ϵ>0有 P(X−EX≤−ϵ)≤DX+ϵ2DX
1.2.11 Chernoff不等式
∀t>0有P(X≥ϵ)=P(etX≥etϵ)≤etϵEetX
∀t<0有P(X≤ϵ)=P(etX≥etϵ)≤etϵEetX
对于离散的数据:X=m∑i=1mXi对r∈[0,1]有
P(X≥(1+r)EX)≤e−mr2EX/3
P(X≤(1−r)EX)≤e−mr2EX/2
1.2.12 Hoeffding不等式
对m个独立随机变量Xi∈[0,1],i∈{m}令X=m∑i=1mXi,有
p(X−EX≥ϵ)≤e−2mϵ2
另一种表达形式为:X≤EX+2m1lnδ1
考虑Xi∈[a,b],i∈[m] 则得到更一般的形式
p(X−EX≥ϵ)≤e−2mϵ2/(b−a)2
p(X−EX≥−ϵ)≤e−2mϵ2/(b−a)2
1.2.13 McDiarmid不等式
对m个独立随机变量Xi∈[0,1],i∈{m},若f:χm→R是关于Xi的实值函数且∀x1,...xm,xil∈χ都有∣f(x1,...,xi,..,xm)−f(x1,...,xil,..,xm)≤ci,则∀ϵ>0有P(f(X1,...,Xm)−Ef(X1,...,Xm)≥ϵ)≤e−2ϵ2/∑i=1mci2,P(f(X1,...,Xm)−Ef(X1,...,Xm)≥ϵ)≥e−2ϵ2/∑i=1mci2
1.2.14 Bennett不等式
对m个独立随机变量Xi∈[0,1],i∈{m}令X=m∑i=1mXi,若Xi−EXi≤1则有P(X≥EX+ϵ)≤e−mϵ2/(2DX1+2ϵ/3)
机器学习中常用到另外一种形式: P(X≥EX+ϵ)≤e−mϵ2/(2DX1+2ϵ/3)=δ
则下面式子至少以1−δ概率成立:X≤EX+ϵ≤EX+3m2ln(1/δ)+m2DXln(δ1)
1.2.15 Bernstein不等式
对m个独立随机变量Xi∈[0,1],i∈{m}令X=m∑i=1mXi,若存在b > 0,使得∀k≥2有E∣Xi∣k≤k!bk−2DX1/2成立则有:
P(X≥EX+ϵ)≤e2DX1+2bϵ−mϵ2
1.2.16 Azuma不等式
若Zi+1对Z0,Z1...Zi的条件期望等于Zi且与Z0,Z1,...Zi−1无关,则这个序列就是鞅,是一个无后效性的序列。
对于均值为μ的鞅Zm,m≥1令Z0=μ若−ci≤Zi−Zi−1≤ci,则∀ϵ>0有
P(Zm−μ≥ϵ)≤e−ϵ2/(2∑i=1mci2)
P(Zm−μ≤−ϵ)≤e−ϵ2/(2∑i=1mci2)
令Xi=Zi−Zi−1可以得到鞅差序列X1,X2,...Xm于是有
P(∑i=1mXi≥ϵ)≤e−ϵ2/(2∑i=1mci2)
P(∑i=1mXi≤−ϵ)≤e−ϵ2/(2∑i=1mci2)
1.3最优化基础
1.3.1 什么是最优化
相信各位都学过极值,我们的极值就是我们要求的一个最优解。
问题的最优解可以表达为:
f(x0)≤f(x),x∈Ω
那么x0就是极小值,极大值类似,最优化就是找到这个极值。
函数可能有多个极值,我们希望找到函数里的最值,但是梯度下降等一些算法只能找到局部最优解,也就是这个局部的最值,不一定是全部的最值。
如果目标函数跟约束函数都是凸函数,那么这个问题就成了凸优化的问题了。
1.3.2 优化问题
一般一个优化问题可以表达为:
xminf(x)
s.t.hi(x)≤0(i∈{m})
其中f:Rd→R称为优化目标函数,hi:Rd→R(i∈{m})称为约束函数,表示在满足hi(x)≤0条件下,寻找f(x)最小化。
当f(x)和h(x)都是凸的时候,则称为凸优化问题。
1.3.3 主问题与对偶问题
一个优化问题可以从两个方面来考虑,也就是主问题和对偶问题。
主问题就是:显式列出m个不等式约束和n个等式约束。写为:
minxf(x)
s.t.hi(x)≤0(i∈[m])
s.t.gj(x)=0(j∈[n])
当主问题难解的时候,但是其对偶问题容易求解,且通过求解对偶问题能得到原始问题的最优解。
主(原)问题如何转换对偶问题?
| (分界线) | 原问题 | 对偶问题 |
|---|
| 决策变量 | n个;>=0;<=0;无约束 | n个;>=0;<=0; =0 |
| 线性约束 | m个;<=0;>=0;=0 | m个;>=0;<=0;无约束 |
| 目标 | 求max,系数是对偶问题中线性约束常数 | 求min,系数是原问题中线性约束常数 |
例子:
- 小明有一个打印机,可以用来赚钱。
- 把打印机出租给小杨,通过出租赚钱。
从小明的角度看不管是1,2哪个条件,小明是想最大化自己的利润,从小杨角度看,小杨是想最大化自己的收入,再联系现有条件,也就是看小杨的支付的最小租金。这就是一对对偶问题。
1.3.4 拉格朗日对偶
为什么需要使用拉格朗日对偶性把原始问题改为对偶问题?
答:无论原问题是什么形式,其对偶问题都是凸问题。
为什么对偶函数一定是凹函数?
也就是证明g(θλ1+(1−θ)λ2,θν1+(1−θ)ν2)≥θg(λ1,ν1)+(1−θ)g(λ2,ν2)
对偶函数就是把λ和ν当成常量,x变化时候的最小值,如果拉格朗日函数没有最小值,则对偶函数取负无穷,所以可以把对偶函数用下面式子表达:
g(θ,ν)=min{L(x1,θ,ν),L(xn,θ,ν)...L(xn,θ,ν)},n→+∞
令γ=(θ,ν)可以得到:
g(θγ1+(1−θ)γ2)=min{L(x1,θ,ν),L(xn,θ,ν)...L(xn,θ,ν)}
所以:
g(θγ1+(1−θ)γ2)≥min{θL(x1,γ1)+(1−θ)L(x1,γ2),θL(x2,γ1)+(1−θ)L(x2,γ2),.....θL(xn,γ1)+(1−θ)L(xn,γ2)}≥θmin{L(x1,γ1),L(x2,γ1)...,L(xn,γ1)}+(1−θ)min{L(x1,γ2),L(x2,γ2)...,L(xn,γ2)}=θg(γ1)+(1−θ)g(γ2))
所以上述公式得到证明,原命题得到证明。
1.3.5 广义拉格朗日函数
可以用广义拉格朗日函数来找最值,λi与μ分别是针对不等式约束hi(x)≤0和gi(x)=0引入的拉格朗日乘子。
L(x,λ,μ)=f(x)+∑i=0nλihi(x)+∑j=0mμgj(x)
相应的拉格朗日对偶函数为:
Г(λ,μ)=infx∈ψL(x,λ,μ)=infx∈ψ(f(x)+∑i=0nλihi(x)+∑j=0mμjgj(x))
因为hi(x)≤0与gi(x)=0,所以∑i=0nλihi(x)+∑j=0mμgj(x)≤0
对于x∈ψ有:Г(λ,μ)=infx∈ψL(x,λ,μ)≤L(x,λ,μ)≤f(x)
所以拉格朗日Г(λ,μ) 给出了 L(λ,μ) 的目标函数f(x)最优值(设为p∗)的下界。
也就是∀λ⪰0都有Г(λ,μ)≤p∗。
设对偶函数Г(λ,μ)的目标函数的最优值是d∗,则d∗是p∗的下界,也就是:
d∗≤p∗
这是弱对偶性
d∗=p∗
这是强对偶性,强对偶性一般不成立,但是若主问题为凸优化问题,且可行域中至少有一处使不等式约束严格成立,则强对偶性成立。
1.3.6 KKT条件
KKT条件主要是用来刻画主问题与对偶问题的最优解之间的关系,令x∗为主问题的最优解,(λ∗,μ∗)为对偶问题的最优解,当强对偶成立时:
f(x∗)=Γ(λ,μ)=xinf(f(x)+∑i=0nλi∗hi(x)+∑j=0mμj∗gj(x))≤f(x∗)+∑i=0nλi∗hi(x∗)+∑j=0mμj∗gj(x∗)≤f(x∗
所以此时不等式应该取等号,所以下面两个条件应该成立:
λ∗hi(x∗)=0 i∈[m]
也就是说这个时候λ∗>0得到hi(x∗)=0以及λ∗=0得到hi(x∗)=0
x∗=argminx∈ψL(x,λ∗,μ∗)=argminx∈ψf(x)+∑i=0nλi∗hi(x)+∑j=0mμj∗gj(x)
通常ψ为全集或x∗位于ψ内部因此拉格朗日函数L(x,λ,μ)在x∗处的梯度为0,也就是:
∇f(x∗)+∑i=0nλi∇hi(x∗)+∑j=0mμj∇gj(x∗)=0
所以KKT条件由以下几个部分组成:
- 主问题约束:hi(x∗)≤0(i∈[m])和 gj(x∗)=0(i∈[m])
- 对偶问题约束:λ∗⪰0
- 互补松弛条件:λ∗hi(x∗)=0(i∈[m])
- 拉格朗日函数在x∗x^*x∗处的梯度为0:∇f(x∗)+∑i=0nλi∇hi(x∗)+∑j=0mμj∇gj(x∗)=0
KKT条件具有如下重要性质:
- 强对偶性成立时,对于任意的优化的问题,KKT条件是最优解的必要条件。
- 对于凸优化问题,KKT条件是充分条件,即满足KKT条件的解一定是最优解。
- 对于强对偶性成立的凸优化问题,KKT条件是充要条件,也就是当x∗是原始问题的最优解当且仅当存在(λ∗,μ∗)满足KKT条件。
1.4 支持向量机
给定训练集D={(x1,y1),(x2,y2),...,(xn,yn)},其中yi∈{+1,−1},支持向量机试图找到一个分界线,把所有的样本以某种规则划分成两部分,得到的线就是划分超平面wTx+b=0,如下图:(来自周志华等老师的 《机器学习理论导引》)

距离划分超平面最近的几个点叫支持向量,两个异类支持向量到超平面的距离之和为间隔。
假设超平面(w,b)能将训练集正确分类,即对于(xi,yi)∈D,若yi=+1,则有wT+b≥0;若yi=−1,则有wT+b≤0。
令wT+b≥+1,yi=+1;wT+b≥−1,yi=−1
则求解最大间隔问题划分超平面对应于优化问题:
w,bmin21∣∣w∣∣2
s.t.(wTx+b)yi≥1
求优化问题得到的拉格朗日余子式为:
L(w,b,a)=21∣∣w∣∣2+∑i=1mai(1−yi(w^T+b))$
其中拉格朗日乘子ai≥0,然后求L的对w,b的偏导:
w=∑i=1maixiyi
∑i=1maiyi=0
式子联立,消去拉格朗日余子式的w,b可以得到:
αmin21∑i=1m∑j=1maiajyiyjxiTxj−∑i=1mai
s.t.∑i=1maiyi=0,ai≥0
这个过程满足KKT条件:
w=∑i=1maixiyi
∑i=1maiyi=0
ai≥0
((wTxi+b)yi−1)≥0
(((wTxi+b)yi−1))=0
如果样本在二维空间不可分,就升维到更高维的说不定就可分了。
如图:(依旧出自《机器学习导引》)

从而x映射为ϕ(x),那么主问题会变成:
w,bmin21∣∣w∣∣2
s.t.(wTϕ(x)+b)yi≥1
相应的对偶问题会变成
αmin21∑i=1m∑j=1maiajyiyjϕ(x)iTϕ(x)j−∑i=1mai
s.t.∑i=1maiyi=0,ai≥0
其中ϕ(x)iTϕ(x)j的计算是xi xj映射特征空间之后的内积,由于特征空间的维数可能很高,直接计算可能很麻烦,所以需要考虑核函数。
κ(xi,xj)=ϕ(x)iTϕ(x)j
即xi xj在特征空间的内积等于原始样本通过函数κ计算的结果,这样就不用计算高维甚至无穷维特征空间的内积,所以对偶问题会变成:
αmin21∑i=1m∑j=1maiajyiyjκ(xi,xj)−∑i=1mai
s.t.∑i=1maiyi=0,ai≥0
令X为输入空间,κ是定义在X×X的对称函数,则κ是和函数当且仅当对于任意数据{x1,x2,...,xn}核矩阵K是一个半正定的n阶方阵Ki,j=κ(xi,xj)
常用核函数如下表(依旧出自《机器学习导引》)

每个核函数都隐式的定义了一个特征空间,称为再生核希尔伯特空间。特征空间是否适合对模型的性能至关重要。现实生活中很难确定合适的和函数使得训练样本在特征空间中线性可分,有时貌似线性可分的结果是由于过拟合造成的,因此有必要允许模型在少量样本上出错。
因此引入软间隔允许某些样本不满足约束:
(wTψ(x)+b)yi≥1
在最大化间隔的同时,不满足约束的样本尽可能少,于是优化的目标可以写为:
w,bmin21∣∣w∣∣2+β∑i=1mζ0/1(yi(wTψ(x)+b)−1)
其中β>0是一个常数,ζ0/1(x)是0/1损失函数。
ζ0/1(x)=I(x<0)
当β为无穷大的时候,w,bmin21∣∣w∣∣2+β∑i=1mζ0/1(yi(wTψ(x)+b)−1)这个式子迫使所有样本均满足约束(wTψ(x)+b)yi≥1,于是w,bmin21∣∣w∣∣2+β∑i=1mζ0/1(yi(wTψ(x)+b)−1)等价于w,bmin21∣∣w∣∣2,s.t.yi(wTψ(x)+b)≥1,当β为有限值的时候,w,bmin21∣∣w∣∣2+β∑i=1mζ0/1(yi(wTψ(x)+b)−1)这个式子可以允许一些样本不满足约束。
由于0/1损失函数非凸不连续,所以w,bmin21∣∣w∣∣2+β∑i=1mζ0/1(yi(wTψ(x)+b)−1)不方便求解,银锁支持向量机用hinge损失函数作为替代损失。
ζhinge(x)=max(0,1−x),同时w,bmin21∣∣w∣∣2+β∑i=1mζ0/1(yi(wTψ(x)+b)−1)这个式子变为w,bmin21∣∣w∣∣2+β∑i=1mmax(0,yi(wTϕ(x)+b)−1),同时引入松弛变量ξi≥0可以继续改写为:
w,b,ξimin21∣∣w∣∣2+β∑i=1mξi
s.t.yi(wTψ(x)+b)≥1−ξi
ξi≥0
把该问题化为对偶问题为:
αmin21∑i=1m∑j=1maiajyiyjκ(xi,xj)−∑i=1mai
s.t.∑i=1maiyi=0
0≥ai≥β