《Subgradients》
Subderivate-wiki
Subgradient method-wiki
《Subgradient method》
Subgradient-Prof.S.Boyd,EE364b,StanfordUniversity
《Characterization of the Subdifferential of Some Matrix Norms 》

这篇文章主要参考:

《Characterization of the Subdifferential of Some Matrix Norms 》

矩阵\(A \in \mathbb{R}^{m\times n}\),\(\|\cdot\|\)为矩阵范数,注意这里我们并没有限定为何种范数。那么\(\|A\|\)的次梯度可以用下式表示:
\[
\partial \|A\| = \{G \in \mathbb{R}^{m\times n}|\|B\| > \|A\| +\mathrm{trace}[(B-A)^TG],all \: B \in \mathbb{R}^{m \times n} \}
\]
这个定义和之前提到的定义是相一致的,事实上,\(\mathrm{trace}(A^TB)\)就相当于将\(A\)和\(B\)拉成俩个长向量作内积,比较实质就是对应元素相乘再相加。

\(G \in \partial \|A\|\)等价于:

在我看的书里面,对偶范数一般用\(\|\cdot\|_*\)表示,且是如此定义的:
\[
\|z\|_* = \sup \{z^Tx| \|x\| \le 1\}
\]
因为下面还有很多地方是采取截图的形式展示的,所以还是沿袭论文的符号比较好,这里只是简单提一下。
至于为什么等价,论文里面没有提,我只能证明,满足那俩点条件的\(G\)是\(\|A\|\)的次梯度,而不能证明所有次梯度都满足那俩个条件。
证明如下:
假设\(G\)满足上面的条件,那么:
\[
\mathrm{trace}[(B-A)^TG]=-\|A\|+\mathrm{trace}(B^TG) \\
\Rightarrow \|A\| + \mathrm{trace}[(B-A)^TG] = \mathrm{trace}(B^TG)
\]

\[
\mathrm{trace}(\frac{B^T}{\|B\|}G) \le 1=\frac{\|B\|}{\|B\|}
\]
所以
\[
\|B\|\ge \|A\| + \mathrm{trace}[(B-A)^TG]
\]
所以\(G \in \partial \|A\|\)'
不好意思,我想到怎么证明啦!下证,\(G \in \partial \|A\|\)必定满足上述的条件,我们先说明范数的一些性质:
齐次:\(\|tA\|=|t|\|A\|\)
三角不等式:\(\|A+B\| \le \|A\|+\|B\|\)
既然对所有\(B \in \mathbb{R}^{m \times n}\)成立:
\[
\|B\| \ge \|A\| + \mathrm{trace}[(B-A)^TG]
\]
令\(B=1/2A\),可得:
\[
\mathrm{trace}(A^TG) \ge \|A\|
\]

\[
\|A+B\| \le \|A\| + \|B\| \le \|A+B\|-\mathrm{trace}[B^TG]+\|B\| \\
\Rightarrow \mathrm{trace}(B^TG)\le \|B\|
\]
所以:
\[
\|A\| \le \mathrm{trace}(A^TG) \le \|A\| \Rightarrow \mathrm{trace}(A^TG)=\|A\|
\]
到此第一个条件得证。
又:
\[
\mathrm{trace}(B^TG)\le \|B\| \Rightarrow \mathrm{trace}(\frac{B^T}{\|B\|}G) = \|G\|^*\le 1
\]
第二个条件也得证。漂亮!

正交不变范数

正交不变范数定义如下:
\[
\|UAV\| = \|A\|
\]
其中\(U,V\)为任意正交矩阵(原文是\(\|UVA\|=\|A\|\),我认为是作者的笔误)。
注意,如果范数\(\|\cdot\|\)是正交不变的,那么其对偶范数同样是正交不变的,证明如下:
既然:
\[
\|Z\|^*=\sup \{\mathrm{trace}(Z^TX)|\|X\|\le1 \}
\]
\[
\|UZV\|^*=\sup \{\mathrm{trace}(V^TZ^TU^TX)|\|X\|\le1 \}
\]
令\(UXV\)替代\(X\)代入即可得:
\[
\begin{array}{ll}
\|UZV\|^*&=\sup \{\mathrm{trace}(V^TZ^TU^TX)|\|X\|\le1 \}\\
&=\sup \{\mathrm{trace}(V^TZ^TU^TUXV)|\|UXV\|\le1 \}\\
&= \sup \{\mathrm{trace}(Z^TX)|\|X\|\le1 \}\\
&= \|Z\|^*
\end{array}
\]
最后第二个等式成立根据迹的性质和\(\|\cdot\|\)的题设。

