低秩矩阵、奇异值矩阵和正交矩阵
低秩矩阵
低秩矩阵(Low-rank Matrix)是指秩(rank)远小于其行数和列数的矩阵,即 r a n k ( M ) = r ≪ min ( m , n ) rank(M) = r \ll \min(m,n) rank(M)=r≪min(m,n)。其核心特点是信息冗余性,可通过少量独立基向量(奇异向量)近似表示整个矩阵,从而在数据压缩、去噪和补全等任务中发挥重要作用。
意义
矩阵乘法是大多数机器学习模型的核心计算瓶颈。为了降低计算复杂度,已经出现了许多方法对一组更高效的矩阵进行学习。这些矩阵被称为结构化矩阵,其参数数量和运行时间为次二次函数(对于 𝑛 维度,其参数数量和运行时间为 𝑜¹𝑛²º)。结构化矩阵最常见的例子是稀疏矩阵和低秩矩阵,以及信号处理中常见的快速变换(傅里叶变换、切比雪夫变换、正弦/余弦变换、正交多项式)。
核心概念
-
秩的定义
矩阵的秩表示其线性无关的行或列向量的最大数量。若矩阵 M ∈ R m × n M \in \mathbb{R}^{m \times n} M∈Rm×n 的秩为 r r r,则存在分解 M = U V T M = UV^T M=UVT,其中 U ∈ R m × r U \in \mathbb{R}^{m \times r} U∈Rm×r, V ∈ R n × r V \in \mathbb{R}^{n \times r} V∈Rn×r,参数总量从 m × n m \times n m×n 降至 ( m + n ) × r (m+n) \times r (m+n)×r。 -
SVD与低秩逼近
奇异值分解(SVD)将矩阵分解为 M = U Σ V T M = U\Sigma V^T M=UΣVT,其中 Σ \Sigma Σ 为奇异值矩阵。通过保留前 k k k 个最大奇异值( k ≪ r k \ll r k≪r),可得到最优低秩近似 M k M_k Mk(Eckart-Young-Mirsky定理)。
应用场景
- 推荐系统
用户-物品评分矩阵通常低秩,通过矩阵分解(如SVD)挖掘潜在特征,预测缺失值。 - 图像处理
图像矩阵的低秩性可用于去噪(将噪声视为高秩扰动)或修复缺失像素。 - 深度学习微调
LoRA(Low-Rank Adaptation)通过低秩矩阵调整大模型参数,减少计算量。
示例说明
若矩阵 A = [ 1 2 3 2 4 6 3 6 9 ] A = \begin{bmatrix}1 & 2 & 3 \\ 2 & 4 & 6 \\ 3 & 6 & 9\end{bmatrix} A= 123246369 ,其秩为1,因为所有行均为第一行的倍数。此时 A A A 可表示为 U V T UV^T UVT(如 U = [ 1 , 2 , 3 ] T U = [1,2,3]^T U=[1,2,3]T, V = [ 1 , 2 , 3 ] V = [1,2,3] V=[1,2,3])。
为什么重要?
- 计算效率:低秩分解降低存储和计算复杂度(如从 O ( n 2 ) O(n^2) O(n2) 到 O ( n ) O(n) O(n))。
- 鲁棒性:在噪声或缺失数据下仍能恢复主要结构。
奇异值矩阵
奇异值矩阵(Singular Value Matrix)是奇异值分解(SVD)中的核心组成部分,通常记为 Σ \Sigma Σ(或 S S S),它是一个对角矩阵,其对角线元素为矩阵的奇异值,按从大到小排列,其余元素为零。以下是详细解析:
1. 定义与数学形式
给定矩阵 A ∈ R m × n A \in \mathbb{R}^{m \times n} A∈Rm×n,其奇异值分解为:
A = U Σ V T A = U \Sigma V^T A=UΣVT
其中:
- U U U 是 m × m m \times m m×m 的正交矩阵(左奇异向量)。
- V V V 是 n × n n \times n n×n 的正交矩阵(右奇异向量)。
- Σ \Sigma Σ 是 m × n m \times n m×n 的对角矩阵,称为奇异值矩阵,其对角线元素 σ 1 ≥ σ 2 ≥ ⋯ ≥ σ r > 0 \sigma_1 \geq \sigma_2 \geq \dots \geq \sigma_r > 0 σ1≥σ2≥⋯≥σr>0( r = rank ( A ) r = \text{rank}(A) r=rank(A))即为 A A A 的奇异值。
2. 奇异值的性质
- 非负性:奇异值 σ i \sigma_i σi 是非负实数,且唯一确定(即使 U U U 和 V V V 不唯一)。
- 与特征值的关系:奇异值是 A T A A^TA ATA 或 A A T AA^T AAT 的特征值的平方根。
- 矩阵秩:非零奇异值的个数等于矩阵 A A A 的秩。
3. 计算与示例
计算方法
- SVD分解:通过数值计算工具(如MATLAB的
svd
或 Python的numpy.linalg.svd
)直接求解。 - 特征值分解:先计算 A T A A^TA ATA 的特征值,再取平方根得到奇异值。
示例
若矩阵 A = [ 1 0 1 0 1 0 ] A = \begin{bmatrix}1 & 0 & 1 \\ 0 & 1 & 0\end{bmatrix} A=[100110],其奇异值分解后 Σ \Sigma Σ 可能为:
Σ = [ 1.732 0 0 0 1 0 ] \Sigma = \begin{bmatrix}1.732 & 0 & 0 \\ 0 & 1 & 0\end{bmatrix} Σ=[1.73200100]
其中奇异值为 1.732 1.732 1.732 和 1 1 1。
4. 应用场景
- 数据压缩:保留前 k k k 个奇异值(低秩近似)可减少存储和计算量(如PCA)。
- 图像去噪:较小的奇异值通常对应噪声,截断后可恢复清晰图像。
- 推荐系统:通过SVD分解用户-物品矩阵,提取潜在特征。
5. 几何意义
奇异值表示矩阵 A A A 在不同方向上的“缩放因子”。例如,在图像处理中,奇异值越大,对应的特征方向对图像的贡献越大。
总结
奇异值矩阵 Σ \Sigma Σ 是SVD的核心,其对角线元素(奇异值)揭示了矩阵的秩、稳定性及主要特征方向。通过控制奇异值的数量,可实现数据降维、去噪等高效操作。
正交矩阵
正交矩阵(Orthogonal Matrix)是线性代数中一类重要的实方阵,其核心特性是转置矩阵等于逆矩阵,即满足 Q T Q = Q Q T = I Q^T Q = Q Q^T = I QTQ=QQT=I( I I I 为单位矩阵)。以下是其关键内容:
1. 定义与性质
- 定义:若 n × n n \times n n×n 实矩阵 Q Q Q 满足 Q T = Q − 1 Q^T = Q^{-1} QT=Q−1,则称 Q Q Q 为正交矩阵。
- 等价条件:
- 行(或列)向量组是标准正交基(两两正交且长度为1)。
- 保持向量内积不变: ( Q x , Q y ) = ( x , y ) (Qx, Qy) = (x, y) (Qx,Qy)=(x,y),即保持几何长度和夹角。
- 行列式 ∣ Q ∣ = ± 1 |Q| = \pm 1 ∣Q∣=±1( + 1 +1 +1 表示旋转, − 1 -1 −1 表示反射)。
2. 分类与例子
- 第一类正交矩阵: ∣ Q ∣ = 1 |Q| = 1 ∣Q∣=1,对应旋转变换(如二维旋转矩阵):
Q = [ cos θ − sin θ sin θ cos θ ] Q = \begin{bmatrix} \cos \theta & -\sin \theta \\ \sin \theta & \cos \theta \end{bmatrix} Q=[cosθsinθ−sinθcosθ] - 第二类正交矩阵: ∣ Q ∣ = − 1 |Q| = -1 ∣Q∣=−1,对应反射变换(如镜像矩阵)。
3. 应用领域
- 几何变换:用于旋转、反射等操作(如计算机图形学中的坐标变换)。
- 数据科学:主成分分析(PCA)中通过正交矩阵实现降维。
- 信号处理:离散傅里叶变换(DFT)的基函数构成正交矩阵。
- 量子计算:量子门操作对应酉矩阵(复数域的正交矩阵)。
4. 重要定理
- 谱分解定理:实对称矩阵可通过正交矩阵对角化,即 A = Q Λ Q T A = Q \Lambda Q^T A=QΛQT( Λ \Lambda Λ 为对角矩阵)。
- QR分解:任意矩阵可分解为正交矩阵与上三角矩阵的乘积。
Python示例验证
import numpy as np
Q = np.array([[1/np.sqrt(2), 1/np.sqrt(2)], [-1/np.sqrt(2), 1/np.sqrt(2)]])
print("Q^T Q = \n", np.dot(Q.T, Q)) # 应输出单位矩阵
正交矩阵因其计算高效(逆即转置)和几何保形性,成为数学与工程领域的基石工具。
相关文章:
低秩矩阵、奇异值矩阵和正交矩阵
低秩矩阵 低秩矩阵(Low-rank Matrix)是指秩(rank)远小于其行数和列数的矩阵,即 r a n k ( M ) r ≪ min ( m , n ) rank(M) r \ll \min(m,n) rank(M)r≪min(m,n)。其核心特点是信息冗余性,可通过少量…...

