正定矩阵和半正定矩阵 - dychen0408

dychen 2021-08-27 原文


正定矩阵和半正定矩阵


绝大部分内容都来自:浅谈「正定矩阵」和「半正定矩阵」

若侵权则删除

浅谈「正定矩阵」和「半正定矩阵」

在众多的机器学习模型中,线性代数的身影无处不在,当然,我们也会时常碰到线性代数中的正定矩阵和半正定矩阵。例如,多元正态分布的协方差矩阵要求是半正定的。
————–×————–×————–

1. 基本的定义

正定和半正定这两个词的英文分别是positive definite和positive semi-definite,其中,definite是一个形容词,表示“明确的、确定的”等意思。

初学线性代数的读者可能会被这两个词“唬住”,但正定矩阵和半正定矩阵的定义实际上是很简单的 (不考虑复数构成的矩阵):

【定义1】给定一个大小为 \(n \times n\) 的实对称矩阵 \(A\) ,若对于任意长度为\(n\) 的非零向量\(x\) ,有\(\boldsymbol{x}^{T} A \boldsymbol{x}>0\)恒成立,则矩阵\(A\)是一个正定矩阵。

【例1】单位矩阵\(I \in \mathbb{R}^{2 \times 2}\)是否是正定矩阵?
解:设向量\(\boldsymbol{x}=\left[\begin{array}{l}x_{1} \\ x_{2}\end{array}\right] \in \mathbb{R}^{2}\) 为非零向量,则

\(\boldsymbol{x}^{T} \boldsymbol{I} \boldsymbol{x}=\boldsymbol{x}^{T} \boldsymbol{x}=x_{1}^{2}+x_{2}^{2}\)

由于 \(\boldsymbol{x} \neq \mathbf{0}\) ,故 \(\boldsymbol{x}^{T} I \boldsymbol{x}>0\) 恒成立,即单位矩阵\(I \in \mathbb{R}^{2 \times 2}\)是正定矩阵。

单位矩阵是正定矩阵 (positive definite)
对于任意单位矩阵\(I \in \mathbb{R}^{2 \times 2}\)而言,给定任意非零向量 \(\boldsymbol{x} \in \mathbb{R}^{n}\) ,恒有
\(\boldsymbol{x}^{T}Ix =\boldsymbol{x}^{T} \boldsymbol{x} = =x_{1}^{2}+x_{2}^{2}+\cdots+x_{n}^{2}>0\)

【例2】 实对称矩阵 \(A=\left[\begin{array}{ccc}2 & -1 & 0 \\ -1 & 2 & -1 \\ 0 & -1 & 2\end{array}\right] \in \mathbb{R}^{3 \times 3}\)是否是正定矩阵?

解:设向量\(\boldsymbol{x}=\left[\begin{array}{l}x_{1} \\ x_{2} \\ x_{3}\end{array}\right] \in \mathbb{R}^{3}\)为非零向量,则

\(\boldsymbol{x}^{T} A \boldsymbol{x}=\left[\left(2 x_{1}-x_{2}\right) \quad\left(-x_{1}+2 x_{2}-x_{3}\right) \quad-x_{2}+2 x_{3}\right]\left[\begin{array}{l}x_{1} \\ x_{2} \\ x_{3}\end{array}\right]\)

\(=x_{1}^{2}+\left(x_{1}-x_{2}\right)^{2}+\left(x_{2}-x_{3}\right)^{2}+x_{3}^{2}>0\)

理解\(X\)是一个\(n\)维向量,那么\(\boldsymbol{x}^{T} A \boldsymbol{x}\)相乘的结果其实就是二次型,那么\(f(X) = \boldsymbol{x}^{T} A \boldsymbol{x}>=0\)则是一个二次齐次函数,如果\(X\)为2维,则是二元二次函数。那么这个对称矩阵就是这个二元二次函数的参数。则,使得二元二次函数取值恒大于0的参数矩阵,就是正定的(大于等于0,则是半正定)。

每个二次型都唯一对应一个对称矩阵。

【定义2】给定一个大小为 \(n \times n\) 的实对称矩阵 \(A\) ,若对于任意长度为 \(n\) 的向量 \(x\) ,有 \(\boldsymbol{x}^{T} A \boldsymbol{x} \geq 0\) 恒成立,则矩阵\(A\) 是一个半正定矩阵。

根据正定矩阵和半正定矩阵的定义,我们也会发现:半正定矩阵包括了正定矩阵,与非负实数 (non-negative real number)和正实数 (positive real number)之间的关系很像。

正实数与负实数,图片来源于https://en.wikipedia.org/wiki/Real_number

