整理低秩的理解

秩的定义是矩阵中非零特征值的个数。比如一个NxN的矩阵,它的秩为r,r远小于N,我们可以说它是低秩的。

但还有另一种情况:这个矩阵的的秩接近N,但它的特征值大多数接近于0,只有少数几个特征值特别大,这种也可以认为是低秩的。如果我们将低秩图像的特征值从大到小排列,会得到这样一条曲线:
在这里插入图片描述
(纵坐标为特征值的大小,横坐标为不同的特征值下标)

可以从特征向量的角度来理解低秩的含义:矩阵只需要极少数的几个特征向量就能近似还原出原先矩阵中的每个向量。

在用这些特征向量还原矩阵的过程中,这些特征向量起到的作用是有差异的,特征值越大的特征向量,它和矩阵中的大部分向量越相似,所以只需要用前几个重要特征向量进行线性组合,就能近似的还原矩阵中的大多数向量

如果我们将低秩矩阵X分解为A*Z,可以将A看作是特征向量,或者说是基向量组(基底),Z为图像的系数表示矩阵。那么可以取前r个特征向量 A ′ = A ∈ R N × r A'=A \in R^{N \times r} A=ARN×r和对应的系数矩阵 Z ′ = Z ∈ R r × N Z'=Z \in R^{r \times N} Z=ZRr×N相乘,得到 X ′ = A ′ ∗ Z ′ X'=A'*Z' X=AZ的和原矩阵X是很接近的。

下面选用了一张有较多重复图案的图像,这类图像由于图像细节的相似性往往具有低秩特点,在RGB三通道上进行依次选用前k个特征向量来还原原图:
在这里插入图片描述
可以看到,仅使用一个特征向量便能大致刻画图像的图案特征,当选用前20个特征向量时,基本能很好的还原出原始图像的细节了。

在刚接触PCA时,常将其用于数据压缩,比如一个多分类问题,每条样本包含大量的属性,而有些属性并不关键,去掉这些属性对分类影响不大,于是通过PCA将原先由N个属性表示的样本压缩为r(r<<N)个属性表示,使数据的处理更加方便。在这个过程中,剩下的信息也是用少数r个特征向量来表示的,它们对应的特征值都较大。

我们会用能量来表示特征向量的作用,它计算很简单,第i个特征向量的能量为:该特征值 / 所有特征值之和。对于低秩矩阵来说,用能量占90%以上的前几个特征就能表示出原矩阵了,恢复的误差很小。即使是一般的图像,也常常会用类似的方式进行压缩,在图像的传输中,为节省流量往往进行压缩,我们有时候会看到一些高糊的表情包,可能就是不断压缩的结果(趣称为“电子包浆”)。

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

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

相关文章

【DevOps】Git 图文详解(四):Git 使用入门

Git 图文详解&#xff08;四&#xff09;&#xff1a;Git 使用入门 1.创建仓库2.暂存区 add3.提交 commit 记录4.Git 的 “指针” 引用5.提交的唯一标识 id&#xff0c;HEAD~n 是什么意思&#xff1f;6.比较 diff 1.创建仓库 创建本地仓库的方法有两种&#xff1a; 一种是创建…

智能告警:如何通过监控易实现精准故障预警与快速定位

在动态变化的IT环境中&#xff0c;故障预防与快速响应成为了运维管理的关键。监控易作为一体化运维监控平台&#xff0c;凭借其智能告警和精准定位的特性&#xff0c;为运维团队提供了强有力的支持&#xff0c;确保了IT系统的稳定运行。本文将深入探讨监控易在故障预警和快速定…

LoRA低秩微调技术详解

在当今快节奏的技术环境中&#xff0c;大型AI模型正在推动不同领域的突破。 然而&#xff0c;根据特定任务或数据集定制这些模型可能是一项计算和资源密集型工作。 LoRA是一种突破性且高效的微调技术&#xff0c;它利用这些高级模型的强大功能来执行自定义任务和数据集&#xf…

单元测试实战(一)Controller 的测试

为鼓励单元测试&#xff0c;特分门别类示例各种组件的测试代码并进行解说&#xff0c;供开发人员参考。 本文中的测试均基于JUnit5。 单元测试实战&#xff08;一&#xff09;Controller 的测试 单元测试实战&#xff08;二&#xff09;Service 的测试 单元测试实战&…

ForkLift:macOS文件管理器/FTP客户端

ForkLift 是一款macOS下双窗口的文件管理器&#xff0c;可以代替本地的访达。ForkLift同时具备连接Ftp、SFtp、WebDav以及云服务器。 ForkLift还具备访达不具备的小功能&#xff0c;比如从文件夹位置打开终端&#xff0c;显示隐藏文件&#xff0c;制作替换等功能。ForkLift 是一…

Spring Cloud学习(九)【Elasticsearch 分布式搜索引擎01】

文章目录 初识 elasticsearch了解 ES倒排索引ES 的一些概念安装es、kibana安装elasticsearch部署kibana 分词器安装IK分词器ik分词器-拓展词库 索引库操作mapping 映射属性索引库的 CRUD 文档操作添加文档查看、删除文档修改文档Dynamic Mapping RestClient 操作索引库什么是Re…

代码随想录二刷 | 数组 | 移除元素

代码随想录二刷 &#xff5c; 数组 &#xff5c; 移除元素 题目描述解题思路 & 代码实现暴力解法双指针法 题目描述 27. 移除元素 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用…

【数据结构】F:B DS图_课程表 拓扑排序实现

