(done) 什么是正定矩阵?Positive Definite Matrices

正定矩阵的定义:https://baike.baidu.com/item/%E6%AD%A3%E5%AE%9A%E7%9F%A9%E9%98%B5/11030459

正定矩阵的作用、验证视频:https://www.bilibili.com/video/BV1Ag411M76G/?spm_id_from=333.337.search-card.all.click&vd_source=7a1a0bc74158c6993c7355c5490fc600


先来看正定矩阵的定义
在这里插入图片描述


正定矩阵必须是对称矩阵
在这里插入图片描述

第一个问题:为什么需要正定矩阵?正定矩阵的作用是什么?
如下图,任意一个 ”二元二次“ 函数都可以写成 “矩阵运算” 的形式
在这里插入图片描述

扩展到 “二次多元” 形式,我们可以写出一个一般形式,如下图
它的一阶导数就是常见的 Ax + b。
它的二阶导就是 A(如果 f(x) 没有前面那个 1/2,那么它的二阶导就是 2A)(二阶导也可以称为 Hessian 矩阵)
如果 矩阵A 是正定的,那么 f(x) 的二阶导就是正定的,此时,f(x) 就是一个严格的下凸函数,拥有唯一全局极小值
二阶导正定是什么意思:(个人直觉) 二阶偏导在所有方向上 > 0
在这里插入图片描述
在这里插入图片描述

相对的,半正定矩阵的意思是,最小值不唯一
在这里插入图片描述

不定矩阵
在这里插入图片描述

如下图,面对二次多元函数,如果 A 是正定的,那么要求全局极小值,只需要求一阶偏导 Ax + b =0 的解即可,而这个问题的计算方法和理论是非常丰富的
此外,正定矩阵还可以用来定义一个合理的内积。因为,内积要求任意一个非零向量对自己的内积必须大于 0。而根据正定矩阵的定义,这是恰好满足的,这种性质在 SVM 的核方法里很有用
在这里插入图片描述


那么,怎么判断一个矩阵是否是正定矩阵呢?

方法1:从定义出发进行证明,证明对于任意非零向量 x,x^T A x > 0。如下图
但这种方法太复杂,我们几乎不采用
在这里插入图片描述

===

方法2:在矩阵A是实对称阵的前提下,计算矩阵 A 的各个特征值,若特征值都大于 0,则矩阵A是正定阵
实际上,A实对称+特征值都大于0 <=> 矩阵A是正定阵。这是一个充分必要条件
我们看看如何证明:
1.证明 A是正定 -> 特征值都大于0:

  • 取 x 为特征向量,则 x^T A x = x^T (lamda) x = (lamda) x^T x
  • 由于 A正定,所以 x^T A x > 0,也就是说 (lamda) x^T x > 0
  • 由于 x^T x > 0,所以 (lamda) >0
  • 如此证明了所有特征值 > 0

反过来的证明放下面
在这里插入图片描述
2.证明 特征值都大于0 -> A是正定矩阵:

  • 若所有特征值都 > 0,那么对于任意向量 x,x^T A x = x^T Q^T (hat) Qx (任意实对称阵可以分解成 正交阵和对角阵 的二次型)
  • x^T A x = x^T Q^T (hat) Qx = (Qx)^T (hat) (Qx) 此时我们知道,(hat) 是由矩阵 A 的特征值组成的对角阵,它们都大于 0,那么 (hat) 同时也是一个正定阵,因此 (Qx)^T (hat) (Qx) > 0。所以 x^T A x > 0。
  • 证明完毕,A是正定矩阵

这个判别法比较强,因为我们知道特征值了就可以知道很多其它事情,但是,求特征值的计算量比较大,所以这种方法不是我们首选的判别方法

===

方法3:对于实对称阵,若各阶顺序主子式 都大于0 <=> 该矩阵正定 (Sylvester’s Criterion)
(关于这个定理的证明我们先跳过)
这是我们在手算做题时,常用的方法
在这里插入图片描述

===

方法4:Cholesky 分解
A = R^T R (R 是可逆矩阵) 这个公式是正定阵的一个性质 (证明就 skip 吧,人生苦短)
为了让分解出来的 R矩阵 具有唯一性,它需要满足如下图的性质
在这里插入图片描述

下图是一个 Cholesky 分解的手算例子
在这里插入图片描述

如下图,是用程序进行计算的算法。事件复杂度大约是 n^3/3 的浮点数运算 (在矩阵运算中其实算少的)
在这里插入图片描述

如果矩阵不是正定的,可能会在下面两个地方报相应的错误
在这里插入图片描述

