今天开始学Convex Optimization:第2章 背景数学知识简述

文章目录

  • 第2章 背景数学知识简述
    • 2.1 数学分析和微积分基础
      • 函数性质
      • 集合Sets
      • Norms
      • 线性函数、仿射函数
      • 函数的微分(导数)
    • 2.2 线性代数基础
      • Matrix Subspaces
      • 正定和半正定矩阵
      • 特征分解
      • 奇异值分解Singular Value Decomposition
      • 矩阵伪逆Pseudo-inverse
      • 舒尔补、分块矩阵求逆公式
    • 2.3 经典机器学习算法
  • 参考资料

第2章 背景数学知识简述

主要参考是[1]和[2]的内容。特别是[2],比较简明又全面的介绍了需要的数学背景知识。主要需要数学分析(主要是实分析,Real analysis), 微积分(calculus), 以及线性代数(linear algebra)的最基础数学背景知识。

2.1 数学分析和微积分基础

函数性质

  • 极限
    在这里插入图片描述

  • 连续
    在这里插入图片描述
    一个函数 f f f x x x点连续(dom表示定义域),说明一定存在一个点 y y y,当和 x x x足够近的时候,他们的函数值也一定足够近。

  • 可微
    今天开始学Convex Optimization:第2章 背景数学知识简述_第1张图片
    一个函数 f f f在点 x x x上可微的定义如上,看起来比较复杂。其中 D f ( x ) Df(x) Df(x)叫做函数在 x x x的微分(也叫Jacobian矩阵,一元变量的时候一般叫导数,但是很多时候说导数其实就是说微分,混着用),记成:
    在这里插入图片描述
    函数 f f f在点 x x x的一阶近似,称为affine function,形式如下。当 z z z非常接近 x x x的时候,affine function非常接近 f f f.
    f ( x ) + D f ( x ) ( z − x ) f(x) + Df(x)(z-x) f(x)+Df(x)(zx)

  • 光滑 f f f is smooth if the derivatives of f f f are continuous over all of dom f f f

  • Lipschitz连续:A function f f f is Lipschitz with Lipschitz constant L L L if
    ∥ f ( x ) − f ( y ) ∥ ≤ L ∥ x − y ∥ , ∀ x , y ∈ d o m f \| f(x) - f(y)\| \leq L\|x-y\|, \forall x,y \in domf f(x)f(y)Lxy,x,ydomf
    If we refer to a function f as Lipschitz, we are making a stronger statement about the continuity of f. A Lipschitz function is not only continuous, but it does not change value very rapidly, either.

  • 泰勒展开Taylor Expansion:一个函数的一阶泰勒展开,是函数的线性近似
    f ( y ) ≈ f ( x ) + ▽ f ( x ) ( y − x ) f(y) \approx f(x)+\triangledown f(x)(y-x) f(y)f(x)+f(x)(yx)
    可以看成是函数 f ( x + ( y − x ) ) f(x + (y-x)) f(x+(yx)) x x x处展开。二阶泰勒展开形式是
    f ( y ) ≈ f ( x ) + ▽ f ( x ) ( y − x ) + 1 2 ( y − x ) T ▽ 2 f ( x ) ( y − x ) f(y) \approx f(x)+\triangledown f(x)(y-x) + \frac{1}{2}(y-x)^T \triangledown^2 f(x)(y-x) f(y)f(x)+f(x)(yx)+21(yx)T2f(x)(yx)

