文章目录

  • 第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 数学分析和微积分基础

函数性质

  • 极限

  • 连续

    一个函数fff在xxx点连续(dom表示定义域),说明一定存在一个点yyy,当和xxx足够近的时候,他们的函数值也一定足够近。

  • 可微

    一个函数fff在点xxx上可微的定义如上,看起来比较复杂。其中Df(x)Df(x)Df(x)叫做函数在xxx的微分(也叫Jacobian矩阵,一元变量的时候一般叫导数,但是很多时候说导数其实就是说微分,混着用),记成:

    函数fff在点xxx的一阶近似,称为affine function,形式如下。当zzz非常接近xxx的时候,affine function非常接近fff.
    f(x)+Df(x)(z−x)f(x) + Df(x)(z-x) f(x)+Df(x)(z−x)

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

  • Lipschitz连续:A function fff is Lipschitz with Lipschitz constant LLL if
    ∥f(x)−f(y)∥≤L∥x−y∥,∀x,y∈domf\| f(x) - f(y)\| \leq L\|x-y\|, \forall x,y \in domf ∥f(x)−f(y)∥≤L∥x−y∥,∀x,y∈domf
    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)(y−x)
    可以看成是函数f(x+(y−x))f(x + (y-x))f(x+(y−x))在xxx处展开。二阶泰勒展开形式是
    f(y)≈f(x)+▽f(x)(y−x)+12(y−x)T▽2f(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)(y−x)+21​(y−x)T▽2f(x)(y−x)

集合Sets

  • Interior内点集:

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

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

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

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

  • 闭包Closure:

    理解有点复杂,后半句是说,如果xxx属于集合C的闭包中,那么就是说集合C中存在着和xxx点无限接近的点(yyy)。

  • 边界:
    很形象,如果一个C上的点xxx,存在和它无限接近的点yyy在C中,也存在和它无限接近的点zzz不在集合C中,那么xxx就是一个边界点。边界的概念也可以用来区分开集和闭集——如果一个集合C包含了它的边界,那么是闭集;如果C和它的边界点集合的交集为空,那么它是开集。

Norms

  • 内积、欧氏距离、项链夹角
  • 常见的例子:l0,l1,l2,l∞l_0,l_1,l_2,l_\inftyl0​,l1​,l2​,l∞​



  • Frobenius norm:
  • Dual norm:这个概念在优化理论推导的时候貌似是很重要的,但是目前我还不能体会精华,就先放一下截图,不详细展开。以后如果能更理解透彻,再来补充。

线性函数、仿射函数

函数的微分(导数)

这一块在[2]中的附录讲的比较详细,这里不展开特别多的。

  • 矩阵乘积和矩阵逆的微分

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

  • 矩阵的F模和迹的关系:

    其中A∗A^*A∗是AAA的共轭转置。矩阵的迹的性质

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



2.2 线性代数基础

Matrix Subspaces

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

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

  • 行空间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 Ax=0Ax = 0Ax=0.
  • 矩阵的秩Rank:线性无关的列数(或者行数),rankA≤min{m,n}rankA \leq min\{m,n\}rankA≤min{m,n},满秩的时候取等号。如果矩阵A是方阵并且满秩,那么A是可逆的。
  • 正交子空间Orthogonal Subspaces

正定和半正定矩阵

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

特征分解

一般写成下面这样的形式:

特征值全部非零 <==>那么矩阵A可逆,是等价的两个条件。而且很重要的是,可以直接对特征值逐个求逆就行了。特征值一般习惯用降序排列,也就是说λ1\lambda_1λ1​是最大特征值。这里的大小是用数值比较的,也就是正的大于负的,而不是看绝对值大小。

下面两种Norm的定义,可以用特征值来表示。F-norm稍微说下,很容易理解,用特征分解:
∣∣A∣∣F2=trace(ATA)=trace(Q∑QTQ∑QT)=trace(Q∑2QT)=trace(∑2QTQ)=trace(∑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)∣∣A∣∣F2​=trace(ATA)=trace(Q∑QTQ∑QT)=trace(Q∑2QT)=trace(∑2QTQ)=trace(∑2)

一些特性:半正定矩阵开根号

以及简单的不等式性质:其中的sup和inf是上确界和下确界的意思,详细可以看我整理的——深度学习/机器学习入门基础数学知识整理(七):数学上sup、inf含义,和max、min的区别

奇异值分解Singular Value Decomposition


一些SVD分解的性质:

矩阵伪逆Pseudo-inverse

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