我们假设矩阵\(A\)的SVD分解为:
\[
A = U\Sigma V^T
\]
其中\(\Sigma \in \mathbb{R}^{m \times n}\)为对角矩阵(那种歪歪的对角矩阵),\(U\)和\(V\)的列我们用\(u_i,v_i\)来表示。
假设其奇异值:
\[
\sigma_1\le \sigma_2 \le \ldots \le \sigma_n
\]
降序排列。
所有这样的(正交不变?)范数都能用下式来定义:
\[
\|A\| = \phi(\sigma)
\]
其中\(\sigma = (\sigma_1, \ldots, \sigma_n)^T\),\(\phi\)是一个对称规范函数(symmetirc gague function),满足:

上面这个东西我也证明不了,不过至少谱范数和核函数的确是这样的。

\(\phi\)的对偶可以用下式来表示:
\[
\phi^*= \max \limits_{\phi(y)=1} x^Ty
\]
而且其次梯度更矩阵范数又有相似的一个性质:

证明是类似的,不多赘述。

一种常见的正交不变范数可由下式定义:
\[
\|A\| = \|\sigma\|_p
\]
比较经典的,\(p=1\)对应核范数,\(p=2\)对应F范数,\(p=\infty\)对应谱范数。

定理1

证明如下:

这一部分的证明需要注意,不要把\(A\)当成题目中的\(A\),当成\(A+rR\)可能更容易理解。

这部分的证明,主要是得出了\(\sigma_i(\gamma)\)的一个泰勒展开,要想证明这个式子成立,可以利用上面的公式,也可以这么想。\(\sigma_i(\gamma)\)是\(A+\gamma R\)的第\(i\)个奇异值:
\[
\lim_{\gamma \rightarrow 0^+} \frac{\sigma_i(\gamma)-\sigma_i}{\gamma}=\lim_{\gamma \rightarrow 0^+} \frac{\sigma_i(A+\gamma R)-\sigma_i}{\gamma}=\lim_{\gamma \rightarrow 0^+} \frac{u_i(\gamma)^T(A+\gamma R)v_i(\gamma)-\sigma_i}{\gamma}
\]
即为:
\[
\lim_{\gamma \rightarrow 0^+} \frac{u_i(\gamma)^TAv_i(\gamma)-\sigma_i}{\gamma}+u_i^TRv_i
\]
所以左边这项等于0?

下面的证明中,第一个不等式成立的原因是:
\[
\phi(\sigma) \ge \phi(\sigma(\gamma))+(\sigma-\sigma(\gamma))^T\mathrm{d}(\gamma)
\]
又\(\sigma(\gamma)^T\mathrm{d}(r)=\phi(\sigma(r))\)

类似地,我们就可以得到下面的分析:

有一点点小问题是,没有体现出\(\max\)的,不过从(2.5)看,因为这个不等式是对所有\(\mathrm{d}\in \partial \phi(\sigma)\)都成立的,所以结果成立。怎么说呢,这个有点像是上确界的东西。

我们定义符号\(\mathrm{conv} \{\cdot \}\),表示集合的凸包。

定理2

注意,我们的最终目的是找到\(\partial \|A\|\)利用前面的铺垫我们可以得到定理2:


相当有趣的一个东西。

下面是证明:

证明总的是分俩大部分来证明的,首先得证明\(G \in \mathrm{conv} \{S(A)\}\)满足上面的俩个条件,即是次梯度,再证明,不存在一个次梯度不属于\(\mathrm{conv} \{S(A)\}\)。
其实下面这部分的证明,我觉得用\(A = U_i\Sigma_i V_i^T\)表示比较好,作者的意思应该是奇异值分解可以用不同的序,毕竟我们不能要求凸包中的元素有合适的序。