CS144 - LAB0
CS144 - Lab 0 telnet 发送请求 如图,很简单,但是注意输入时间太久会超时 发邮箱 首先我们需要用命令行去发邮箱,这里我用企业微信邮箱给自己的 qq 邮箱发送~ 整个命令如下! 对于其中的参数,其实从英文就可以看出来…...

论文浅尝 | 将复杂知识图谱问答对齐为约束代码生成(COLING2025)
笔记整理:康家溱,东南大学在读硕士,研究方向为代码大语言模型 论文链接:https://aclanthology.org/2025.coling-main.267.pdf 发表会议:COLING 2025 1. 动机 近年来,随着大语言模型(LLM…...
【Linux命令】scp远程拷贝
文章目录 1. 基本语法与常用选项2. 使用场景和使用示例本地文件->远程主机远程主机文件->本地远程主机->另一台远程主机 3. 使用注意事项 scp(Secure Copy Protocol)是linux中基于ssh的安全文件传输工具,用于在本地和远程主机之前安…...

Golang|分布式搜索引擎中所使用到的设计模式
迭代器模式 定义:在遍历接口时,提供统一的方法函数供调用,保持一致性。核心思想:与大众习惯保持一致,方便第三方实现容器类时保持一致。常见方法:如next()方法,适用于所有集合类,简化…...