正实数与负实数,图片来源于https://en.wikipedia.org/wiki/Real_number

2.从二次函数到正定/半正定矩阵

在初中数学中,我们学习了二次函数 \(y=a x^{2}\) ,该函数的曲线会经过坐标原点,当参数 \(a>0\)时,曲线的“开口”向上,参数 \(a<0\) 时,曲线的“开口”向下。

\(y=2 x^{2}\) 为例,曲线如下:
二次函数曲线

实际上,我们可以将 \(y=\boldsymbol{x}^{T} A \boldsymbol{x}\) 视作 \(y=a x^{2}\) 的多维表达式。

当我们希望 \(y=\boldsymbol{x}^{T} A \boldsymbol{x} \geq 0\) 对于任意向量 \(x\) 都恒成立,就要求矩阵 \(A\) 是一个半正定矩阵,对应于二次函数, \(y=a x^{2}>0 ,\forall x\)需要使得 \(a \geq 0\) .

另外,在 \(y=a x^{2}\)中,我们还知道:若 \(a>0\) ,则对于任意 \(x \neq 0\),有 \(y>0\) 恒成立。

这在 \(y=\boldsymbol{x}^{T} A \boldsymbol{x}\)也有契合之处,当矩阵 \(A\) 是正定矩阵时,对于任意 \(\boldsymbol{x} \neq \mathbf{0}, \quad y>0\)恒成立。

3.正定矩阵和半正定矩阵的直观解释

若给定任意一个正定矩阵 \(A \in \mathbb{R}^{n \times n}\)和一个非零向量 \(\boldsymbol{x} \in \mathbb{R}^{n}\) ,则两者相乘得到的向量 \(\boldsymbol{y}=A \boldsymbol{x} \in \mathbb{R}^{n}\)与向量\(\boldsymbol{x}\)的夹角恒小于 \(\frac{\pi}{2}\) . (等价于:\(\boldsymbol{x}^{T} A \boldsymbol{x}>0\).)

【例3】给定向量 \(\boldsymbol{x}=\left[\begin{array}{l}2 \\ 1\end{array}\right] \in \mathbb{R}^{2}\) ,对于单位矩阵 \(I=\left[\begin{array}{ll}1 & 0 \\ 0 & 1\end{array}\right] \in \mathbb{R}^{2 \times 2}\) ,则

\(\boldsymbol{y}=I \boldsymbol{x}=\boldsymbol{x}=\left[\begin{array}{l}2 \\ 1\end{array}\right]\)

向量 \(\boldsymbol{x}, \boldsymbol{y} \in \mathbb{R}^{2}\)之间的夹角为

\(\cos \langle\boldsymbol{x}, \boldsymbol{y}\rangle=\frac{\boldsymbol{x}^{T} \boldsymbol{y}}{\|\boldsymbol{x}\| \cdot\|\boldsymbol{y}\|}\)

\(=\frac{2 \times 2+1 \times 1}{\sqrt{2^{2}+1^{2}} \cdot \sqrt{2^{2}+1^{2}}}\)

\(=1\)
即两个向量之间的夹角为0°.

【例4】给定向量\(\boldsymbol{x}=\left[\begin{array}{l}1 \\ 2 \\ 1\end{array}\right] \in \mathbb{R}^{3}\) ,对于实对称矩阵 \(A=\left[\begin{array}{ccc}2 & -1 & 0 \\ -1 & 2 & -1 \\ 0 & -1 & 2\end{array}\right] \in \mathbb{R}^{3 \times 3}\) ,则

\(\boldsymbol{y}=A \boldsymbol{x}=\left[\begin{array}{l}0 \\ 2 \\ 0\end{array}\right]\)
向量\(\boldsymbol{x}, \boldsymbol{y} \in \mathbb{R}^{2}\)之间的夹角为

\(\cos \langle\boldsymbol{x}, \boldsymbol{y}\rangle=\frac{\boldsymbol{x}^{T} \boldsymbol{y}}{\|\boldsymbol{x}\| \cdot\|\boldsymbol{y}\|}=\frac{\sqrt{6}}{3}\)

即两个向量之间的夹角小于 \(\frac{\pi}{2}\) .

若给定任意一个半正定矩阵\(A \in \mathbb{R}^{n \times n}\) 和一个向量 \(x \in \mathbb{R}^{n}\) ,则两者相乘得到的向量\(y = Ax \in \mathbb{R}^n\) 与向量 \(x\) 的夹角恒小于或等于 \(\frac{\pi}{2}\) . (等价于: \(\boldsymbol{x}^{T} A \boldsymbol{x} \geq 0\).) (上面是小于,这里是小于等于)

