机器学习几种常见凸函数的证明

摘要: 证明几种常见的凸函数.

参考链接: https://zhuanlan.zhihu.com/p/138334587
https://blog.csdn.net/qq_40651017/article/details/105660299

1. 预备知识

1.1 Jacobian 矩阵

假设函数 F : R n → R m F: \mathbb{R}^n \to \mathbb{R}^m F:RnRm 是一个将欧氏 n n n 维空间映射到欧氏 m m m 维空间的函数. 该函数由 m m m 个实函数构成: y 1 ( x 1 , … , x n ) y_1(x_1, \dots, x_n) y1(x1,,xn), y 2 ( x 1 , … , x n ) y_2(x_1, \dots, x_n) y2(x1,,xn), … \dots , y m ( x 1 , … , x n ) y_m(x_1, \dots, x_n) ym(x1,,xn). 这些函数的偏导数组成一个 m m m n n n 列的矩阵, 即 Jacobian 矩阵:
J F ( x 1 , … , x n ) = [ ∂ y 1 ∂ x 1 … ∂ y 1 ∂ x n ⋮ ⋱ ⋮ ∂ y m ∂ x 1 … ∂ y m ∂ x n ] (1) J_F (x_1,\dots,x_n) = \left[ \begin{matrix} \frac {\partial y_1} {\partial x_1} & \dots & \frac {\partial y_1} {\partial x_n} \\ \vdots & \ddots & \vdots \\ \frac {\partial y_m} {\partial x_1} & \dots & \frac {\partial y_m} {\partial x_n} \end{matrix} \right] \tag{1} JF(x1,,xn)= x1y1x1ymxny1xnym (1)

也可以表示为 ∂ ( y 1 , ⋯   , y m ) ∂ ( x 1 , ⋯   , x n ) \frac {\partial (y_1,\cdots,y_m)} {\partial (x_1,\cdots, x_n)} (x1,,xn)(y1,,ym).
如果 p \mathbf{p} p R n \mathbb{R}^n Rn 的一个点,函数 F F F p \mathbf{p} p 点可微,则 F F F 在这一点的导数由 J F ( p ) J_F(\mathbf{p}) JF(p) 给出.
如果 m = n m = n m=n, 则 J F ( x 1 , … , x n ) J_F(x_1, \dots, x_n) JF(x1,,xn) 是一个方阵,其行列式称为 Jacobian 行列式.

1.2 Hessian 矩阵

如果 f f f 的所有二阶导数都存在, 则 f f f 的Hessian 矩阵为:
H ( f ) ( x ) = [ ∂ 2 f ∂ x 1 2 ∂ 2 f ∂ x 1 ∂ x 2 ⋯ ∂ 2 f ∂ x 1 ∂ x n ∂ 2 f ∂ x 2 ∂ x 1 ∂ 2 f ∂ x 2 2 ⋯ ∂ 2 f ∂ x 2 ∂ x n ⋮ ⋮ ⋱ ⋮ ∂ 2 f ∂ x n ∂ x 1 ∂ 2 f ∂ x n ∂ x 2 ⋯ ∂ 2 f ∂ x n 2 ] (2) H(f)(\boldsymbol{x}) = \left [ \begin{matrix} \frac {\partial^2 f} {\partial x_1^2} & \frac {\partial^2 f} {\partial x_1 \partial x_2} & \cdots & \frac {\partial^2 f} {\partial x_1 \partial x_n} \\ \frac {\partial^2 f} {\partial x_2 \partial x_1} & \frac {\partial^2 f} {\partial x_2^2} & \cdots & \frac {\partial^2 f} {\partial x_2 \partial x_n} \\ \vdots & \vdots & \ddots & \vdots \\ \frac {\partial^2 f} {\partial x_n \partial x_1} & \frac {\partial^2 f} {\partial x_n \partial x_2} & \cdots & \frac {\partial^2 f} {\partial x_n^2} \end{matrix} \right] \tag{2} H(f)(x)= x122fx2x12fxnx12fx1x22fx222fxnx22fx1xn2fx2xn2fxn22f (2)
可以用二阶导数的值判断梯度下降的速率。
注意: 这里的 f f f 仅仅是一个多元变量的函数, 而不是 1.1 节中的 F F F 那种多个函数.

1.3 正定矩阵

定义 2. 令 A \mathbf{A} A n × n n \times n n×n 矩阵. 如果对于任意长度为 n n n 的非零列向量 x \mathbf{x} x, 均有 x T A x > 0 \mathbf{x}^{\mathsf{T}} \mathbf{A} \mathbf{x} > 0 xTAx>0, 则 A \mathbf{A} A正定矩阵.
定理 1. A \mathbf{A} A 正定 ⇔ \Leftrightarrow A \mathbf{A} A 的所有特征值为正 ⇔ \Leftrightarrow A \mathbf{A} A 的顺序主子式为正.