F : B DS图_课程表 Description 小明这个学期必须选修n门课程&#xff0c;课程编号记为0到n-1。 在选修某些课程之前需要一些先修课程。先修课程按数组prerequisites给出&#xff0c;其中prerequisites[i] [a, b]&#xff0c;表示如果要学习课程a则必须先学习课程b。 例如&a…

Ubuntu/Debian Hat 系 Linux 使用

目录 1. Ubuntu/Debian Hat 系 Linux 使用1.1. 包1.1.1. Install Package1.1.2. Convert .rpm package to .deb1.1.3. Install RPM Package Directly Onto the System on Ubuntu1.1.4. Command not found 1. Ubuntu/Debian Hat 系 Linux 使用 1.1. 包 1.1.1. Install Package…

手搓哈希表、列表、队列,只为了用C语言快速求解华容道游戏,我不是大佬,只是一个游戏算法爱好者

背景 多年前曾经写过C语言求解华容道&#xff0c;当时没有用到哈希表&#xff0c;导致整个查重搜索数组过大&#xff0c;每次求解都得花上数分钟的时间&#xff0c;如今时过境迁&#xff0c;对数据结构和算法有了更深的理解&#xff0c;所以得把这一块补上了。(其实就是最近想…

Redis面经

Redis使用场景 1、缓存&#xff1a; 缓存三兄弟(穿透、击穿、雪崩) 、双写一致、持久化、数据过期策略&#xff0c;数据淘汰策略 2、分布式锁 setnx、redisson 3、消息队列 4、延迟队列 何种数据类型&#xff08;list、zset&#xff09; 缓存三兄弟 缓存穿透 缓存穿透…

Python 如何实现职责链设计模式?什么是职责链设计模式?Python 职责链设计模式示例代码

什么是职责链&#xff08;Chain of Responsibility&#xff09;设计模式&#xff1f; 职责链&#xff08;Chain of Responsibility&#xff09;设计模式是一种行为型设计模式&#xff0c;旨在构建一个对象链&#xff0c;每个对象都有机会处理请求&#xff0c;并且可以将请求传…

动手学深度学习——循环神经网络的从零开始实现(原理解释+代码详解)

文章目录 循环神经网络的从零开始实现1. 独热编码2. 初始化模型参数3. 循环神经网络模型4. 预测5. 梯度裁剪6. 训练 循环神经网络的从零开始实现 从头开始基于循环神经网络实现字符级语言模型。 # 读取数据集 %matplotlib inline import math import torchfrom torch import …

五、hdfs常见权限问题

1、常见问题 2、案例 &#xff08;1&#xff09;问题 &#xff08;2&#xff09;hdfs的超级管理员 &#xff08;3&#xff09;原因 没有使用Hadoop用户对hdfs文件系统进行操作。 在Hadoop文件系统中&#xff0c;Hadoop用户相当于Linux系统中的root用户&#xff0c;是最高级别用…

react实现步进器

创建一个步进器组件&#xff0c;包含当前步骤&#xff08;currentStep&#xff09;的状态以及前进和后退的操作&#xff1a; import React, { useState } from react;function Stepper() {const [currentStep, setCurrentStep] useState(1);const handleNext () > {setCu…

⑩② 【MySQL索引】详解MySQL`索引`:结构、分类、性能分析、设计及使用规则。

个人简介&#xff1a;Java领域新星创作者&#xff1b;阿里云技术博主、星级博主、专家博主&#xff1b;正在Java学习的路上摸爬滚打&#xff0c;记录学习的过程~ 个人主页&#xff1a;.29.的博客 学习社区&#xff1a;进去逛一逛~ MySQL索引 ⑩② 【MySQL索引】1. 索引2. 索引的…

搞科研、写论文,如何正确使用GPT?AIGC技术解析、提示词工程高级技巧、AI绘图、ChatGPT/GPT4应用

目录 专题一 OpenAI开发者大会最新技术发展及最新功能应用 专题二 AIGC技术解析 专题三 提示词工程高级技巧 专题四 ChatGPT/GPT4的实用案例 专题五 让ChatGPT/GPT4成为你的论文助手 专题六 让ChatGPT/GPT4成为你的编程助手 专题七 让ChatGPT/GPT4进行数据处理 专题八 …

Wordpress页面生成器:Elementor 插件制作网站页面教程(图文完整)

本文来教大家怎么使用Wordpress Elementor页面编辑器插件来自由创建我们的网页内容。很多同学在面对建站的时候,一开始都是热血沸腾信心满满的,等到实际上手的时候就会发现有很多问题都是无法解决的,希望本篇Elementor插件使用指南能够帮助到你。 Wordpress Elementor页面编…

解决React遍历每次渲染多个根元素导致无法为元素赋值key的问题

遍历时&#xff0c;存在多个根标签&#xff0c;如果使用<></>无法正确赋值key&#xff0c;代码如下&#xff1a; function App() {const list [{ id:1, name:"小明" },{ id:2, name:"小田" },{ id:3, name:"小王" }]const listCon…

使用VC++实现分段线性变换,直方图均衡化、锐化处理(使用拉普拉斯算子)

图像锐化1 获取源工程可访问huiningLi的gitee可在此工程的基础上进行学习。 实验要求 5.1实验目的、要求 实验目的&#xff1a; &#xff08;1&#xff09;掌握图像增强的原理与相关方法。 &#xff08;2&#xff09;能使用VC实现图像增强的一些相关功能。 实验要求&#xf…