(part2) Optimization basics
Posted 大饼博士X
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(part2) Optimization basics相关的知识,希望对你有一定的参考价值。
文章目录
本章来自Ryan Tibshirani的Convex Optimization: Fall 2019课程的Convexity II: Optimization basics小节。
先看一个比较容易理解的概念:最优解组成的集合是一个convex set
如果强凸的函数f,最优解是唯一的:
重写约束条件
限制条件在形式上也可以写成这样的形式(Indicator函数的形式很常见)
对凸函数来说,Local min就是Global min
下面是几个基本技巧:
部分优化:
如果有两个(多个)变量的优化函数,我们可以先求一个变量的最优解(表示成另一个变量的函数),然后优化这个最优解函数。
消除等式约束:
其实有点复杂,不是很明白动机。把x转化为My+x0,要求M的列空间等于A的零空间。这里可以稍微补充一句关于线性代数中矩阵列空间和零空间的概念[2][3][4]。
- 列空间:列空间是指由矩阵A的列向量线性组合而成,因此称为该矩阵的列空间。Col(A) = span(v1,v2,…,vn),其中vi是A的列向量。
- 零空间:矩阵A的零空间就Ax=0的解的集合,是方程特解的任意线性组合。记为Null(A)。
引入Slack变量:
让不等式变方向,并且不是一个函数而是一个变量。但是多了一个等式约束。
例子: SVM的hinge loss form
SVM如果引入松弛因子,就可以写成hinge function形式:
凸函数的一阶最优条件(First-order optimality conditions)
对于一个凸优化问题,有定义域C,如果函数
f
f
f可微,那么一个点
x
x
x是最优点,当且仅当:
∇
f
(
x
)
T
(
y
−
x
)
≥
0
,
∀
y
∈
C
\\nabla f(x)^T (y-x) \\geq 0, \\forall y \\in C
∇f(x)T(y−x)≥0,∀y∈C
在无限制优化问题中,unconstrained optimization, 该最优条件退化为
∇
f
(
x
)
=
0
\\nabla f(x) = 0
∇f(x)=0
例子:二次优化
因为是unconstrained optimization, 最优条件为 ∇ f ( x ) = 0 \\nabla f(x) = 0 ∇f(x)=0。根据 Q Q Q是不是正定矩阵,有一些不同的解,如下:
(其中,如果
Q
Q
Q是正定矩阵,虽然可以得到一个closed form解,但是我理解除非矩阵规模很小,否则求逆的代价还是太大了,因此还是会选择一些其他迭代式的二次优化方法来求解,而不是直接求逆。)
参考资料
[1] http://www.stat.cmu.edu/~ryantibs/convexopt/scribes/convex-opt-scribed.pdf
[2] https://blog.csdn.net/tengweitw/article/details/40039373
[3] 线性子空间,零空间与列空间, https://www.q-math.com/?page_id=1430
[4] 线性代数(十) : 矩阵的列空间与零空间, https://www.cnblogs.com/wuoshiwzm/p/7339553.html
以上是关于(part2) Optimization basics的主要内容,如果未能解决你的问题,请参考以下文章
[SAP BASIS]SAP BASIS 升级的stack文件解析