(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(yx)0yC

在无限制优化问题中,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的主要内容,如果未能解决你的问题,请参考以下文章

(part2) Optimization basics

Flex Basis与Width的区别

[SAP BASIS]SAP BASIS 升级的stack文件解析

究竟啥是 flex-basis 属性集?

SAP BASIS 基础教程 SAP BASIS daily Job SM13,SM37,SM21

flex-basis 和 width 有啥区别?