当前位置: 首页 > news >正文

《机器学习数学基础》补充资料:矩阵的LU分解

本文是对《机器学习数学基础》第2章2.3.3节矩阵LU分解的拓展。

判断是否可LU分解

并非所有矩阵都可以实现LU分解

定理1: n n n 阶可逆矩阵 A \pmb{A} A 可以进行LU分解,则 A \pmb{A} A k k k 阶顺序主子阵(leading principal submatrix) A k \pmb{A}_k Ak 都是可逆的 [ 1 ] ^{[1]} [1]

证明

A = L U \pmb{A}=\pmb{LU} A=LU 用分块矩阵表示:

A = L U = [ L 11 0 L 21 L 22 ] [ U 11 U 12 0 U 22 ] = [ L 11 U 11 L 11 U 12 L 21 U 11 L 21 U 12 + L 22 U 22 ] \pmb{A}=\pmb{LU}=\begin{bmatrix}\pmb{L}_{11}&0\\\pmb{L}_{21}&\pmb{L}_{22}\end{bmatrix}\begin{bmatrix}\pmb{U}_{11}&\pmb{U}_{12}\\0&\pmb{U}_{22}\end{bmatrix}=\begin{bmatrix}\pmb{L}_{11}\pmb{U}_{11}&\pmb{L}_{11}\pmb{U}_{12}\\\pmb{L}_{21}\pmb{U}_{11}&\pmb{L}_{21}\pmb{U}_{12}+\pmb{L}_{22}\pmb{U}_{22}\end{bmatrix} A=LU=[L11L210L22][U110U12U22]=[L11U11L21U11L11U12L21U12+L22U22]

其中 L 11 、 U 11 \pmb{L}_{11}、\pmb{U}_{11} L11U11 k × k k\times k k×k 分块矩阵。

因为 L \pmb{L} L 是单位下三角矩阵,且主对角线元素都是 1 1 1 ,则其分块矩阵 L 11 \pmb{L}_{11} L11 亦为三角矩阵,且主对角线元素非零。同理, U 11 \pmb{U}_{11} U11 亦然。

所以 L 11 \pmb{L}_{11} L11 U 11 \pmb{U}_{11} U11 可逆,则 A k = L 11 U 11 \pmb{A}_k=\pmb{L}_{11}\pmb{U}_{11} Ak=L11U11 可以。

证毕。

A = [ 3 − 1 2 6 − 1 5 − 9 7 3 ] \pmb{A}=\begin{bmatrix}3&-1&2\\6&-1&5\\-9&7&3\end{bmatrix} A= 369117253 的顺序主子阵依次为:

A 1 = [ 3 ] = [ 1 ] [ 3 ] A 2 = [ 3 − 1 6 − 1 ] = [ 1 0 2 1 ] [ 3 − 1 0 1 ] A 3 = A = L U \begin{split}\pmb{A}_1&=[3]=[1][3]\\\pmb{A}_2&=\begin{bmatrix}3&-1\\6&-1\end{bmatrix}=\begin{bmatrix}1&0\\2&1\end{bmatrix}\begin{bmatrix}3&-1\\0&1\end{bmatrix}\\\pmb{A}_3&=\pmb{A}=\pmb{LU}\end{split} A1A2A3=[3]=[1][3]=[3611]=[1201][3011]=A=LU

定理2:(定理1的逆定理)若矩阵 A \pmb{A} A 的所有顺序主子阵 A k \pmb{A}_k Ak 都可逆,则该矩阵存在LU分解。

证明(用归纳法)

k = 1 k=1 k=1 A 1 = [ a 11 ] \pmb{A}_1=[a_{11}] A1=[a11] 可逆,则 a 11 ≠ 0 a_{11}\ne 0 a11=0 ,所以有: A 1 = [ 1 ] [ a 11 ] \pmb{A}_1=[1][a_{11}] A1=[1][a11] ,即为LU分解。

k k k 阶顺序主子阵 A k \pmb{A}_k Ak 可逆,且可LU分解, A k = L k U k \pmb{A}_k=\pmb{L}_k\pmb{U}_k Ak=LkUk