集合Sets

  • Interior内点集:
    在这里插入图片描述
    意思是说,以x为中心,存在一个球全部在集合C中,那么x就是集合C的一个内点。虽然上面是用欧氏距离来定义距离的,实际上所有的norm形式都可以同样的内点集合。所有集合C的内点集合叫做C的interior,记为 int C \text{int}C intC.

  • 补集:The complement of the set C ⊆ R n C \subseteq R^n CRn is denoted by R n ∖ C R^n \setminus C RnC. It is the set of all points not in C.

  • 开集:A set C is open if int C = C \text{int}C = C intC=C, i.e., every point in C is an interior point.

  • 闭集:A set C ⊆ R n C \subseteq R^n CRn is closed if its complement R n ∖ C = { x ∈ R n ∣ x ∉ C } R^n \setminus C = \{x \in R^n | x \notin C\} RnC={xRnx/C} is open.

  • 闭包Closure:
    今天开始学Convex Optimization:第2章 背景数学知识简述_第2张图片
    理解有点复杂,后半句是说,如果 x x x属于集合C的闭包中,那么就是说集合C中存在着和 x x x点无限接近的点( y y y)。

  • 边界:今天开始学Convex Optimization:第2章 背景数学知识简述_第3张图片
    很形象,如果一个C上的点 x x x,存在和它无限接近的点 y y y在C中,也存在和它无限接近的点 z z z不在集合C中,那么 x x x就是一个边界点。边界的概念也可以用来区分开集和闭集——如果一个集合C包含了它的边界,那么是闭集;如果C和它的边界点集合的交集为空,那么它是开集。

Norms

  • 内积、欧氏距离、项链夹角
    今天开始学Convex Optimization:第2章 背景数学知识简述_第4张图片
  • 常见的例子: l 0 , l 1 , l 2 , l ∞ l_0,l_1,l_2,l_\infty l0,l1,l2,l

今天开始学Convex Optimization:第2章 背景数学知识简述_第5张图片
在这里插入图片描述
在这里插入图片描述

  • Frobenius norm:
    今天开始学Convex Optimization:第2章 背景数学知识简述_第6张图片
  • Dual norm:这个概念在优化理论推导的时候貌似是很重要的,但是目前我还不能体会精华,就先放一下截图,不详细展开。以后如果能更理解透彻,再来补充。
    今天开始学Convex Optimization:第2章 背景数学知识简述_第7张图片

线性函数、仿射函数

在这里插入图片描述

函数的微分(导数)

这一块在[2]中的附录讲的比较详细,这里不展开特别多的。
今天开始学Convex Optimization:第2章 背景数学知识简述_第8张图片

  • 矩阵乘积和矩阵逆的微分
    今天开始学Convex Optimization:第2章 背景数学知识简述_第9张图片
    今天开始学Convex Optimization:第2章 背景数学知识简述_第10张图片

  • 矩阵迹的微分(Derivative of Traces)
    在机器学习中,有时候需要对一个矩阵的F模进行微分,而矩阵的F是可以转换为矩阵的迹,矩阵的迹的微分的计算可以帮助我们计算矩阵的F模的微分。比如在线性回归模型中,输出不是0和1,而是一个向量,这时整个输出矩阵就不是向量而是矩阵的。这会在最后的例子中具体说明。[3]

  • 矩阵的F模和迹的关系:
    在这里插入图片描述
    其中 A ∗ A^* A A A A的共轭转置。矩阵的迹的性质
    在这里插入图片描述

Matrix Cookbook中给出了矩阵迹的微分的一般表达式: ∂ ∂ x t r ( F ( x ) ) = f ( x ) T \frac {\partial }{ \partial x}tr(F(x))=f(x)^T xtr(F(x))=f(x)T。其中, f ( ) f() f() F ( ) F() F()的微分。
给一下常用的求矩阵微分的公式:

今天开始学Convex Optimization:第2章 背景数学知识简述_第11张图片

今天开始学Convex Optimization:第2章 背景数学知识简述_第12张图片

2.2 线性代数基础

Matrix Subspaces

  • 矩阵值域Range: 矩阵 A ∈ R m × n A \in R^{m \times n} ARm×n,A的值域Range的含义: x x x是一个任意的n维向量,经过矩阵A(m*n的矩阵)变换后,得到的所有可能的n维向量的集合就是A的值域。或者说,the set of all vectors in R m R^m Rm that can be written as linear combinations of the columns of A. 记成:

R ( A ) = { A x ∣ x ∈ R n } R(A) = \{Ax | x \in R^n\} R(A)={AxxRn}

  • 行空间Row Space: The row space of a matrix A is the subspace spanned of the rows of A.
  • 列空间Column Space: The column space of a matrix A is the subspace spanned of the columns of A.
  • 零空间Null Space: The null space of a matrix A is the set of all x such that A x = 0 Ax = 0 Ax=0.
  • 矩阵的秩Rank:线性无关的列数(或者行数), r a n k A ≤ m i n { m , n } rankA \leq min\{m,n\} rankAmin{m,n},满秩的时候取等号。如果矩阵A是方阵并且满秩,那么A是可逆的。在这里插入图片描述
  • 正交子空间Orthogonal Subspaces
    在这里插入图片描述

