(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.rhkb.cn/news/263615.html

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

相关文章

UE4 C++联网RPC教程笔记(三)(第8~9集)完结

UE4 C联网RPC教程笔记&#xff08;三&#xff09;&#xff08;第8~9集&#xff09;完结 8. exe 后缀实现监听服务器9. C 实现监听服务器 8. exe 后缀实现监听服务器 前面我们通过蓝图节点实现了局域网连接的功能&#xff0c;实际上我们还可以给项目打包后生成的 .exe 文件创建…

【力扣hot100】刷题笔记Day10

前言 一鼓作气把链表给刷完&#xff01;&#xff01;中等题困难题冲冲冲啊啊啊&#xff01; 25. K 个一组翻转链表 - 力扣&#xff08;LeetCode&#xff09; 模拟 class Solution:def reverseKGroup(self, head: Optional[ListNode], k: int) -> Optional[ListNode]:# 翻转…

C语言中的字体背景颜色汇总

客官请看效果 客官请看代码 #include <stdio.h> #include <stdlib.h> #include <windows.h>int main() {int i;for (i 0; i < 254; i) {SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), i); // 设置当前文本颜色为循环变量对应的颜色printf(…

如何使用移动端设备在公网环境远程访问本地黑群晖

文章目录 前言本教程解决的问题是&#xff1a;按照本教程方法操作后&#xff0c;达到的效果是前排提醒&#xff1a; 1. 搭建群晖虚拟机1.1 下载黑群晖文件vmvare虚拟机安装包1.2 安装VMware虚拟机&#xff1a;1.3 解压黑群晖虚拟机文件1.4 虚拟机初始化1.5 没有搜索到黑群晖的解…

LabVIEW燃料电池船舶电力推进监控系统

LabVIEW燃料电池船舶电力推进监控系统 随着全球经济一体化的推进&#xff0c;航运业的发展显得尤为重要&#xff0c;大约80%的世界贸易依靠海上运输实现。传统的船舶推进系统主要依赖于柴油机&#xff0c;这不仅耗能高&#xff0c;而且排放严重&#xff0c;对资源和环境的影响…

128 Linux 系统编程6 ,C++程序在linux 上的调试,GDB调试

今天来整理 GDB 调试。 在windows 上我们使用vs2017开发&#xff0c;可以手动的加断点&#xff0c;debug。 那么在linux上怎么加断点&#xff0c;debug呢&#xff1f;这就是今天要整理的GDB调试工具了。 那么有些同学可能会想到&#xff1a;我们在windows上开发&#xff0c;…

《高质量的C/C++编程规范》学习

目录 一、编程规范基础知识 1、头文件 2、程序的板式风格 3、命名规则 二、表达式和基本语句 1、运算符的优先级 2、复合表达式 3、if语句 4、循环语句的效率 5、for循环语句 6、switch语句 三、常量 1、#define和const比较 2、常量定义规则 四、函数设计 1、参…

python input 输入

input()函数包含四个方面&#xff1a;input()函数的使用/结果的赋值/数据类型/结果的强制转换。是实现人机互动沟通的关键&#xff0c;需要在终端出输入信息。我们可以把input()函数当作一扇链接现实世界与代码世界的门&#xff0c; 如下图 先看一个例子&#xff1a;  运行后终…

Spring Framework

Spring Framework Spring 是一款开源的轻量级 Java 开发框架&#xff0c;旨在提高开发人员的开发效率以及系统的可维护性。 Spring 框架指的都是 Spring Framework&#xff0c;它是很多模块的集合&#xff0c;如下图所示&#xff1a; 一、Core Container Spring 框架的核心模…

【算法 - 动态规划】最长回文子序列

上篇文章中&#xff0c;我们学习一个新的模型&#xff1a; 样本对应模型&#xff0c;该模型的套路就是&#xff1a;以结尾位置为出发点&#xff0c;思考两个样本的结尾都会产生哪些可能性 。 而前篇文章中的 纸牌博弈问题 属于 [L , R]上范围尝试模型。该模型给定一个范围&…

跨境电商版权争端,商家或在SHEIN的强势中迷茫?

在跨境商家眼里&#xff0c;欧美市场的“红线”是什么&#xff1f; 答案肯定有侵权。侵权的后果&#xff0c;轻则产品下架&#xff0c;重则封店吃官司&#xff0c;成熟市场对知识产权的重视&#xff0c;本质上也是在维护原创商家。因此&#xff0c;在不少与设计有关的行业&…

【统计分析数学模型】聚类分析: 系统聚类法

【统计分析数学模型】聚类分析&#xff1a; 系统聚类法 一、聚类分析1. 基本原理2. 距离的度量&#xff08;1&#xff09;变量的测量尺度&#xff08;2&#xff09;距离&#xff08;3&#xff09;R语言计算距离 三、聚类方法1. 系统聚类法2. K均值法 三、示例1. Q型聚类&#x…

【算法与数据结构】链表、哈希表、栈和队列、二叉树(笔记二)

文章目录 四、链表理论五、哈希表理论五、栈和队列理论5.1 单调栈 六、二叉树理论6.1 树的定义6.2 二叉树的存储方式6.3 二叉树的遍历方式6.4 高度和深度 最近博主学习了算法与数据结构的一些视频&#xff0c;在这个文章做一些笔记和心得&#xff0c;本篇文章就写了一些基础算法…

Python 读取创建word文档

本篇文章内容为使用python 读取word文档和创建word文档 读取doc文件 引入类库 示例如下&#xff1a; import win32com import win32com.client import os 读取doc文件 通过得到的doc文件路径调用系统word功能。 打开文件获取其中的文本信息&#xff0c;输出文本信息&#…

vue+nodejs+uniapp婚纱定制婚庆摄影系统 微信小程序 springboot+python

目前移动互联网大行其道&#xff0c;人人都手中拿着智能机&#xff0c;手机手机&#xff0c;手不离机&#xff0c;如果开发一个用在手机上的程序软件&#xff0c;那是多么的符合潮流&#xff0c;符合管理者和客户的理想。本次就是开发婚庆摄影小程序&#xff0c;有管理员&#…

pclpy Ransac平面分割算法输出的索引从点云中提取点云的子集

pclpy Ransac平面分割算法输出的索引从点云中提取点云的子集 一、算法原理二、代码三、结果1.sor统计滤波2.Ransac内点分割平面3.Ransac外点分割平面 四、相关数据 一、算法原理 1、Ransac介绍 RANSAC(RAndom SAmple Consensus,随机采样一致)算法是从一组含有“外点”(outlier…

docker运行onlyoffice,并配置https访问【参考仅用】

官方说明&#xff1a; Installing ONLYOFFICE Docs for Docker on a local server - ONLYOFFICEhttps://helpcenter.onlyoffice.com/installation/docs-developer-install-docker.aspx 一、容器端口、目录卷映射 sudo docker run --name容器名称 --restartalways -i -t -d -p…

论文精读--GPT1

把transformer的解码器拿出来&#xff0c;在没有标号的大量文本数据上训练一个语言模型&#xff0c;来获得预训练模型&#xff0c;然后到子任务上微调&#xff0c;得到每个任务所需的分类器 Abstract Natural language understanding comprises a wide range of diverse tasks…

高通XBL阶段读取分区

【需求】&#xff1a; 在某些场景下&#xff0c;需要在XBL阶段读取分区数据&#xff0c;需要验证xbl阶段方案 这里主要以裸分区为例&#xff0c;比如oem分区。 1、创建一个1MB大小的oem.img&#xff0c;写入内容“test oem partition” 创建方式&#xff1a; dd if/dev/null …

独立版表情包小程序完整版源码前后端源码,附带系统搭建教程

搭建要求&#xff1a; 1.系统要求Nginx 1.18.0PHP-7.2mysql5.6&#xff0c;开启 ssl&#xff0c;php需要安装 sg11 扩展 2.设置伪静态 location / { index index.php index.html index.htm; if (!-e $request_filename) { rewrite ^/(.*)$ /index.php?s$1; } } location /a…