k + 1 k+1 k+1 阶顺序主子阵 A k + 1 \pmb{A}_{k+1} Ak+1 可以表示为:

A k + 1 = [ A k b c T d ] \pmb{A}_{k+1}=\begin{bmatrix}\pmb{A}_k&\pmb{b}\\\pmb{c}^T&d\end{bmatrix} Ak+1=[AkcTbd]

其中 b 、 c \pmb{b}、\pmb{c} bc k k k 维向量, d d d 是标量。则上式可以进一步写成:

A k + 1 = [ A k b c T d ] = [ L k 0 x T 1 ] [ U k y 0 T z ] \pmb{A}_{k+1}=\begin{bmatrix}\pmb{A}_k&\pmb{b}\\\pmb{c}^T&d\end{bmatrix}=\begin{bmatrix}\pmb{L}_k&\pmb{0}\\\pmb{x}^T&1\end{bmatrix}\begin{bmatrix}\pmb{U}_k&\pmb{y}\\\pmb{0}^T&z\end{bmatrix} Ak+1=[AkcTbd]=[LkxT01][Uk0Tyz]

通过对应关系,可知:

b = L k y , c T = x T U k , d = x T y + z \pmb{b}=\pmb{L}_k\pmb{y},\pmb{c}^T=\pmb{x}^T\pmb{U}_k,d=\pmb{x}^T\pmb{y}+z b=Lky,cT=xTUk,d=xTy+z

解得:

y = L k − 1 b , x T = c T U k − 1 , z = d − x T y = d − c T ( U k − 1 L k − 1 ) b = d − c T A − 1 b \pmb{y}=\pmb{L}_k^{-1}\pmb{b},\pmb{x}^T=\pmb{c}^T\pmb{U}_k^{-1},z=d-\pmb{x}^T\pmb{y}=d-\pmb{c}^T(\pmb{U}_k^{-1}\pmb{L}_k^{-1})\pmb{b}=d-\pmb{c}^T\pmb{A}^{-1}\pmb{b} y=Lk1b,xT=cTUk1,z=dxTy=dcT(Uk1Lk1)b=dcTA1b

所以: A k + 1 = L k + 1 U k + 1 \pmb{A}_{k+1}=\pmb{L}_{k+1}\pmb{U}_{k+1} Ak+1=Lk+1Uk+1

其中 L k + 1 = [ L k 0 c T U k − 1 1 ] , U k + 1 = [ U k y 0 T d − c T A − 1 b ] \pmb{L}_{k+1}=\begin{bmatrix}\pmb{L}_k&\pmb{0}\\\pmb{c}^T\pmb{U}_k^{-1}&1\end{bmatrix},\pmb{U}_{k+1}=\begin{bmatrix}\pmb{U}_k&\pmb{y}\\\pmb{0}^T&d-\pmb{c}^T\pmb{A}^{-1}\pmb{b}\end{bmatrix} Lk+1=[LkcTUk101],Uk+1=[Uk0TydcTA1b]

因为 A k + 1 \pmb{A}_{k+1} Ak+1 L k + 1 \pmb{L}_{k+1} Lk+1 可逆,所以 U k + 1 \pmb{U}_{k+1} Uk+1 可逆,则 d − c T A − 1 b ≠ 0 d-\pmb{c}^T\pmb{A}^{-1}\pmb{b}\ne0 dcTA1b=0 。即 A k + 1 \pmb{A}_{k+1} Ak+1 可以分解为 L k + 1 U k + 1 \pmb{L}_{k+1}\pmb{U}_{k+1} Lk+1Uk+1

综上,定理得证。

LU分解的唯一性

对于 A = L U \pmb{A}=\pmb{LU} A=LU 而言, L \pmb{L} L 是单位下三角矩阵,主对角线元素为 1 1 1 。对于 U \pmb{U} U ,以 3 × 3 3\times 3 3×3 为例,可以转化为:

U = [ u 11 u 12 u 13 0 u 22 u 23 0 0 u 33 ] = [ u 11 0 0 0 u 22 0 0 0 u 33 ] [ 1 u 12 u 11 u 13 u 11 0 1 u 23 u 22 0 0 1 ] = D U ′ \pmb{U}=\begin{bmatrix}u_{11}&u_{12}&u_{13}\\0&u_{22}&u_{23}\\0&0&u_{33}\end{bmatrix}=\begin{bmatrix}u_{11}&0&0\\0&u_{22}&0\\0&0&u_{33}\end{bmatrix}\begin{bmatrix}1&\frac{u_{12}}{u_{11}}&\frac{u_{13}}{u_{11}}\\0&1&\frac{u_{23}}{u_{22}}\\0&0&1\end{bmatrix}=\pmb{D}\pmb{U}' U= u1100u12u220u13u23u33 = u11000u22000u33 100u11u1210u11u13u22u231 =DU

所以: A = L D U ′ \pmb{A}=\pmb{LDU}' A=LDU

假设 A = L 1 D 1 U 1 ′ \pmb{A}=\pmb{L}_1\pmb{D}_1\pmb{U}_1' A=L1D1U1 A = L 2 D 2 U 2 ′ \pmb{A}=\pmb{L}_2\pmb{D}_2\pmb{U}_2' A=L2D2U2 ,则:

L 1 D 1 U 1 ′ = L 2 D 2 U 2 ′ \pmb{L}_1\pmb{D}_1\pmb{U}_1'=\pmb{L}_2\pmb{D}_2\pmb{U}_2' L1D1U1=L2D2U2

由因为 L i \pmb{L}_i Li U i ′ \pmb{U}'_i Ui 都可逆,所以:

L 1 − 1 L 1 D 1 U 1 ′ U 2 ′ − 1 = L 1 − 1 L 2 D 2 U 2 ′ U 2 ′ − 1 D 1 U 1 ′ U 2 ′ − 1 = L 1 − 1 L 2 D 2 \begin{split}\pmb{L}_1^{-1}\pmb{L}_1\pmb{D}_1\pmb{U}_1'\pmb{U}_2'^{-1}&=\pmb{L}_1^{-1}\pmb{L}_2\pmb{D}_2\pmb{U}_2'\pmb{U}_2'^{-1}\\\pmb{D}_1\pmb{U}'_1\pmb{U}_2'^{-1}&=\pmb{L}_1^{-1}\pmb{L}_2\pmb{D}_2\end{split} L11L1D1U1U21D1U1U21=L11L2D2U2U21=L11L2D2

继续以 3 3 3 阶方阵为例,将上式等号左右分别用矩阵方式展开,得:

[ ( D 1 ) 11 ∗ ∗ 0 ( D 1 ) 22 ∗ 0 0 ( D 1 ) 33 ] = [ ( D 2 ) 11 0 0 ∗ ( D 2 ) 22 0 ∗ ∗ ( D 2 ) 33 ] \begin{bmatrix}(\pmb{D}_1)_{11}&*&*\\0&(\pmb{D}_1)_{22}&*\\0&0&(\pmb{D}_1)_{33}\end{bmatrix}=\begin{bmatrix}(\pmb{D}_2)_{11}&0&0\\*&(\pmb{D}_2)_{22}&0\\*&*&(\pmb{D}_2)_{33}\end{bmatrix} (D1)1100(D1)220(D1)33 = (D2)110(D2)2200(D2)33

所以: D 1 = D 2 \pmb{D}_1=\pmb{D}_2 D1=D2 ,非主元的值 ∗ = 0 * = 0 =0 ,故 U 1 ′ U 2 ′ − 1 = I , L 1 − 1 L 2 = I \pmb{U}_1'\pmb{U}_2'^{-1}=\pmb{I}, \pmb{L}_1^{-1}\pmb{L}_2=\pmb{I} U1U21=I,L11L2=I

所以: U 1 ′ = U 2 ′ , L 1 = L 2 \pmb{U}_1'=\pmb{U}_2',\pmb{L}_1=\pmb{L}_2 U1=U2,L1=L2 ,即 LU 分解具有唯一性。

证毕。

LU分解的应用

求解线性方程组

此应用在《机器学习数学基础》第2章2.3.3节中有详细介绍,请参阅。

计算行列式

利用LU分解可以手工计算 n n n 阶行列式。