Ubuntu22.04通过命令行安装qt5
环境: VMware17Pro ubuntu-22.04.5-desktop-amd64.iso 步骤: 安装好虚拟机进入shell,或通过ssh登录,确保虚拟机能上外网,执行命令: sudo apt update sudo apt install build-essential sudo snap in…...
【仿生机器人】仿生机器人系统架构设计2.0——具备可执行性
结合我的需求后,来自Claude4.0 的结构设计 仿生机器人系统架构设计 一、系统总体架构 1.1 核心设计理念 涌现式情感:情感不是预设的规则,而是从环境感知、记忆关联和内在状态的复杂交互中涌现出来动态人格塑造:性格特质随着经…...

STM32:ESP8266 + MQTT 云端与报文全解析
知识点1【MQTT的概述】 1、概述 MQTT是一种基于发布/订阅模式的轻量级应用层协议,运行在TCP/IP协议之上,专用物联网(IoT)和机器对机器(M2M)设计,其核心目标是低带宽,高延迟或不稳定…...

HTML5 Canvas 星空战机游戏开发全解析
HTML5 Canvas 星空战机游戏开发全解析 一、游戏介绍 这是一款基于HTML5 Canvas开发的2D射击游戏,具有以下特色功能: 🚀 纯代码绘制的星空动态背景✈️ 三种不同特性的敌人类型🎮 键盘控制的玩家战机📊 完整的分数统…...