下面这部分的证明,感觉没什么好讲的。

下面这部分证明,打问号的地方我有疑惑,以为我觉得只能知道\(\phi^*(\mathrm{d}_i)\le 1\),而且在这个条件下,证明依旧。好吧,我明白了,因为:\(\phi^*(\mathrm{d}_i)=\max \limits_{\phi(x)=1}\mathrm{d}_i^Tx\),又\(\mathrm{d}_i \in \phi(\sigma)\),所以只需令\(x=\sigma/|\phi(\sigma)\)即可得\(\phi^*(\mathrm{d}_i)=1\)。

到此,俩个条件满足,第一部分证毕。

第二部分用到了一个理论,我没有去查阅。这部分证明的思想是,即便存在这么一个\(G\)不属于\(\mathrm{conv}S(A)\),\(G\)依旧得满足\(\mathrm{trace}(R^TG) \le \max \limits_{\mathrm{d \in \partial \phi(\sigma)}} \sum \limits_{t=1}^n d_i u_i^TRv_i\)(要知道,后面这个部分是类似右导数的存在!!!),这个的原理是一种极限的思想,不好表述,但是真的真的蛮容易证明的。

例子:谱范数



凸包,凸包,切记切记。

例子:核范数


上面倒数第二行那个式子成立,要注意\(\sum_i \lambda_i =1\)这个条件。

注意:这里出现\(Y,Z\)的原因是\(U^{(2)},V^{(2)}\)对应的奇异值为0,所以其顺序是任意的,并没有对应一说。

算子范数

让\(\|\cdot\|_A\)和\(\|\cdot\|_B\)分别表示定义在\(\mathbb{R}^m\)和\(\mathbb{R}^n\)上的范数,那么对于矩阵\(A \in \mathbb{R}^{m \times n}\)上的算子范数,可以如下定义:
\[
\|A\| = \max \limits_{\|x\|_B=1} \|Ax\|_A
\]
注意,矩阵范数,向量范数都满足引里的那个等价条件(实际上,只需满足正定性和三角不等式即可,就能推出那个等价条件)。

定义\(\Phi(A)\):

定理3

类似的,我们有定理3:

这部分的推导是类似的:

下面这部分和之前的是不同的,这么大费周章,就是为了证明最后收敛的结果在\(\Phi(A)\)中,之间没有这部分的证明,是因为凸函数次梯度的集合是闭凸的?

定理4

这个定理,就是为了导出\(\|A\|\)的次梯度。


这部分首先利用迹的性质,再利用\(Av_i=\|A\|u_i\)

\(w_i^TRv_i \le \|R\|\)的原因是\(\|w_i\|_A^* \le1\),
又\(\frac{\|Rv_i\|_A}{\|R\|}=\frac{\|Rv_i\|_A}{\max \limits_{\|v\|\_B=1} \|Rv\|_A}\le1\)(至少\(\|Rv_i\|_A=1\)),所以有上面的结果。

到此,我们证明了,\(S(A)\)中的元素均为次梯度,下证凡是次梯度,必属于\(S(A)\)。

这部分证明没有需要特别说明的。

例子 \(\ell_2\)