也可以看下[5],不过Schur补的概念好像我也没怎么用到。先当做结论记一下吧。

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

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

  1. 今天开始学Convex Optimization:引言、第1章基本概念介绍

    文章目录 引言 第1章 Introduction 凸优化问题 最小二乘问题 线性规划问题 一个优化问题例子:最佳灯源问题 Chebyshev逼近问题,转化成线性规划 参考资料 2020年我自己希望多看 ...

  2. Numerical Optimization和Convex optimization 两本书的选择?

    Numerical Optimization和Convex optimization 两本书的选择? - 知乎https://www.zhihu.com/question/49689245 Numer ...

  3. 机器学习与深度学习神器!凸优化(Convex Optimization)学习必备

    Boyd的Convex Optimization是神书,真的想搞科研可以学一下这个书,但这个书理论多,侧重凸分析的基础,花了非常长的篇幅介绍函数的凸性.对偶等,但在机器学习中,至少在刚入门不久的阶段这 ...

  4. 实用线性代数和凸优化 Convex Optimization

    If not specified, the following conditions are assumed. X∈Rn∗mA∈Rm∗nX \in R^{n*m} \\ A \in R^{m*n} X ...

  5. 一起来学Spring Cloud | 第五章:熔断器 ( Hystrix)

    在微服务项目中,一个系统可以分割成很多个不同的服务模块,不同模块之间我们通常需要进行相互调用.springcloud中可以使用RestTemplate+Ribbon和Feign来调用(工作中基本都是使 ...

  6. 笔记:Tensor RPCA: Exact recovery of corrupted low-rank tensors via convex optimization

    Lu, C., et al., Tensor robust principal component analysis: Exact recovery of corrupted low-rank ten ...

  7. 对凸优化(Convex Optimization)的一些浅显理解

    ©作者 | 李航前 单位 | EPFL 研究方向 | 计算机图形学与三维视觉 最近学习了一些凸优化课程,整理笔记的同时写下一些自己的理解,向着头秃的道路上越走越远. 凸优化是应用数学的一个基本分支,几 ...

  8. 凸优化(convex optimization)第二讲:convex set

    Convex opt  第二讲(convex set) Affine set affine set 表示经过两点的一条线,这条线满足: 相较于后面我们要讨论的convex set,这里少了一些限制,是 ...

  9. Convex Optimization介绍

    最近在看Stephen Boyd的<Convex Optimization>,其中涉及不少数学知识和习题,在此整理一下阅读此书的学习笔记. 因为书上的记号比较详尽,所以在博客中仅摘取一些自 ...

最新文章

  1. Prometheus 有瓶颈?怎么打造企业级监控系统?
  2. opencv Canny边缘检测用法
  3. 将项目导入myeclipse后 tortoise svn 右键项目不能更新和提交
  4. CSS3:FlexBox的详解
  5. 2.10 stack
  6. Linux操作系统RedHat6.5安装
  7. Python标准库-string模块《未完待续》
  8. java二级考试大纲_计算机二级Java考试内容大纲
  9. 整理:国内主流云计算方案比较
  10. 写在控制层的VO是什么?
  11. martyr2s提出的计算机练手小项目(未翻译)
  12. 航飞影像的GPS坐标导出、修改、写入(EXIF信息)
  13. qt creator编译qt工程时报错:undefined reference to
  14. (2017多校训练第四场)HDU - 6078 Wavel Sequence dp
  15. 【音乐-睡眠系列】【第一期】音乐改善睡眠质量
  16. FPGA基础实验:点亮LED
  17. web.xml放在哪个目录下_美术资源标准(文件夹目录篇)
  18. Android App数据加密
  19. w7设置双显示器_Win7如何设置双显示器?设置双显示器的方法
  20. 采药问题 c语言程序,采药-题解(C语言代码)

热门文章

  1. apmserv5.2.6 mysql启动失败_win7(xp) APMServ5.2.6 Apache启动失败,MYSQL启动失败 的解决办法...
  2. ModelSim-Altera路径找不到或者不正确的解决办法
  3. 前端开发面试问题及答案收录
  4. html相册代码大全
  5. 雷电2接口_雷电3和Type-C接口一样吗?差别很大
  6. matlab 三维立体图,利用matlab将三维数据画成三维立体图
  7. 一文带你学明白java虚拟机:C1编译器,HIR代码优化
  8. 2020计算机夏令营+预推免统计
  9. 集中派发福利:《神秘的程序员们》年度大抽奖
  10. 本地blast详细用法