箱式不确定集
“箱式不确定集(Box Uncertainty Set)”可以被认为是一种 相对简单但实用的不确定集建模方式。 ✅ 一、什么是“简单的不确定集”? 在鲁棒优化领域,“简单不确定集”通常指的是: 特点描述形式直观数学表达简洁&#…...

内存管理 : 04段页结合的实际内存管理
一、课程核心主题引入 这一讲,我要给大家讲的是真正的内存管理,也就是段和页结合在一起的内存管理方式。之前提到过,我们先学习了分段管理内存的工作原理,知道操作系统采用分段的方式,让用户程序能以分段的结构进行编…...
不使用绑定的方法
public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); // 初始设置 A 控件的宽度 ControlA.Width ControlB.Width / 2; // 监听 B 控件的 SizeChanged 事件 ControlB.SizeChanged (sender, e) > { ControlA.Width ControlB.Actual…...
Spring Boot 中的 Web 应用与 Reactive Web 应用
该判断题表述为:“Spring Boot启动过程中会判断当前应用类型是Web应用还是Reactive Web应用。” 这个说法是 正确的。Spring Boot 的自动配置机制会检查类路径,以确定是将应用程序配置为传统的 Servlet Web 应用还是 Reactive Web 应用。 Spring Boot 中…...
基于 stm32 的农用车控制系统设计
一、系统功能需求分析 农用车控制系统需实现多方面功能,以满足农业生产多样化需求。在动力控制方面,要实现发动机转速调节、挡位自动切换;作业控制涵盖农机具升降、播种施肥量调节、喷洒农药的流量与压力控制等;同时,还需具备车辆状态监测功能,实时监控发动机温度、油压…...

vue3: baidusubway using typescript
项目结构: <!--npm install -D tailwindcss-3d BaiduSubwayMap.vue npm install -D tailwindcss postcss autoprefixer--> <template><div class"relative w-full h-screen"><!-- 地图容器 --><div id"subway-container…...