∣ A ∣ = ∣ L U ∣ = ∣ L ∣ ∣ U ∣ |\pmb{A}|=|\pmb{LU}|=|\pmb{L}||\pmb{U}| A=LU=L∣∣U

三角矩阵的行列式等于主对角元乘积。

所以: ∣ L ∣ = 1 |\pmb{L}|=1 L=1 ,则:

∣ A ∣ = ∣ U ∣ = ∏ i = 1 n u i i |\pmb{A}|=|\pmb{U}|=\prod_{i=1}^nu_{ii} A=U=i=1nuii

参考文献

[1]. https://ccjou.wordpress.com/2010/09/01/lu-分解/

相关文章:

《机器学习数学基础》补充资料:矩阵的LU分解

本文是对《机器学习数学基础》第2章2.3.3节矩阵LU分解的拓展。 判断是否可LU分解 并非所有矩阵都可以实现LU分解。 定理1: 若 n n n 阶可逆矩阵 A \pmb{A} A 可以进行LU分解,则 A \pmb{A} A 的 k k k 阶顺序主子阵(leading principal s…...

[笔记.AI]AI知识科普提纲

仅供参考 1.AI基础认知 1.1什么是什么AI 1.2核心概念 1.2.1机器学习、深度学习、神经网络 1.2.2模型:模型、大模型、模型参数 1.2.3多模态 1.2.4生成式AI & 判别式AI 1.3发展与现状 2.大模型 2.1主流大模型 2.1.1分类 2.1.2各…...

Spring Security 如何防止 CSRF 攻击?

目录 一、CSRF 攻击简介二、Spring Security 防止 CSRF 攻击的机制1. 默认启用 CSRF 保护2. CSRF 令牌的生成与验证3. 配置与自定义4. 在请求中包含 CSRF 令牌 三、最佳实践四、总结 一、CSRF 攻击简介 CSRF(Cross-Site Request Forgery)攻击&#xff0…...

使用 Kubeflow 和 Ray 构建机器学习平台

使用 Kubeflow 和 Ray 构建一个稳健的 ML 平台。我们将深入讨论 Kubeflow 和 Ray 的独特功能,以及它们如何互补,共同创建一个强大的 ML 生态系统 集中化 ML 平台的需求 随着企业在 ML 旅程中的成熟,初始 ML 项目的临时性质逐渐让位于对更结构化和可扩展方法的需求。集中化…...

SEO炼金术(4)| Next.js SEO 全攻略

在上一篇文章 SEO炼金术(3)| 深入解析 SEO 关键要素 中,我们深入解析了 SEO 关键要素,包括 meta 标签、robots.txt、canonical、sitemap.xml 和 hreflang,并探讨了它们在搜索引擎优化(SEO)中的作…...

每日十个计算机专有名词 (7)

Metasploit 词源:Meta(超越,超出) exploit(漏洞利用) Metasploit 是一个安全测试框架,用来帮助安全专家(也叫渗透测试人员)发现和利用计算机系统中的漏洞。你可以把它想…...

StarRocks 在爱奇艺大数据场景的实践

作者:林豪,爱奇艺大数据 OLAP 服务负责人 小编导读: 本文整理自爱奇艺工程师在 StarRocks 年度峰会的分享,介绍了爱奇艺 OLAP 引擎演化及引入 StarRocks 后的效果。 在广告业务中,StarRocks 替换 ImpalaKudu 后&#x…...

蓝桥杯好题推荐----高精度乘法

🌈个人主页:羽晨同学 💫个人格言:“成为自己未来的主人~” 题目链接 P1303 A*B Problem - 洛谷https://www.luogu.com.cn/problem/P1303 解题思路 这道题的思路,其实和前面差不多,我们主要说一下最为关键的部分&…...

Linux网络 数据链路层

在Linux网络中,数据链路层位于物理层之上,网络层之下,其主要职责是将网络层的IP数据包封装成帧,并通过物理链路发送到目标设备。同时,它还负责接收来自物理层的帧,并将其解封装为数据包,传递给网…...

量子计算可能改变世界的四种方式

世界各地的组织和政府正将数十亿美元投入到量子研究与开发中,谷歌、微软和英特尔等公司都在竞相实现量子霸权。 这其中的利害关系重大,有这么多重要的参与者,量子计算机的问世可能指日可待。 为做好准备,,我们必须了…...

React 组件基础介绍

基本概念:一个组件就是用户界面的一部分,可以有自己的逻辑和外观,组件之间可以互相嵌套、复用多次。每个组件就是一个首字母大写的函数,内部存放了组件的逻辑和试图UI,渲染组件只需要把组件 当成 标签 书写。App 可以视…...

ETL系列-数据抽取(Extract)

ETL的过程 1、数据抽取:确定数据源,定义数据接口,选择数据抽取方法(主动抽取或由源系统推送)。 2、数据清洗:处理不完整数据、错误数据、重复数据等,确保数据的准确性和一致性。(是…...

java八股文之框架

1.Spring框架中的Bean是否线程安全的 Spring框架中的Bean默认是单例的,不是线程安全的。因为一般在Spring的bean的中都是注入无状态的对象,没有线程安全问题,如果在bean中定义了可修改的成员变量,是要考虑线程安全问题的&#xf…...

【大模型】Ubuntu下 fastgpt 的部署和使用

前言 本次安装的版本为 fastgpt:v4.8.8-fix2。 最新版本fastgpt:v4.8.20-fix2 问答时报错,本着跑通先使用起来,就没有死磕下去,后面bug解了再进行记录。   github连接:https://github.com/labring/FastGPT fastgpt 安装说明&…...

小程序中头像昵称填写

官方文档 参考小程序用户头像昵称获取规则调整公告 新的小程序版本不能通过wx.getUserProfile和wx.getUserInfo获取用户信息 <van-field label"{{Avatar}}" label-class"field-label" right-icon-class"field-right-icon-class"input-class&…...

卷积神经网络(cnn,类似lenet-1,八)

我们第一层用卷积核&#xff0c;前面已经成功&#xff0c;现在我们用两层卷积核&#xff1a; 结构如下&#xff0c;是不是很想lenet-1&#xff0c;其实我们24年就实现了sigmoid版本的&#xff1a; cnn突破九&#xff08;我们的五层卷积核bpnet网络就是lenet-1&#xff09;-CS…...

【NLP 27、文本分类任务 —— 传统机器学习算法】

不要抓着枯叶哭泣&#xff0c;你要等待初春的新芽 —— 25.1.23 一、文本分类任务 定义&#xff1a;预先设定好一个文本类别集合&#xff0c;对于一篇文本&#xff0c;预测其所属的类别 例如&#xff1a; 情感分析&#xff1a; 这家饭店太难吃了 —> 正类 …...

Go红队开发—并发编程

文章目录 并发编程go协程chan通道无缓冲通道有缓冲通道创建⽆缓冲和缓冲通道 等协程sync.WaitGroup同步Runtime包Gosched()Goexit() 区别 同步变量sync.Mutex互斥锁atomic原子变量 SelectTicker定时器控制并发数量核心机制 并发编程阶段练习重要的细节端口扫描股票监控 并发编程…...

Oracle 导出所有表索引的创建语句

在Oracle数据库中&#xff0c;导出所有表的索引创建语句通常涉及到使用数据字典视图来查询索引的定义&#xff0c;然后生成对应的SQL语句。你可以通过查询DBA_INDEXES或USER_INDEXES视图&#xff08;取决于你的权限和需求&#xff09;来获取这些信息。 使用DBA_INDEXES视图 如…...

使用Docker方式一键部署MySQL和Redis数据库详解

一、前言 数据库是现代应用开发中不可或缺的一部分&#xff0c;MySQL和Redis作为两种广泛使用的数据库系统&#xff0c;分别用于关系型数据库和键值存储。本文旨在通过Docker和Docker Compose的方式&#xff0c;提供一个简洁明了的一键部署方案&#xff0c;确保数据库服务的稳…...

告别虚拟机!在Win11的WSL2里用Rust给STM32点灯,保姆级避坑指南(含CMSIS-DAP配置)

在Win11的WSL2中用Rust点亮STM32&#xff1a;全流程避坑指南 当传统虚拟机因性能损耗和资源占用成为开发瓶颈时&#xff0c;WSL2的出现为嵌入式开发者提供了全新选择。本文将带你体验如何在Windows 11环境下&#xff0c;通过WSL2构建完整的Rust嵌入式开发工具链&#xff0c;并解…...

MATLAB/Simulink三相四桥臂逆变器仿真模型:电压外环电流内环控制策略下的负载平衡与...

matlab/simulink三相四桥臂逆变器仿真模型 采用的是电压外环电流内环控制策略&#xff0c;交流测可以接不平衡负载&#xff0c;在负载不平衡的情况下依然可以保持输出电压对称。 直流侧输入电压范围450V~2000V均可。 交流测输出电压为380/220V&#xff0c;不平衡负载和平衡负载…...

3步打造安静工作站:ThinkPad散热控制新方案

3步打造安静工作站&#xff1a;ThinkPad散热控制新方案 【免费下载链接】TPFanCtrl2 ThinkPad Fan Control 2 (Dual Fan) for Windows 10 and 11 项目地址: https://gitcode.com/gh_mirrors/tp/TPFanCtrl2 解决ThinkPad风扇噪音的终极武器 每一位ThinkPad用户都曾经历过…...

突破性AI医疗诊断方案:基于深度学习的开源心电图分类实战指南

突破性AI医疗诊断方案&#xff1a;基于深度学习的开源心电图分类实战指南 【免费下载链接】ecg-classification Code for training and test machine learning classifiers on MIT-BIH Arrhyhtmia database 项目地址: https://gitcode.com/gh_mirrors/ec/ecg-classification …...

企业级数据库AI化实践终极指南:SuperDuperDB与SQL Server深度集成

企业级数据库AI化实践终极指南&#xff1a;SuperDuperDB与SQL Server深度集成 【免费下载链接】superduperdb Superduper: End-to-end framework for building custom AI applications and agents. 项目地址: https://gitcode.com/gh_mirrors/su/superduperdb 在当今数据…...

如何用Hogan.js自动生成模板文档:提升项目维护效率的终极指南

如何用Hogan.js自动生成模板文档&#xff1a;提升项目维护效率的终极指南 【免费下载链接】hogan.js A compiler for the Mustache templating language 项目地址: https://gitcode.com/gh_mirrors/ho/hogan.js Hogan.js是一款高效的Mustache模板语言编译器&#xff0c;…...

如何将网页转化为可编辑设计稿?3大核心场景与实现方案

如何将网页转化为可编辑设计稿&#xff1f;3大核心场景与实现方案 【免费下载链接】figma-html Convert any website to editable Figma designs 项目地址: https://gitcode.com/gh_mirrors/fi/figma-html 你是否曾遇到过看到优秀网页设计却无法直接复用的困境&#xff…...

nli-distilroberta-base惊艳效果:支持动态max_length配置,兼顾长文本与低延迟需求

nli-distilroberta-base惊艳效果&#xff1a;支持动态max_length配置&#xff0c;兼顾长文本与低延迟需求 1. 项目概述 nli-distilroberta-base是一个基于DistilRoBERTa模型的自然语言推理(NLI)Web服务&#xff0c;专门用于判断两个句子之间的逻辑关系。这个轻量级模型在保持…...

VibeVoice保姆级教程:从部署到实战,打造你的专属语音助手

VibeVoice保姆级教程&#xff1a;从部署到实战&#xff0c;打造你的专属语音助手 1. 引言&#xff1a;为什么选择VibeVoice&#xff1f; 想象一下&#xff0c;你正在开发一个需要语音交互的应用&#xff0c;或者想为视频内容添加专业配音&#xff0c;又或者需要为视障用户提供…...

产品经理的AI内功:如何用‘协议思维’和‘框架地图’跟技术团队高效沟通?

产品经理的AI内功&#xff1a;用协议思维与框架地图驱动技术协作 当产品经理第一次走进AI项目会议室&#xff0c;技术团队的白板上写满了"微服务架构""RESTful API""LangChain调度逻辑"等术语时&#xff0c;很多人会陷入两种极端——要么完全放…...