一些矩阵范数的subgradients的更多相关文章

  1. subgradients

    目录 定义 上镜图解释 次梯度的存在性 性质 极值 非负数乘 \(\alpha f(x)\) 和,积分,期望 仿射变换 仿梯度 混合函数 应用 Pointwise maximum 上确界 suprem ...

  2. norm函数的作用,matlab

    格式:n=norm(A,p)功能:norm函数可计算几种不同类型的返回A中最大一列和,即max(sum(abs(A))) 2 返回A的最大奇异值,和n=norm(A)用法一样 inf 返回A中最大一行 ...

  3. MlLib--逻辑回归笔记

    批量梯度下降的逻辑回归可以参考这篇文章:http://blog.csdn.net/pakko/article/details/37878837 看了一些Scala语法后,打算看看MlLib的机器学习算 ...

  4. Pegasos: Primal Estimated sub-GrAdient Solver for SVM

    Abstract We describe and analyze a simple and effective iterative algorithm for solving the optimiza ...

  5. Numpy应用100问

    对于从事机器学习的人,python+numpy+scipy+matplotlib是重要的基础:它们基本与matlab相同,而其中最重要的当属numpy:因此,这里列出100个关于numpy函数的问题, ...

  6. MATLAB 中NORM运用

    格式:n=norm(A,p)功能:norm函数可计算几种不同类型的矩阵范数,根据p的不同可得到不同的范数 以下是Matlab中help norm 的解释 NORM   Matrix or vector ...

  7. 向量和矩阵的范数及MATLAB调用函数

    范数就是长度的一种推广形式,数学语言叫一种度量.比如有一个平面向量,有两个分量来描述:横坐标和纵坐标.向量的二范数就是欧几里得意义下的这个向量的长度.还有一些诸如极大值范数,就是横坐标或者纵坐标的最大 ...

  8. matlab norm的使用

    格式:n=norm(A,p)功能:norm函数可计算几种不同类型的矩阵范数,根据p的不同可得到不同的范数 以下是Matlab中help norm 的解释 NORM Matrix or vector n ...

  9. 多核模糊C均值聚类

    摘要: 针对于单一核在处理多数据源和异构数据源方面的不足,多核方法应运而生.本文是将多核方法应用于FCM算法,并对算法做以详细介绍,进而采用MATLAB实现. 在这之前,我们已成功将核方法应用于FCM ...

随机推荐

  1. vue cli 3.x 项目部署到 github pages

    github pages 是 github 免费为用户提供的服务,写博客,或者部署一些纯静态项目. 最近将 vue cli 3.x 初始化项目部署到 github pages,踩了一些坑,记录如下. ...

  2. lua-nginx-module模块里ngx_lua的所有指令以及可用ngx所有方法

    http://www.04007.cn/article/430.html

  3. VLayoutDemo【VLayout的简单使用demo(基于V1.2.8版本)】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 VirtualLayout是一个针对RecyclerView的LayoutManager扩展, 主要提供一整套布局方案和布局间的组件 ...

  4. 用消息队列和socket实现聊天系统

    前言:最近在学进程间通信,所以做了一个小项目练习一下.主要用消息队列和socket(UDP)实现这个系统,并数据库存储数据,对C语言操作不熟悉的可以参照我的这篇博客:https://www.cnblo ...

  5. vue的父子组件间的相互传参props及props数据的多种验证机制

    感觉自己即将完全步入前端大军,后台老板都不需要我弄了,塞翁失马...时间会告诉我们是好是坏 好了言归正传,最近vue是搞的不亦乐乎啊,下面来总结一下vue组件间的各种使用方法以及一些技巧 ------ ...

  6. 解读经典《C#高级编程》继承 页107-113.章4

    前言 本章节开始讲接口. 接口 接口的声明很像抽象类,有方法的声明但无方法体.但它比抽象类限制更多.和类比起来,接口的定义有众多限制. 接口只能包含声明,而无方法体 接口只能包含方法.属性.索引器.事 ...

  7. 学JAVA第十八天,接口与抽象类进一步加深

    昨天老师讲了建网站,还要交钱买东西的,所以就没写,今天讲了接口与抽象类进一步加深 上完今天的课后,我才知道一个接口可以有多个实现类,一个实现类可以同时接多个接口. 现在就用代码来解释吧!!! 举例用人 ...

  8. 【转】Redis一般会遇到的问题以及解析

    单线程的 Redis 为什么这么快 这个问题是对 Redis 内部机制的一个考察.根据我的面试经验,很多人都不知道Redis 是单线程工作模型.所以,这个问题还是应该要复习一下的. 回答主要是以下三点 ...

  9. 【spring实战第五版遇到的坑】3.1中的例子报错

    按照书中的例子,一直做到第3.1章使用JDBC读写数据时,在提交设计的taco表单时,报了如下的异常信息: Failed to convert property value of type java. ...

  10. IE中iframe标签显示在DIV之上的问题解决方案

    在做网页时前端时,使用IE打开时会出现标题栏DIV被遮挡PDF遮挡, 后在stackoverflow中查到是IE浏览器的问题:链接https://stackoverflow.com/questions ...