支持向量机 数学推导 Part4
2018-03-06 23:59
155 查看
这篇介绍如何求约束问题的解。涉及到很多高等数学和线性代数的知识。
最小化在(w,b)(w,b)中的∥w∥‖w‖, 服从 yi(w⋅xi+b)≥1yi(w⋅xi+b)≥1 , i=1,…,ni=1,…,n。
这个优化问题有n个约束。在解决难题之前,先介绍如何解决无约束条件最小化问题。
函数 ff 在x∗x∗处的二阶导数大于零,可以用矩阵的形式可以表示为 z⊺((∇2f(x∗))z>0,∀z∈Rnz⊺((∇2f(x∗))z>0,∀z∈Rn,其中二阶偏导数为 ∇2f(x)=⎛⎝⎜⎜⎜⎜⎜∂2f∂x21⋮∂2f∂xn∂x1⋯⋱⋯∂2f∂x1∂xn⋮∂2f∂x2n⎞⎠⎟⎟⎟⎟⎟∇2f(x)=(∂2f∂x12⋯∂2f∂x1∂xn⋮⋱⋮∂2f∂xn∂x1⋯∂2f∂xn2)
二维情况下
给定二阶导数连续的映射f:R2→Rf:R2→R,海森矩阵的行列式,可用于分辨ff的临界点是属于鞍点还是极值点。
- H > 0:若∂2f∂x2>0∂2f∂x2>0,则(x0,y0)(x0,y0) 是局部极小点;若 ∂2f∂x2<0∂2f∂x2<0,则 (x0,y0)(x0,y0)是局部极大点。
- H < 0: (x0,y0)(x0,y0) 是鞍点。
- H = 0:二阶导数无法判断该临界点的性质,得从更高阶的导数以泰勒公式考虑.
高维情况下
当函数f:Rn→Rf:Rn→R二阶连续可导时,Hessian矩阵H在临界点x0x0上是一个n×nn×n阶的对称矩阵。这也是一个定理,下面会用到。
- 当H是正定矩阵时,临界点x0x0是一个局部的极小值。
- 当H是负定矩阵时,临界点 x0x0是一个局部的极大值。
- H=0,需要更高阶的导数来帮助判断。
- 在其余情况下,临界点 x0x0不是局部极值。
正定矩阵定义: 如果一个x⊺Ax>0x⊺Ax>0,那么对称矩阵A是正定矩阵。
正定有两个条件:1)矩阵A是对称矩阵 2)存在一个可逆变换xx使得x⊺Ax>0x⊺Ax>0。
上面说到,具有连续二阶偏导数的函数,其海森矩阵是对称矩阵。定义中的x⊺Ax>0x⊺Ax>0换成我们的表达式就是 z⊺((∇2f(x∗))z>0,∀z∈Rnz⊺((∇2f(x∗))z>0,∀z∈Rn中,如何确定zz呢?这个通常是很困难的。我们通常用以下定理来证明一个对称矩阵是正定矩阵。
所有特征值大于0
所有余子式大于0
存在非奇异方阵B,使得A=B⊺BA=B⊺B
![](https://i0.wp.com/www.svm-tutorial.com/wp-content/uploads/2016/05/Rosenbrock.png?resize=300,223&ssl=1)
1)求一阶偏导数
∇f(x,y)=⎛⎝∂f∂x∂f∂y⎞⎠∇f(x,y)=(∂f∂x∂f∂y)
∂f∂x=2(200x3−200xy+x−2)∂f∂x=2(200x3−200xy+x−2)
∂f∂y=200(y−x2)∂f∂y=200(y−x2)
2(200x3−200xy+x−2)=0200(y−x2)=02(200x3−200xy+x−2)=0200(y−x2)=0
x=2x=2 y=4y=4
2) 求海森矩阵(所有二阶偏导数和二阶导数)
∇2f(x,y)=⎛⎝⎜∂2f∂x2∂2f∂yx∂2f∂xy∂2f∂y2⎞⎠⎟∇2f(x,y)=(∂2f∂x2∂2f∂xy∂2f∂yx∂2f∂y2)
∂2f∂x2=1200x2−400y+2∂2f∂x2=1200x2−400y+2
∂2f∂xy=−400x∂2f∂xy=−400x
∂2f∂yx=−400x∂2f∂yx=−400x
∂2f∂y2=200∂2f∂y2=200
代入(x,y)=(2,4)(x,y)=(2,4)计算得∇2f(x,y)=(3202−800−800200)∇2f(x,y)=(3202−800−800200)
3)判断其是否为正定矩阵。
首先,这个海森矩阵是对称矩阵,接着就要看他满不满足上面说的三个定理中的任意一个。阶数低的情况下比较好求,这里通过余子式就能看出来。
a11=3202a11=3202
∣∣∣a11a21a12a22∣∣∣=∣∣∣3202−800−800200∣∣∣=3202×200−(−800)×(−800)=400|a11a12a21a22|=|3202−800−800200|=3202×200−(−800)×(−800)=400
局部极小值并不一定是最小值,极大值也不一定大于极小值,可以通过求出所有的极值,选择其中最小的就是最小值。
![](https://i2.wp.com/www.svm-tutorial.com/wp-content/uploads/2016/06/global_vs_local.png?w=749&ssl=1)
才疏学浅,还未能创造知识,先做知识的搬运工!
原文地址:https://www.svm-tutorial.com/2016/09/unconstrained-minimization/
最优分离超平面的优化问题
上一篇文章的最后我们发现要求最优分离超平面等价于求W最小的模。求这个模需要解决一个优化问题:最小化在(w,b)(w,b)中的∥w∥‖w‖, 服从 yi(w⋅xi+b)≥1yi(w⋅xi+b)≥1 , i=1,…,ni=1,…,n。
这个优化问题有n个约束。在解决难题之前,先介绍如何解决无约束条件最小化问题。
无约束条件最小化问题
极值定理:
函数在定义域内有连续的二阶导数,当一阶导数为0,二阶导数大于零时,在该点取得极小值。深入定理
ff 在x∗x∗处梯度为零, 可以表示为 ∇f(x∗)=0∇f(x∗)=0,函数 ff 在x∗x∗处的二阶导数大于零,可以用矩阵的形式可以表示为 z⊺((∇2f(x∗))z>0,∀z∈Rnz⊺((∇2f(x∗))z>0,∀z∈Rn,其中二阶偏导数为 ∇2f(x)=⎛⎝⎜⎜⎜⎜⎜∂2f∂x21⋮∂2f∂xn∂x1⋯⋱⋯∂2f∂x1∂xn⋮∂2f∂x2n⎞⎠⎟⎟⎟⎟⎟∇2f(x)=(∂2f∂x12⋯∂2f∂x1∂xn⋮⋱⋮∂2f∂xn∂x1⋯∂2f∂xn2)
维基百科-海森矩阵
海森矩阵(Hessian matrix 或 Hessian)是一个多变量实值函数的二阶偏导数组成的方块矩阵,所以上面的二阶偏导数也就是海森矩阵。二维情况下
给定二阶导数连续的映射f:R2→Rf:R2→R,海森矩阵的行列式,可用于分辨ff的临界点是属于鞍点还是极值点。
- H > 0:若∂2f∂x2>0∂2f∂x2>0,则(x0,y0)(x0,y0) 是局部极小点;若 ∂2f∂x2<0∂2f∂x2<0,则 (x0,y0)(x0,y0)是局部极大点。
- H < 0: (x0,y0)(x0,y0) 是鞍点。
- H = 0:二阶导数无法判断该临界点的性质,得从更高阶的导数以泰勒公式考虑.
高维情况下
当函数f:Rn→Rf:Rn→R二阶连续可导时,Hessian矩阵H在临界点x0x0上是一个n×nn×n阶的对称矩阵。这也是一个定理,下面会用到。
- 当H是正定矩阵时,临界点x0x0是一个局部的极小值。
- 当H是负定矩阵时,临界点 x0x0是一个局部的极大值。
- H=0,需要更高阶的导数来帮助判断。
- 在其余情况下,临界点 x0x0不是局部极值。
正定矩阵
我们想要寻找函数在某点处的值是不是极小值,在高维情况下,只要海森矩阵是正定矩阵,那么就能够得到在这个点处取得极小值。正定矩阵定义: 如果一个x⊺Ax>0x⊺Ax>0,那么对称矩阵A是正定矩阵。
正定有两个条件:1)矩阵A是对称矩阵 2)存在一个可逆变换xx使得x⊺Ax>0x⊺Ax>0。
上面说到,具有连续二阶偏导数的函数,其海森矩阵是对称矩阵。定义中的x⊺Ax>0x⊺Ax>0换成我们的表达式就是 z⊺((∇2f(x∗))z>0,∀z∈Rnz⊺((∇2f(x∗))z>0,∀z∈Rn中,如何确定zz呢?这个通常是很困难的。我们通常用以下定理来证明一个对称矩阵是正定矩阵。
所有特征值大于0
所有余子式大于0
存在非奇异方阵B,使得A=B⊺BA=B⊺B
例子
寻找 Rosenbrock’s banana function: f(x,y)=(2−x)2+100(y−x2)2f(x,y)=(2−x)2+100(y−x2)2的最小值。![](https://i0.wp.com/www.svm-tutorial.com/wp-content/uploads/2016/05/Rosenbrock.png?resize=300,223&ssl=1)
1)求一阶偏导数
∇f(x,y)=⎛⎝∂f∂x∂f∂y⎞⎠∇f(x,y)=(∂f∂x∂f∂y)
∂f∂x=2(200x3−200xy+x−2)∂f∂x=2(200x3−200xy+x−2)
∂f∂y=200(y−x2)∂f∂y=200(y−x2)
2(200x3−200xy+x−2)=0200(y−x2)=02(200x3−200xy+x−2)=0200(y−x2)=0
x=2x=2 y=4y=4
2) 求海森矩阵(所有二阶偏导数和二阶导数)
∇2f(x,y)=⎛⎝⎜∂2f∂x2∂2f∂yx∂2f∂xy∂2f∂y2⎞⎠⎟∇2f(x,y)=(∂2f∂x2∂2f∂xy∂2f∂yx∂2f∂y2)
∂2f∂x2=1200x2−400y+2∂2f∂x2=1200x2−400y+2
∂2f∂xy=−400x∂2f∂xy=−400x
∂2f∂yx=−400x∂2f∂yx=−400x
∂2f∂y2=200∂2f∂y2=200
代入(x,y)=(2,4)(x,y)=(2,4)计算得∇2f(x,y)=(3202−800−800200)∇2f(x,y)=(3202−800−800200)
3)判断其是否为正定矩阵。
首先,这个海森矩阵是对称矩阵,接着就要看他满不满足上面说的三个定理中的任意一个。阶数低的情况下比较好求,这里通过余子式就能看出来。
a11=3202a11=3202
∣∣∣a11a21a12a22∣∣∣=∣∣∣3202−800−800200∣∣∣=3202×200−(−800)×(−800)=400|a11a12a21a22|=|3202−800−800200|=3202×200−(−800)×(−800)=400
如何求最小值
上面求了半天求的只是求了局部极小值。局部极小值并不一定是最小值,极大值也不一定大于极小值,可以通过求出所有的极值,选择其中最小的就是最小值。
![](https://i2.wp.com/www.svm-tutorial.com/wp-content/uploads/2016/06/global_vs_local.png?w=749&ssl=1)
才疏学浅,还未能创造知识,先做知识的搬运工!
原文地址:https://www.svm-tutorial.com/2016/09/unconstrained-minimization/
相关文章推荐
- 支持向量机 数学推导 Part2
- 【机器学习】支持向量机(Suport Vector Machine)数学推导
- 支持向量机 数学推导 Part5
- 支持向量机 数学推导 Part3
- 支持向量机 数学推导 Part1
- HDU 4919 (数学推导)
- kuangbin带你飞,矩阵(简单数学推导题)
- zoj.3868.GCD Expectation(数学推导>>容斥原理)
- HDU 5826 physics (数学推导)(规律)
- 支持向量机(SVM)的详细推导过程及注解
- Ural 1082|Gaby Ivanushka|数学推导|快速排序|程序分析
- codeforces 153 A. Points on Line 简单数学题 简单推导推导的事情
- 机器学习20-线性支持向量机svm公式推导(二)
- 根据经纬度计算地面两点间的距离-数学公式及推导
- Harris角点检测中的数学推导
- 目标追踪算法——KCF数学推导
- poj 3737 UmBasketella(数学推导||三分)
- codeforces Round #377 div2 A B C(数学推导)
- Codeforces 758C Unfair Poll 数学推导,公式
- 数学推导_循环小数转分数