在 MATLAB 中,可以用 chol() 这个命令来得到矩阵A的 cholesky 分解
R = chol(A)
A = R^T R

如果 A 不正定,那么 chol() 就会报错,因此我们可以使用 chol() 判断一个矩阵是否正定

此外,cholesky 分解还可以用来加速解方程组 (面对大型矩阵时有用),比如下图
我们把原来的 Ax = 1 经过分解和换元,得到了 Ry = 1 和 R^T x = y 这两个方程组
虽然方程组数量变多,但是 A 被分解成了上三角和下三角,计算起来方便多了,在大型矩阵中更是如此
在这里插入图片描述
在这里插入图片描述

正定矩阵还有一个性质,如下图:
证明过程:

  • 先把 A 分解成 R^T R (把 R 按照列分块,R^T 按照行分块)
  • 那么,aij 的值就是 ri 和 rj 的内积
  • 因此,要证明的公式其实就是 ri * rj < ||ri|| * ||rj||
  • 这其实就是柯西不等式

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/695693.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

下一代自动化爬虫神器--playwright,所见即所得,不用逆向不要太香!!!

文章目录 1.Playwright介绍2.与 Selenium 和 pyppeteer 相比&#xff0c;Playwright 具有以下几个区别和优势3.在爬虫中使用 Playwright 的好处4.环境安装5.屏幕录制6.保留记录cookie信息7.playwright代码编写详解1.第一个Playwright脚本&#xff08;1&#xff09;同步模式&…

【鼎捷数字化生意经】总说数字化转型?!怎么做才能带来远超你的想象的经济效益呢?他们来告诉你!

编者按&#xff1a; 转型一直在提&#xff0c;2018—2023年&#xff0c;实现数字化转型的企业仅占中国企业的10%&#xff0c;其中实现领军重塑的企业仅占2%。数据看起来并没有那么乐观&#xff01; 新竞争格局下&#xff0c;企业需要直面挑战&#xff0c;定义新前沿&#xff0…

C++动态分配内存知识点!

个人主页&#xff1a;PingdiGuo_guo 收录专栏&#xff1a;C干货专栏 大家好呀&#xff0c;又是分享干货的时间&#xff0c;今天我们来学习一下动态分配内存。 文章目录 1.动态分配内存的思想 2.动态分配内存的概念 2.1内存分配函数 2.2动态内存的申请和释放 2.3内存碎片问…

⭐北邮复试刷题LCR 018. 验证回文串__双指针 (力扣119经典题变种挑战)

LCR 018. 验证回文串 给定一个字符串 s &#xff0c;验证 s 是否是 回文串 &#xff0c;只考虑字母和数字字符&#xff0c;可以忽略字母的大小写。 本题中&#xff0c;将空字符串定义为有效的 回文串 。 示例 1: 输入: s “A man, a plan, a canal: Panama” 输出: true 解释…

如何选择护眼台灯?孩子学习必选五大宝藏台灯推荐!

因为护眼台灯能提供充足明亮的光照&#xff0c;以及很好的保护眼睛预防近视效果&#xff0c;所以现在的儿童青少年书桌上都会有一盏护眼台灯。但是也有很多家长为孩子选择护眼台灯后&#xff0c;反馈护眼台灯的质量参差不齐&#xff0c;很难避免会购买到劣质产品&#xff0c;这…

2023年12月 Python(五级)真题解析#中国电子学会#全国青少年软件编程等级考试

Python等级考试(1~6级)全部真题・点这里 一、单选题(共25题,共50分) 第1题 下面代码的输出结果是?( ) dict1 = {1: 10, 2: 20, 3: 30} dict2 <

【安卓基础1】初识Android

&#x1f3c6;作者简介&#xff1a;|康有为| &#xff0c;大四在读&#xff0c;目前在小米安卓实习&#xff0c;毕业入职 &#x1f3c6;本文收录于 安卓学习大全&#xff0c;欢迎关注 &#x1f3c6;安卓学习资料推荐&#xff1a; 视频&#xff1a;b站搜动脑学院 视频链接 &…

Git笔记——2

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言 一、撤销修改__情况一 二、撤销修改__情况二 三、撤销修改__情况三 四、删除文件 五、理解分支 六、创建、切换和合并分支初体验 七、删除分支 八、合并冲突 总…

idea maven创建kotlin项目

第一步&#xff1a;打开idea 第二步&#xff1a;添加依赖 <repositories><repository><id>mavenCentral</id><url>https://repo1.maven.org/maven2/</url></repository></repositories><build><sourceDirectory>…