正定和半正定矩阵

今天开始学Convex Optimization:第2章 背景数学知识简述_第13张图片

下面给出最最基本的矩阵特征分解以及SVD分解的形式,具体应用就需要大家自己再去理解了。

特征分解

一般写成下面这样的形式:
今天开始学Convex Optimization:第2章 背景数学知识简述_第14张图片
特征值全部非零 <==>那么矩阵A可逆,是等价的两个条件。而且很重要的是,可以直接对特征值逐个求逆就行了。特征值一般习惯用降序排列,也就是说 λ 1 \lambda_1 λ1是最大特征值。这里的大小是用数值比较的,也就是正的大于负的,而不是看绝对值大小。
在这里插入图片描述
下面两种Norm的定义,可以用特征值来表示。F-norm稍微说下,很容易理解,用特征分解:
∣ ∣ A ∣ ∣ F 2 = t r a c e ( A T A ) = t r a c e ( Q ∑ Q T Q ∑ Q T ) = t r a c e ( Q ∑ 2 Q T ) = t r a c e ( ∑ 2 Q T Q ) = t r a c e ( ∑ 2 ) ||A||_F^2 = trace(A^TA)=trace(Q\sum Q^TQ\sum Q^T)=trace(Q\sum^2Q^T)=trace(\sum^2Q^TQ)=trace(\sum^2) AF2=trace(ATA)=trace(QQTQQT)=trace(Q2QT)=trace(2QTQ)=trace(2)
今天开始学Convex Optimization:第2章 背景数学知识简述_第15张图片
一些特性:半正定矩阵开根号
今天开始学Convex Optimization:第2章 背景数学知识简述_第16张图片
以及简单的不等式性质:其中的sup和inf是上确界和下确界的意思,详细可以看我整理的——深度学习/机器学习入门基础数学知识整理(七):数学上sup、inf含义,和max、min的区别
今天开始学Convex Optimization:第2章 背景数学知识简述_第17张图片

奇异值分解Singular Value Decomposition

今天开始学Convex Optimization:第2章 背景数学知识简述_第18张图片
一些SVD分解的性质:
今天开始学Convex Optimization:第2章 背景数学知识简述_第19张图片

矩阵伪逆Pseudo-inverse

今天开始学Convex Optimization:第2章 背景数学知识简述_第20张图片

舒尔补、分块矩阵求逆公式

也可以看下[5],不过Schur补的概念好像我也没怎么用到。先当做结论记一下吧。
今天开始学Convex Optimization:第2章 背景数学知识简述_第21张图片

2.3 经典机器学习算法

最后,[1]还简单罗列了一下经典机器学习最入门的几个算法:

  • Linear Regression
  • Logistic Regression
  • Support Vector Machines
  • Regularization/Penalization(Ridge Regression和Lasso)

没有详细展开,我也不在这个系列中讲了,都是基本入门的算法。也是楼主自己在博士期间正式学习Machine Learning开始时就先学的一些算法,如果你是一个ML新手,建议这些算法都要看一遍。可以翻看我其他的入门介绍专栏: 我的Blog文章索引::机器学习方法系列,深度学习方法系列,三十分钟理解系列等,基本上上面的算法都有涉及(除了SVM我一直没有写,如果要学习的话推荐看[6])。

参考资料

[1] http://www.stat.cmu.edu/~ryantibs/convexopt/prerequisite_topics.pdf
[2] Convex optimization book: Appendix A Mathematical background
[3] https://blog.csdn.net/yc461515457/article/details/49682473
[4] Matrix Cookbook
[5] https://blog.csdn.net/itnerd/article/details/83385817
[6] A Tutorial on Support Vector Machines for Pattern Recognition, 1998

你可能感兴趣的:(优化理论学习)