4.为什么协方差矩阵要是半正定的?

在概率论与数理统计中,我们都学习的协方差矩阵的定义:

对于任意多元随机变量 \(t\) ,协方差矩阵为
\(C = \mathbb{E}[(t – \bar{t})(t-\bar{t})^T]\)

现给定任意一个向量\(x\),则:
\(x^TCx = x^T \mathbb{E}[(t – \bar{t})(t-\bar{t})^T]x\)

\(=\mathbb{E}[x^T(t – \bar{t})(t-\bar{t})^Tx]\)

\(=\mathbb{E}(s^2) = \delta^2_s\)

其中,
\(\sigma_{s}=\boldsymbol{x}^{T}(\boldsymbol{t}-\overline{\boldsymbol{t}})=(\boldsymbol{t}-\overline{\boldsymbol{t}})^{T} \boldsymbol{x}\)
由于 \(\delta^2_s>0\) ,因此, \(\boldsymbol{x}^{T} A \boldsymbol{x} \geq 0\) ,协方差矩阵\(C\) 是半正定的。

发表于
2021-01-14 16:48 
dychen0408 
阅读(283
评论(0
编辑 
收藏 
举报

 

版权声明:本文为dychen原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/dychen/p/14274490.html

正定矩阵和半正定矩阵 - dychen0408的更多相关文章

  1. 事件总线 EventBus – 石吴玉

    事件总线 EventBus 2020-09-04 11:53  石吴玉  阅读(161)  评论(0)  编辑 […]...

  2. iOS 性能测试 – FBMemoryProfiler

    FBMemoryProfiler 是Facebook开源的一款用于分析iOS内存使用和检测循环引用的工具库。 […]...

  3. Java入门 – 面向对象 – 05.封装

    原文地址:http://www.work100.net/training/java-encapsulation […]...

  4. eclipse / ADT(Android Develop Tool) 一些方便的初始设置

      1.设置编辑窗口的背景色eclipse的主编辑窗口的背景色,默认为白色,个人感觉太亮,推荐保护视力的“墨绿 […]...

  5. Firefox浏览器的9个必备插件,开发利器!!! – Terry_glp

    网站优化必备的9个Firefox插件 在网页设计制作中经常使用到的火狐浏览器插件工具: 1. Firebug […]...

  6. 查看kafka消息消费情况 – 陈晨辰

    查看kafka消息消费情况 查看主题命令 展示topic列表 ./kafka-topics.sh – […]...

  7. 从高级测试到测试开发 – 虫师

    从高级测试到测试开发 2018-03-30 23:02  虫师  阅读(33621)  评论(25)  编辑  […]...

  8. Fanuc Cnc 数控系统,PC端下发NC程序到CNC端,现场测试通过。 – 有证程序员

    Fanuc Cnc 数控系统,PC端下发NC程序到CNC端,现场测试通过。 1.这几天把FANUC 数据采集( […]...

随机推荐

  1. 使用FastReport报表工具生成标签打印文档 – 伍华聪

    使用FastReport报表工具生成标签打印文档 在我们实际开发报表的时候,我们需要按一定的业务规则组织好报表 […]...

  2. 【转】 理解目标检测当中的 IoU、PR、AP、mAP

    原文链接:https://blog.csdn.net/hsqyc/article/details/817024 […]...

  3. 全国疫情可视化阶段1

    全国疫情可视化阶段,柱状图,时间查询 一、要求 1.导入全国疫情数据库 2.可以按照时期查询各个省市的疫情统计 […]...

  4. [Python] 通过采集23万条数据,对《哪吒》影评分析

    一、说明   数据来源:猫眼;   运行环境:Win10/Python3.7 和 Win7/Python3.5 […]...

  5. 项目实战15.2—企业级堡垒机 jumpserver快速入门

    本文收录在Linux运维企业架构实战系列 必备条件 硬件条件 ① 一台安装好 Jumpserver 系统的可用 […]...

  6. 如何快速更新长缓存的 HTTP 资源

    通过 JS 热更新 HTTP 本地缓存 前言 HTTP 缓存时间一直让开发者头疼。时间太短,性能不够好;时间太 […]...

  7. ES6中的Promise使用总结

    One、什么是Promise? Promise是异步编程的解决方案,而它本身也就是一个构造函数,比传统的异步解 […]...

  8. java反射调用dubbo接口

    需求:项目增加幂等 场景:1.三个项目:a 、b、c2.a项目加幂等3.b项目dubbo调用项目a的时候超时没 […]...

展开目录

目录导航