ElasticSearch DSL查询、排序 、分页的原理及语法

1. DSL查询分类和基本语法 ElasticSearch提供了基于Json的DSL来定义查询&#xff0c;常见的查询类型包括&#xff1a; • 查询所有&#xff1a;查询出所有数据&#xff0c;一般测试用&#xff0c;一般不是查出所有&#xff0c;一次性查询20条。例如 match_all • 全文检索(ful…

【webrtc】m77 PacedSender

mediasoup是m77的代码,m77的代码并没有paced controller ,而且与paced sender 的逻辑混在了一起。结合大神们的代码分析,对照m77 进行 理解。m77 有ProbeController。给pacersender 更新飞行数据:PacedSender::InsertPacket(size_t bytes) 对应的是 PacingController::OnPa…

虹科技术丨PTP时钟源设备全攻略:从普通时钟到透明时钟的进阶之路

来源&#xff1a;虹科工业智能互联 虹科技术丨PTP时钟源设备全攻略&#xff1a;从普通时钟到透明时钟的进阶之路 原文链接&#xff1a;https://mp.weixin.qq.com/s/ArBtuLpU6mXax4QWmZDKfQ 欢迎关注虹科&#xff0c;为您提供最新资讯&#xff01; #PTP #普通时钟 #透明时钟 …

区块链笔记(五)---德勤相关分析报告

web3.0 定义&#xff1a; 在《Insights into a Modern World》提出&#xff0c;“信息将由用户自己发布、保管、不可追溯且永远不会泄露&#xff0c;用户的任何行为将不需要任何中间机构来帮助传递”&#xff1b;用来指代一种区块链技术&#xff0c;可以基于“无须信任的交互…

解决用户留存难!复购低! 作为企业家的你可以看看!

工会排队模式详解 在互联网营销的大潮中&#xff0c;各种促销模式层出不穷&#xff0c;但真正能够吸引消费者并实现双赢的却寥寥无几。工的会排队模式便是在这一背景下应运而生&#xff0c;它巧妙地结合了工会积分、奖金池和排队机制&#xff0c;为消费者和商家带来了全新的体…

助力探索社交出海最短变现路径,融云 1V1 音视频「限时免费」

在社交赛道&#xff0c;1V1 业务是最好的切入点。 对于初创公司来说&#xff0c;1V1 业务的技术成本和运营成本相对可控&#xff0c;并且具备与秀场直播等业务融合拓展的巨大空间。未来&#xff0c;相信 1V1 业务会吸引更多开发者投身其中。 一位社交出海经验丰富的从业者曾在…

PHP+vue+mysql校园论坛bbs系统w076f-

本文尝试以B/S架构设计模式中的vue框架&#xff0c;php语言为基础&#xff0c;通过必要的编码处理、BBS论坛系统整体框架、功能服务多样化和有效性的高级经验和技术实现方法&#xff0c;旨在完成一个快速、高效、便捷的BBS论坛系统。本系统以用户与管理员两类人&#xff0c;作为…

【力扣 - 二叉树的直径】

题目描述 给你一棵二叉树的根节点&#xff0c;返回该树的 直径 。 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。 两节点之间路径的 长度 由它们之间边数表示。 提示&#xff1a; 树中节点数目在范围 [1, 10000] 内…

【最新Dubbo3深入理解】Dubbo3核心Tripple协议详解

欢迎关注公众号&#xff08;通过文章导读关注&#xff1a;【11来了】&#xff09;&#xff0c;及时收到 AI 前沿项目工具及新技术的推送&#xff01; 在我后台回复 「资料」 可领取编程高频电子书&#xff01; 在我后台回复「面试」可领取硬核面试笔记&#xff01; 文章导读地址…

区块链游戏解说:什么是 Planet IX

作者&#xff1a;lesleyfootprint.network 编译&#xff1a;cicifootprint.network 数据源&#xff1a;Planet IX Dashboard 什么是 Planet IX Planet IX&#xff0c;一个由原生 IX TOKEN 推动的 Web3 玩赚平台。作为一款 GameFi 策略游戏&#xff0c; Planet IX 上的每项资…

C语言字符串函数strchr与strrchr

注意&#xff1a; 这两个函数的功能&#xff0c;都是在指定的字符串 s 中&#xff0c;试图找到字符 c。strchr() 从左往右找&#xff0c;strrchr() 从右往左找。字符串结束标记 ‘\0’ 被认为是字符串的一部分。 示例 char *p;p strchr("www.qq.com", .); // 从左…