矩阵变换

幂等矩阵的理解

北慕城南 提交于 2019-12-14 06:18:07
一.幂等矩阵的定义 若对于方阵A存在如下关系: A A = A AA=A A A = A ,则称A为一个幂等矩阵 二.一些常见的幂等矩阵 1.单位矩阵 I I I 2.某一行全为1,其余行全为0的矩阵 A A A (证明:设 A A A 的第 m m m 行全为1,其余行全为0。 B = A ∗ A B=A*A B = A ∗ A ,可知 b i j = ∑ k = 1 n a i k a k j b_{ij}={\textstyle\sum_{k=1}^n}a_{ik}a_{kj} b i j ​ = ∑ k = 1 n ​ a i k ​ a k j ​ ,只有当 i = m i=m i = m 时, ∑ k = 1 n a i k a k j = 1 {\textstyle\sum_{k=1}^n}a_{ik}a_{kj}=1 ∑ k = 1 n ​ a i k ​ a k j ​ = 1 ,则 b m j = 1 b_{mj}=1 b m j ​ = 1 ,否则为0,所以 B B B 矩阵第 m m m 行全为1,其余行全为0。所以 B = A ∗ A = A B=A*A=A B = A ∗ A = A ) 3.用于计算离差的矩阵 M 0 = ( I − 1 n i i ′ ) M_{0}=(I-\frac1nii') M 0 ​ = ( I − n 1 ​ i i ′ )

[题解]UOJ#41 矩阵变换

狂风中的少年 提交于 2019-12-14 03:01:52
传送门 分析 先随便选 记 \(p[i][j]\) 表示 \(j\) 这个数在第 \(i\) 行的位置,考虑不合法的情况: 假设第i行选择的数为 \(x\) ,第 \(j\) 行选择的为 \(y\) ,且 \(p[i][x]<p[j][x]<p[j][y]\) ,那么在第 \(p[j][x]\) 列就会有两个 \(x\) 出现,不满足条件。 那么,我们最终的目标就是使得上述情况不存在 可以转化成稳定婚姻问题: 对于每一行,优先去选在左边的 对于每一个数,优先匹配 \(p[i][x]\) 大的 \(i\) 代码 #include<bits/stdc++.h> #define rep(X,A,B) for(int X=A;X<=B;X++) #define tep(X,A,B) for(int X=A;X>=B;X--) #define LL long long const int N=210; using namespace std; int n,m,chk; int ans[N],vis[N],p[N][N],a[N][N]; queue<int>Q; void READ(){ scanf("%d%d",&n,&m); int x=0; rep(i,1,n){ rep(j,1,m){ scanf("%d",&x); if(x)p[i][x]=j; a[i][j]=x; } } }

【矩阵分析】自学笔记(一)

百般思念 提交于 2019-12-11 23:27:00
向量空间 向量空间又称线性空间,是线性代数的中心内容和基本概念之一。在解析几何里引入 向量 概念后,使许多问题的处理变得更为简洁和清晰,在此基础上的进一步抽象化,形成了与 域 相联系的向量空间概念。譬如, 实系数多项式 的集合在定义适当的运算后构成向量空间,在代数上处理是方便的。单变元实函数的集合在定义适当的运算后,也构成向量空间,研究此类函数向量空间的数学分支称为泛函分析。 纯量域(标量域) 标量(scalar),亦称“无向量”。有些物理量,只具有数值大小,而没有方向,部分有正负之分。物理学中,标量(或作 纯量 )指在坐标变换下保持不变的物理量。用通俗的说法,标量是只有大小,没有方向的量。 逆元素 逆元素是指一个可以取消另一给定元素运算的元素,在数学里,逆元素广义化了加法中的加法逆元和乘法中的倒数。 张成空间 基 在线性代数中,基(也称为基底)是描述、刻画向量空间的基本工具。向量空间的基是它的一个特殊的子集,基的元素称为基向量。向量空间中任意一个元素,都可以唯一地表示成基向量的线性组合。如果基中元素个数有限,就称向量空间为有限维向量空间,将元素的个数称作向量空间的维数。 来源: CSDN 作者: Tsin # 链接: https://blog.csdn.net/tsin94/article/details/103493678

矩阵分解

Deadly 提交于 2019-12-09 22:31:27
目录 矩阵的奇异值分解(Singular Value Decomposition): 分解步骤(SVD): 几何意义(SVD): 矩阵的奇异值分解(Singular Value Decomposition): 定义:设矩阵 A ∈ C r m × n A \in C_r^{m\times n} A ∈ C r m × n ​ , λ i \lambda _i λ i ​ 是 A A H ( A H A ) AA^H(A^HA) A A H ( A H A ) 的非零特征值,则称 σ i = λ i \sigma _i=\sqrt{\lambda _i} σ i ​ = λ i ​ ​ 为 A A A 的奇异值, i = 1 , 2 , ⋯   , r i=1,2,\cdots,r i = 1 , 2 , ⋯ , r 定理:设矩阵 A ∈ C r m × n A \in C_r^{m\times n} A ∈ C r m × n ​ ,则存在 U ∈ U m × m U \in U^{m\times m} U ∈ U m × m , V ∈ U n × n V \in U^{n\times n} V ∈ U n × n ,使得 A = U [ Δ 0 0 0 ] V H A=U \left [ \begin{matrix} \Delta &0\\ 0&0\end{matrix}

Lush手册——第一章 简介

吃可爱长大的小学妹 提交于 2019-12-06 21:23:27
简介 本章将展示Lush及其能力与特性。 1.1 Lush展示 Lush是一门面向对象的编程语言,是为对大规模数值运算与图形化应用感兴趣的研究人员、实验人员和工程师设计的。Lush用于以下场景,即想要将高级的、弱类型的解释性语言的灵活性,强类型的、本地编译型的语言的高效性,还有与C、C++等语言编写的代码容易结合这些特性组合在一起。 在与解释型语言(如Python、Perl、Matlab、S+甚至BASIC)和使用编译型语言(例如C语言)结合的相关工程上,Lush的优势尤其意义重大。通过使用Lush,我们将获得解释型和编译型编程世界里的最好的部分,并最终合而为一: 一个拥有简单的类Lisp语法的、带松散类型的、带垃圾回收机制的、动态作用域的解释型语言; 一个带有类Lisp语法的、带有强类型、词法作用域的编译型语言; C语言可以自由地混合到Lush代码里,该Lush代码可以是一段单独的程序或者一个单独的函数。 这听起来有点复杂,其实不然。事实上,Lush的设计原则就是易学易用。 Lush的主要特征有以下几点: 一个整洁的、简单的和易学的类Lisp语法; 一个非常高效的本地编译器(由C语言实现); 一个与C函数与库对接的容易的方式,联通对用其它语言编写的对象文件的强大的动态加载能力; 自由地将Lisp代码与C代码混合到一个函数里能力; 一个包含向量、矩阵和张量操作的强大的集合;

图像风格迁移原理

拥有回忆 提交于 2019-12-06 13:09:05
所谓 图像风格迁移 ,是指利用算法学习著名画作的风格,然后再把这种风格应用到另外一张图片上的技术。著名的图像处理应用Prisma是利用风格迁移技术,普通用户的照片自动变换为具有艺术家风格的图片。 一、图像风格迁移的原理 1、原始图像风格迁移的原理   在学习原始的图像风格迁移之前,可以在先看看ImageNet图像识别模型VGGNet( 微调(Fine-tune)原理 )。事实上,可以这样理解VGGNet的结构:前面的卷积层是从图像中提取“特征”,而后面的全连接层把图片的“特征”转换为类别概率。其中,VGGNet中的浅层(如conv1_1,conv1_2),提取的特征往往是比较简单的(如检测点、线、亮度),VGGNet中的深层(如conv5_1,conv5_2),提取的特征往往比较复杂(如有无人脸或某种特定物体)。   VGGNet本意是输入图像,提取特征,并输出图像类别。图像风格迁移正好与其相反, 输入的是特征,输出对应这种特征的图片 ,如下图所示:       具体来说,风格迁移使 用卷积层的中间特征还原出对应这种特征的原始图像 。如下图所示,先选取一幅原始图像,经过VGGNet计算后得到各个卷积层的特征。接下来,根据这些卷积层的特征,还原出对应这种特征的原始图像。       下面的a、b、c、d、e分别为使用conv1_2、conv2_2、conv3_2、conv4_2

机器学习:数据清洗和特征选择

孤街醉人 提交于 2019-12-06 07:01:23
数据清洗和特征选择 数据清洗 清洗过程 数据预处理: 选择数据处理工具:数据库、Python相应的包; 查看数据的元数据及数据特征; 清理异常样本数据: 处理格式或者内容错误的数据; 处理逻辑错误数据:数据去重,去除/替换不合理的值,去除/重构不可靠的字段值; 处理不需要的数据:在进行该过程时,要注意备份原始数据; 处理关联性验证错误的数据:常应用于多数据源合并的过程中。 采样: 数据不均衡处理:上采样、下采样、SMOTE算法 样本的权重问题 数据不平衡 在实际应用中,数据的分布往往是不均匀的,会出现"长尾现象",即绝大多数的数据在一个范围/属于一个类别,而在另外一个范围或者类别中,只有很少一部分数据。此时直接采用机器学习效果不会很好,因此需要对数据进行转换操作。 长尾效应: 解决方案01 设置损失函数的权重, 使得少数类别数据判断错误的损失大于多数类别数据判断错误的损失 ,即:当我们的少数类别数据预测错误的时候,会产生一个比较大的损失值,从而导致模型参数往让少数类别数据预测准确的方向偏。 可通过设置sklearn中的class_weight参数来设置权重。 解决方案02 下采样/欠采样(under sampling): 从多数类中随机抽取样本从而减少多数类别样本数据 ,使数据达到平衡的方式。 集成下采样/欠采样:采用普通的下采样方式会导致信息丢失

图像卷积与滤波的一些知识点

核能气质少年 提交于 2019-12-05 23:48:07
转自 http://blog.csdn.net/zouxy09/article/details/49080029 一、线性滤波与卷积的基本概念 线性滤波可以说是图像处理最基本的方法,它可以允许我们对图像进行处理,产生很多不同的效果。做法很简单。首先,我们有一个二维的滤波器矩阵(有个高大上的名字叫卷积核)和一个要处理的二维图像。然后,对于图像的每一个像素点,计算它的邻域像素和滤波器矩阵的对应元素的乘积,然后加起来,作为该像素位置的值。这样就完成了滤波过程。 对图像和滤波矩阵进行逐个元素相乘再求和的操作就相当于将一个二维的函数移动到另一个二维函数的所有位置,这个操作就叫卷积或者协相关。卷积和协相关的差别是,卷积需要先对滤波矩阵进行180的翻转,但如果矩阵是对称的,那么两者就没有什么差别了。 Correlation 和 Convolution可以说是图像处理最基本的操作,但却非常有用。这两个操作有两个非常关键的特点:它们是线性的,而且具有平移不变性shift-invariant。平移不变性指我们在图像的每个位置都执行相同的操作。线性指这个操作是线性的,也就是我们用每个像素的邻域的线性组合来代替这个像素。这两个属性使得这个操作非常简单,因为线性操作是最简单的,然后在所有地方都做同样的操作就更简单了。 实际上,在信号处理领域,卷积有广泛的意义,而且有其严格的数学定义,但在这里不关注这个。

算法 - 矩阵问题

馋奶兔 提交于 2019-12-05 17:35:55
矩阵问题 问题一:转圈打印矩阵 给定一个整型矩阵matrix,请按照转圈的方式打印它。 要求:额外空间复杂度为O(1)。 例如: [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ] 打印结果为: 1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10 本题可以在 LeetCode 54 螺旋矩阵 测试结果。 思路 定义一个方法,以左上角的点和右下角的点开始,从边界开始打印矩形。打印一圈后循环遍历内圈的矩形,直到整个矩形打印完毕。有一些特殊的情况,比如打印的是一条竖线,或者横线,或者一个点,都没有关系,注意代码的边界即可。 实现 public static void spiralOrderPrint(int[][] matrix, int tR, int tC, int dR, int dC) { //三种情况:横线,竖线,矩形 if (tR == dR) { for (int i = tC; i <= dC; i++) { System.out.printf("%3d", matrix[tR][i]); } } else if (tC == dC) { for (int i = tR; i <= dR; i++) { System.out.printf("%3d", matrix[i][tC]); } } else { int

3D坐标系、矩阵变换、视景体与裁剪

一曲冷凌霜 提交于 2019-12-05 02:46:23
背景 当前3D图形界主要有两个:微软的Direct 3D以及某组织的OpenGL。曾经一度OpenGL几乎占据所有3D图形领域,这在巨人微软面前简直就是屌丝逆袭。曾几何时微软搞IDE borland公式 倒闭了 ,后来微软搞浏览器,网景公司 解散 ,员工卷铺盖走人了,也就是说微软搞谁,谁倒霉。直到OpenGL的出现,打破了这一魔咒,在与微软竞争的前期,OpenGL几乎甩了微软几条街,并成为事实上的工业标准。后来在微软的大力绞杀下,OpenGL几乎被完全赶出了游戏领域,退居高端图形领域。基本上现在是微软的Direct 3D统治游戏领域,而OpenGL则在高端专业图形领域占绝对统治地位。微软还是微软,OpenGL已经不是以前的OpenGL了,等会。。等会。。这句话咋这么熟悉?想起来了赵本山的小品里说过:你大爷还是你大爷,你大妈已经不是你5年前的大妈了,为什么这么说呢?话说搞OpenGL的那家公司被微软逼疯了,没错。。 解散 了。。但是OpenGL并没有消失,而是交给某开源组织托管、开发与维护了。哎。。。不说了,都是泪啊。。凡是牵扯到微软,那就是一部血泪史啊。。逼疯了无数企业。。但是话有说回来,商场上比尔盖茨是个侩子手而慈善上这家伙也不小气。。大把大把的捐钱。。 坐标系空间 在OpenGL里面,3D坐标系的X轴自左向右增大,y轴自下向上增大,z轴正方向从屏幕中心指向观察者。