定义 3. 令 A \mathbf{A} A n × n n \times n n×n 矩阵. 如果对于任意长度为 n n n 的非零列向量 x \mathbf{x} x, 均有 x T A x ≥ 0 \mathbf{x}^{\mathsf{T}} \mathbf{A} \mathbf{x} \geq 0 xTAx0, 则 A \mathbf{A} A半正定矩阵.

2. 一元凸函数

定义4. 对于一元函数 f ( x ) f(x) f(x), 如果对于任意 t ∈ [ 0 , 1 ] t \in [0, 1] t[0,1] 均满足:
f ( t x 1 + ( 1 − t ) x 2 ) ≤ t f ( x 1 ) + ( 1 − t ) f ( x 2 ) , (1) f(t x_1 + (1 - t) x_2) \leq t f(x_1) + (1 - t) f(x_2)\tag{1}, f(tx1+(1t)x2)tf(x1)+(1t)f(x2),(1)
则称 f ( x ) f(x) f(x) 为凸函数 (convex function).

图片来源: https://blog.csdn.net/qq_40651017/article/details/105660299

定理 1. 如果 f ′ ′ ( x ) ≥ 0 f''(x) \ge 0 f′′(x)0 恒成立, 则 f ( x ) f(x) f(x) 是凸函数.

例 1. f ( x ) = x 2 f(x) = x^2 f(x)=x2, f ′ ( x ) = 2 x f'(x) = 2x f(x)=2x, f ′ ′ ( x ) = 2 > 0 f''(x) = 2 > 0 f′′(x)=2>0, 因此 f ( x ) f(x) f(x) 为凸函数.

结论 1. 多个凸函数的和也是凸函数.
证明: 由函数求导的可加性可知.

3. 多元凸函数

定义5. 如果 f f f 的 Hessian 矩阵是半正定的,则 f ( X ) f(X) f(X)凸函数.

4. 几种常用函数

4.1 权值向量的 l 1 l_1 l1 范数

w 1 = ( w 11 , w 12 ) \mathbf{w}_1 = (w_{11}, w_{12}) w1=(w11,w12), w 2 = ( w 21 , w 22 ) \mathbf{w}_2 = (w_{21}, w_{22}) w2=(w21,w22).
f ( t w 1 + ( 1 − t ) w 2 ) = f ( t w 11 + ( 1 − t ) w 21 , t w 12 + ( 1 − t ) w 22 ) = ∣ t w 11 + ( 1 − t ) w 21 ∣ + ∣ t w 12 + ( 1 − t ) w 22 ∣ f(t \mathbf{w}_1 + (1 - t)\mathbf{w}_2) = f(t w_{11} + (1 - t)w_{21}, t w_{12} + (1 - t)w_{22}) = |t w_{11} + (1 - t)w_{21}| + |t w_{12} + (1 - t)w_{22}| f(tw1+(1t)w2)=f(tw11+(1t)w21,tw12+(1t)w22)=tw11+(1t)w21+tw12+(1t)w22

t f ( w 1 ) + ( 1 − t ) f ( w 2 ) = t ∣ w 11 ∣ + t ∣ w 21 ∣ + ( 1 − t ) ∣ w 21 ∣ + ( 1 − t ) ∣ w 22 ∣ t f(\mathbf{w}_1) + (1 - t)f(\mathbf{w}_2) = t|w_{11}| + t|w_{21}| + (1-t)|w_{21}| + (1-t)|w_{22}| tf(w1)+(1t)f(w2)=tw11+tw21+(1t)w21+(1t)w22.
前式的某些值如何符号相反会抵消, 如 w 11 w_{11} w11 w 21 w_{21} w21, 但后者不会. 因此 前式 ≤ \le 后式.
得证.

几何解释参见 https://zhuanlan.zhihu.com/p/60236837, 虽然和我理解的有些不同.

4.2 权值向量的 l 2 l_2 l2 范数

命题 1. 令 w \mathbf{w} w 为一个权值向量,
f ( w ) = ∥ w ∥ 2 2 (2) f(\mathbf{w}) = \|\mathbf{w}\|_2^2 \tag{2} f(w)=w22(2)
是一个凸函数.
证明:
f ( w ) = ∑ i = 1 m w i 2 f(\mathbf{w}) = \sum_{i=1}^m w_i^2 f(w)=i=1mwi2,
H ( f ) ( w ) = 2 E m × m H(f)(\mathbf{w}) = 2 \mathbf{E}_{m \times m} H(f)(w)=2Em×m 为单位矩阵的 2 倍, 也为一个正定矩阵, 因此 (2) 为一个凸函数.

4.3 权值矩阵的 F 范数

命题 2. 令 W \mathbf{W} W 为一个权值矩阵,
f ( w ) = ∥ w ∥ F 2 (2) f(\mathbf{w}) = \|\mathbf{w}\|_F^2 \tag{2} f(w)=wF2(2)
是一个凸函数.
证明:
与命题 1 的证明同理.