Redis最佳实践——性能优化技巧之集群与分片
Redis集群与分片在电商应用中的性能优化技巧 一、Redis集群架构模式解析 1. 主流集群方案对比 方案核心原理适用场景电商应用案例主从复制读写分离数据冗余中小规模读多写少商品详情缓存Redis Sentinel自动故障转移监控高可用需求场景订单状态缓存Redis Cluster原生分布式分片…...
vue或者前端适配makedown推荐开源依赖
在 Vue 或前端项目中处理 Markdown 格式,以下是一些推荐的开源依赖和工具,根据需求分类整理: 1. 基础 Markdown 解析与渲染 Vue 专用库 vueuse/markdown VueUse 生态的 Markdown 工具,轻量且集成度高。 适合快速在 Vue 项目中渲…...
打打基础 | 从翻转链表到寄存器、汇编与内存
我作为软件工程师在美国工作了三年,期间接触和浸泡过不少的技术栈,罗列一番的话有 AWS cloud, frontend (React, TypeScript), backend (Django, Springboot, ECS, GraphQL), JVM (Java, Scala, Kotlin), data pipelines (Spark, Snowflake, Prefect, DB…...
深入解析 Dotnet-Boxed.Framework:提升 .NET 开发效率的利器
在现代 .NET 开发中,框架和工具的选择对项目的开发效率和长期维护至关重要。Dotnet-Boxed.Framework 是一个开源框架,旨在简化开发流程,提高生产力。它通过一组实用的工具和自动化功能,帮助开发者快速构建高质量的应用程序。本文将…...

常见相机的ISP算法
常见的ISP算法 3A算法 去雾算法 图像增强算法 图像宽动态算法 图像的电子缩放算法,无极电子缩放 图像降噪算法 相机常见问题 1.相机启动速度问题,启动速度较慢 2.相机扛不住高低温问题 3.相机散热问题问题 4.相机高低温芯片保护掉电 5.相机的成像效果或者…...

2024 CKA模拟系统制作 | Step-By-Step | 8、题目搭建-创建 Ingress
目录 免费获取题库配套 CKA_v1.31_模拟系统 一、题目 二、核心考点 Ingress 资源定义 Ingress Controller 依赖 服务暴露验证 网络层次关系 三、搭建模拟环境 1.创建命名空间 2.安装ingress ingress-nginx-controller 3.创建hello.yaml并部署 四、总结 …...

OldRoll复古胶片相机:穿越时光,定格经典
在数字摄影盛行的今天,复古胶片相机的独特魅力依然吸引着无数摄影爱好者。OldRoll复古胶片相机这款软件,以其独特的复古风格和丰富的胶片滤镜效果,让用户仿佛穿越回了那个胶片摄影的黄金时代。它不仅模拟了胶片相机的操作界面,还提…...

通俗易懂的 JS DOM 操作指南:从创建到挂载
目录 🧩 1. 创建元素:document.createElement / createElementNS 📝 2. 创建文本:document.createTextNode ✏️ 3. 修改文本:node.nodeValue 🗑️ 4. 移除元素:el.removeChild() …...

CSS Day07
1.搭建项目目录 2.网页头部SEO三大标签 3.Favicon图标与版心 (1)Favicon图标 (2)版心 4.快捷导航 5.头部-布局 6.头部-logo 7.头部-导航 8.头部-搜索 9头部-购物车 10.底部-布局 11.底部-服务区域 12.底部-帮助中心 13.底部-版权…...
爬虫框架:scrapy使用心得
文章目录 前言一、scrapy是什么?二、使用步骤1.安装和创建2.请求以及参数3.代理池4.请求错误处理5.采集数据入库6.日志及其他配置 总结 前言 有些时候我们需要采集大量数据时,我们需要程序的运行效率高,当然如果有时候不想写请求代码的时候,这些情况我都…...

RV1126-OPENCV 交叉编译
一.下载opencv-3.4.16.zip到自己想装的目录下 二.解压并且打开 opencv 目录 先用 unzip opencv-3.4.16.zip 来解压 opencv 的压缩包,并且进入 opencv 目录(cd opencv-3.4.16) 三. 修改 opencv 的 cmake 脚本的内容 先 cd platforms/linux 然后修改 arm-gnueabi.to…...

【深度学习】 19. 生成模型:Diffusion Models
Diffusion Models Diffusion Models 简介 Diffusion 模型是一类通过逐步添加噪声并再逆向还原的方式进行图像生成的深度生成模型。其基本流程包括: 前向过程(Forward Process):将真实图像逐步加噪,最终变为高斯噪声…...

JMeter 直连数据库
1.直连数据库的使用场景 1.1 参数化,例如登录使用的账户名密码都可以从数据库中取得 1.2 断言,查看实际结果和数据库中的预期结果是否一致 1.3 清理垃圾数据,例如插入一个用户,它的ID不能相同,在测试插入功能后将数据删…...

易路 iBuilder:解构企业 AI 落地困境,重构智能体时代生产力范式
一、从大模型到智能体的产业跃迁 2024 年堪称中国人工智能产业的 "战略拐点" 之年。当 DeepSeek R1 模型以 "技术 价格" 双重普惠模式掀起行业震荡时,各企业纷纷意识到,大模型的真正价值不在于技术炫技,而在于成为企业…...
数据库,Spring Boot,数据源
您是对的,我之前的回答解释了Spring Boot在操作MySQL时不一定需要显式配置指定的数据源类型,因为它有自动配置机制,但没有直接点明在自动配置情况下“数据源是什么”。 在Spring Boot自动配置机制下,这个“数据源”指的是一个连接…...