4.4 矩阵的核范数

矩阵 X \mathbf{X} X 的核范数 ∥ X ∥ ∗ = t r ( X T X ) \|\mathbf{X}\|_* = tr \left(\sqrt{\mathbf{X}^{\mathsf{T}}\mathbf{X}}\right) X=tr(XTX ) 是一个凸函数.
证明: 参见 https://hyper.ai/wiki/2687.
考虑 X \mathbf{X} X 的奇异值分解 X = U Σ V T \mathbf{X} = \mathbf{U} \Sigma \mathbf{V}^\mathsf{T} X=UΣVT. 同时注意
t r ( X T X ) = t r ( V Σ T U T U Σ V T ) = t r ( V Σ T Σ V T ) U T U = E = t r ( V Σ 2 V T ) Σ T = Σ = t r ( V V T Σ 2 ) Σ 为对角矩阵 = t r ( Σ 2 ) = t r ( Σ ) \begin{array}{lll} tr(\sqrt{\mathbf{X}^{\mathsf{T}}\mathbf{X}}) & = tr(\sqrt{\mathbf{V} \Sigma^\mathsf{T} \mathbf{U}^\mathsf{T} \mathbf{U} \Sigma \mathbf{V}^\mathsf{T}})\\ & = tr(\sqrt{\mathbf{V} \Sigma^\mathsf{T} \Sigma \mathbf{V}^\mathsf{T}}) & \mathbf{U}^\mathsf{T}\mathbf{U} = \mathbf{E}\\ & = tr(\sqrt{\mathbf{V} \Sigma^2 \mathbf{V}^\mathsf{T}}) & \Sigma^\mathsf{T} = \Sigma\\ & = tr(\sqrt{\mathbf{V} \mathbf{V}^{\mathsf{T}} \Sigma^2}) & \Sigma 为对角矩阵\\ & = tr(\sqrt{\Sigma^2})\\ & = tr(\Sigma) \end{array} tr(XTX )=tr(VΣTUTUΣVT )=tr(VΣTΣVT )=tr(VΣ2VT )=tr(VVTΣ2 )=tr(Σ2 )=tr(Σ)UTU=EΣT=ΣΣ为对角矩阵
特别地, 当 X \mathbf{X} X 为方阵时 U = V \mathbf{U} = \mathbf{V} U=V, 这时称为特征值分解.
但是, 我们还无法保证 t r ( Σ ) ≥ 0 tr(\Sigma) \geq 0 tr(Σ)0.
后面的证明我没看懂, 亟需帮助!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习编程?其实不难,不过在学习编程之前你得先了解你的目的是什么?这个很重要,因为目的决定你的发展方向、决定你的发展速度。
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面设计类、前端与移动、开发与测试、营销推广类、数据运营类、运营维护类、游戏相关类等,根据不同的分类下面有细分了不同的岗位。
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生学习Java开发,但要结合自身的情况,先了解自己适不适合去学习Java,不要盲目的选择不适合自己的Java培训班进行学习。只要肯下功夫钻研,多看、多想、多练
Can’t connect to local MySQL server through socket \'/var/lib/mysql/mysql.sock问题 1.进入mysql路径
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 sqlplus / as sysdba 2.普通用户登录
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服务器有时候会断掉,所以写个shell脚本每五分钟去判断是否连接,于是就有下面的shell脚本。
BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。
假如你已经使用过苹果开发者中心上架app,你肯定知道在苹果开发者中心的web界面,无法直接提交ipa文件,而是需要使用第三方工具,将ipa文件上传到构建版本,开...
下面的 SQL 语句指定了两个别名,一个是 name 列的别名,一个是 country 列的别名。**提示:**如果列名称包含空格,要求使用双引号或方括号:
在使用H5混合开发的app打包后,需要将ipa文件上传到appstore进行发布,就需要去苹果开发者中心进行发布。​
+----+--------------+---------------------------+-------+---------+
数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如 numbers,然后使用 nu...
第一步:到appuploader官网下载辅助工具和iCloud驱动,使用前面创建的AppID登录。
如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):
前不久在制作win11pe,制作了一版,1.26GB,太大了,不满意,想再裁剪下,发现这次dism mount正常,commit或discard巨慢,以前都很快...
赛门铁克各个版本概览:https://knowledge.broadcom.com/external/article?legacyId=tech163829
实测Python 3.6.6用pip 21.3.1,再高就报错了,Python 3.10.7用pip 22.3.1是可以的
Broadcom Corporation (博通公司,股票代号AVGO)是全球领先的有线和无线通信半导体公司。其产品实现向家庭、 办公室和移动环境以及在这些环境...
发现个问题,server2016上安装了c4d这些版本,低版本的正常显示窗格,但红色圈出的高版本c4d打开后不显示窗格,
TAT:https://cloud.tencent.com/document/product/1340