变换矩阵

线性代数的本质

不问归期 提交于 2019-11-29 10:52:04
Essense Of Linear Algebra 让你完全理解线性代数。 线性空间中,当你选定一组基之后,不仅可以用一个向量来描述空间中的任何一个对象,而且可以用矩阵来描述该空间中的任何一个运动(变换),从而得出 矩阵 是线性空间里的变换 的描述 。而使某个对象发生对应运动(变换)的方法,就是用代表那个运动(变换)的矩阵,乘以代表那个对象的向量。转换为数学语言: 是 矩阵, 是向量, 相当于将 作线性变换从而 得到 ,从而使得 矩阵 (由n个向量组成)在对象或者说向量 上的变换 就由简单的实数 来刻画,由此称 为矩阵 A的特征值,而 称为 对应的特征向 量。 总结来说,特征值和特征向量的出现实际上将 复杂的矩阵由实数和低维的向量来形象的描述 (代表),实现了 降维 的目的。在几何空间上还可以这样理解:矩阵A是向量的集合,而 则是向量的方向, 可以理解为矩阵A在 方向上作投影,而矩阵又是线性空间变换的描述,所以变换后方向保持不变,仅是各个方向投影后有个缩放比例 。 线性代数的本质 是用静态的坐标(一维(线),二维(面),三维(体)),描述事物的运动。这是其实质。 矩阵 :矩阵就是建立不同的维度,不同的基坐标系。这样你应该理解矩阵的运算法则。加法,乘法。矩阵的阶代表不同的维度,二阶是平面,三阶是体也就是三维,4阶就是超立方体,依次类推。 你可能不理解多维度空间。简单点说:点,线,面

理解相似矩阵

好久不见. 提交于 2019-11-28 20:21:39
相似矩阵(similar matrices) 定义 设 \(A,B\) 都是 \(n\) 阶矩阵,若有可逆矩阵 \(P\) ,使得 \(P^{-1}AP=B\) ,则称 \(B\) 是 \(A\) 的相似矩阵。 两个相似矩阵的特征值相同,也就是说如果一个矩阵和一个对角矩阵 \(\Lambda\) \[ \left[\begin{array}{ccccc}{\lambda_{1}} & {} & {} & {} & {} \\ {} & {} & {\lambda_{2}} & {} & {} \\ {} & {} & {} & {} & {} \\ {} & {} & {} & {\ddots} & {} \\ {} & {} & {} & {} & {\lambda_{n}}\end{array}\right]\] 相似,则 \(\lambda_{1},\lambda_{2},...,\lambda_{n}\) 时 \(A\) 的n个特征值。 理解相似矩阵 相似矩阵的本质就是说通过相似变换能够把在不同基下的元素还原到另一个基空间下。还是很混乱是不是,没关系我们看下面的例子就很好理解了: 如下图示有两个不同的基空间,左边是由 \(\overrightarrow{i_{1}},\overrightarrow{j_{1}}\) 定义的空间,右边是由 \(\overrightarrow

线性代数之——对角化和伪逆

我的未来我决定 提交于 2019-11-28 09:14:42
这部分我们通过选择更好的基底来产生更好的矩阵。当我们的目标是对角化矩阵时,一个选择可以是一组特征向量基底,另外一个选择可以是两组基底,输入基底和输出基底是不一样的。这些左右奇异向量是矩阵四个基本子空间中标准正交的基向量,它们来自于 SVD。 事实上,所有对 \(A\) 的分解都可以看作是一个基的改变。在这里,我们只关注两个突出的例子,有一组基的 \(\Lambda\) 和有两组基的 \(\Sigma\) 。 \(S^{-1} AS=\Lambda\) 如果输入和输出基都是 \(A\) 的特征值。 \(U^{-1} AV=\Sigma\) 如果这些基分别是 \(A^TA\) 和 \(AA^T\) 的特征值。 只有当 \(A\) 是方阵并且有 \(n\) 个不相关的特征向量时,我们才能将其对角化成 \(\Lambda\) 。而通过 SVD,任意矩阵都可以对角化成 \(\Sigma\) 。如果一个矩阵是对称的、反对称的或者正交的,那么有 \(A^TA=AA^T\) ,在这种情况下,奇异值是特征值的绝对值,上面的两个对角化形式除了一个 \(-1\) 或者 \(e^{i\theta}\) 的因子外是相同的。 另外,注意 Gram-Schmidt 分解 \(A=QR\) 只选择了一个新的基底,也就是通过 \(Q\) 给出的输出正交基,而输入基底则是标准基由 \(I\) 给出

均值、方差、协方差、协方差矩阵、特征值、特征向量

家住魔仙堡 提交于 2019-11-28 06:54:54
均值: 描述的是样本集合的中间点。 方差: 描述的是样本集合的各个样本点到均值的距离之平均,一般是用来描述一维数据的。 协方差: 是一种用来度量两个随机变量关系的统计量。 只能处理二维问题。 计算协方差需要计算均值。 如下式: 方差与协方差的关系 方差是用来度量单个变量 “ 自身变异”大小的总体参数,方差越大表明该变量的变异越大 协方差是用来度量两个变量之间 “协同变异”大小的总体参数,即二个变量相互影响大小的参数,协方差的绝对值越大,则二个变量相互影响越大。 协方差矩阵: 协方差矩阵能处理多维问题; 协方差矩阵是一个对称的矩阵,而且对角线是各个维度上的方差。 协方差矩阵计算的是不同维度之间的协方差,而不是不同样本之间的。 样本矩阵中若每行是一个样本,则每列为一个维度,所以计算协方差时要 按列计算均值 。 如果数据是3维,那么协方差矩阵是: 特征值与 特征向量 线性变化: 线性变换 (线性映射)是在作用于 两个向量空间之间的函数 ,它保持 向量加法和标量乘法 的运算,从一个向量空间变化到另一个向量空间。 实际上线性变换表现出来的就是一个矩阵 。 特征值和特征向量 是一体的概念: 对于一个给定的线性变换(矩阵A),它的特征向量 ξ 经过这个线性变换之后,得到的新向量仍然与原来的 ξ 保持在同一條直線上,但其长度也许會改变。一个特征向量的长度在该线性变换下缩放的比例(λ)称为其特征值

矩阵的初等变换

为君一笑 提交于 2019-11-28 06:54:07
矩阵变换是线性代数中矩阵的一种运算形式。 在 线性代数 中,矩阵的 初等变换 是指以下三种变换类型 : (1) 交换矩阵的两行(对调i,j,两行记为ri,rj); (2) 以一个非零数k乘矩阵的某一行所有元素(第i行乘以k记为ri×k); (3) 把矩阵的某一行所有元素乘以一个数k后加到另一行对应的元素(第j行乘以k加到第i行记为ri+krj)。 类似地,把以上的“行”改为“列”便得到矩阵初等变换的定义,把对应的记号“r”换为“c”。 矩阵的初等行变换与初等列变换合称为矩阵的初等变换(来源百度百科) 矩阵的初等变换(矩阵不变) 行阶梯形矩阵 行最简形 来源: https://www.cnblogs.com/julyzqy/p/11938650.html

二维坐标变换

雨燕双飞 提交于 2019-11-28 06:04:07
平时开发程序,免不了要对图像做各种变换处理。有的时候变换可能比较复杂,比如平移之后又旋转,旋转之后又平移,又缩放。 直接用公式计算,不但复杂,而且效率低下。这时可以借助变换矩阵和矩阵乘法,将多个变换合成一个。 最后只要用一个矩阵对每个点做一次处理就可以得到想要的结果。 另外,矩阵乘法一般有硬件支持,比如3D 图形加速卡,处理3D变换中的大量矩阵运算,比普通CPU 要快上1000倍。 下面是3类基本的2D图形变换。 平移: 设某点向x方向移动 dx, y方向移动 dy ,[x,y]为变换前坐标, [X,Y]为变换后坐标。 则 X = x+dx; Y = y+dy; 以矩阵表示: 1 0 0 [X, Y, 1] = [x, y, 1][ 0 1 0 ] ; dx dy 1 1 0 0 0 1 0 即平移变换矩阵。 dx dy 1 旋转: 旋转相比平移稍稍复杂: 设某点与原点连线和X轴夹角为b度,以原点为圆心,逆时针转过a度 , 原点与该点连线长度为R, [x,y]为变换前坐标, [X,Y]为变换后坐标。 x = Rcos(b) ; y = Rsin(b); X = Rcos(a+b) = Rcosacosb - Rsinasinb = xcosa - ysina; (合角公式) Y = Rsin(a+b) = Rsinacosb + Rcosasinb = xsina + ycosa

PCA的数学原理

↘锁芯ラ 提交于 2019-11-28 04:05:06
原帖地址: http://blog.codinglabs.org/articles/pca-tutorial.html PCA(Principal Component Analysis)是一种常用的数据分析方法。PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。网上关于PCA的文章有很多,但是大多数只描述了PCA的分析过程,而没有讲述其中的原理。这篇文章的目的是介绍PCA的基本数学原理,帮助读者了解PCA的工作机制是什么。 当然我并不打算把文章写成纯数学文章,而是希望用直观和易懂的方式叙述PCA的数学原理,所以整个文章不会引入严格的数学推导。希望读者在看完这篇文章后能更好的明白PCA的工作原理。 数据的向量表示及降维问题 一般情况下,在数据挖掘和机器学习中,数据被表示为向量。例如某个淘宝店2012年全年的流量及交易情况可以看成一组记录的集合,其中每一天的数据是一条记录,格式如下: (日期, 浏览量, 访客数, 下单数, 成交数, 成交金额) 其中“日期”是一个记录标志而非度量值,而数据挖掘关心的大多是度量值,因此如果我们忽略日期这个字段后,我们得到一组记录,每条记录可以被表示为一个五维向量,其中一条看起来大约是这个样子: 注意这里我用了转置,因为习惯上使用列向量表示一条记录(后面会看到原因),本文后面也会遵循这个准则

PCA算法

丶灬走出姿态 提交于 2019-11-28 04:04:48
作者:桂。 时间:2017-02-26 19:54:26 链接: http://www.cnblogs.com/xingshansi/articles/6445625.html 前言 本文为模式识别系列第一篇,主要介绍主成分分析算法(Principal Component Analysis,PCA)的理论,并附上相关代码。全文主要分六个部分展开:   1)简单示例。通过简单的例子,引出PCA算法;   2)理论推导。主要介绍PCA算法的理论推导以及对应的数学含义;   3)算法步骤。主要介绍PCA算法的算法流程;   4)应用实例。针对PCA的实际应用,列出两个应用实例;   5)常见问题补充。对于数据预处理过程中常遇到的问题进行补充;   6)扩展阅读。简要介绍PCA的不足,并给出K-L变换、Kernel-PCA(KPCA)的相关链接。 本文为个人总结,内容多有不当之处,麻烦各位批评指正。 一、简单示例    A-示例1:降维 先来看一组学生的成绩 学生1 学生2 学生3 学生4 ... 学生N 语文成绩 85 85 85 85 ... 85 数学成绩 96 93 78 64 ... 97 为了方便分析,我们假设N=5; 学生1 学生2 学生3 学生4 学生5 语文成绩 85 85 85 85 85 数学成绩 96 93 78 64 97 问题:

特征值和特征向量

自古美人都是妖i 提交于 2019-11-28 00:24:57
设A是n阶方阵,若存在n维非零向量x,使得: 那么就称λ是A的特征值,x为A属于λ的特征向量,一个矩阵的一组特征向量是一组正交向量。 特征值分解 是将一个矩阵分解成下面的形式: 其中Q是这个矩阵A的特征向量组成的矩阵,Σ是一个对角阵,每一个对角线上的元素就是一个特征值。 首先要明确的是一个矩阵其实就是一个线性变换,因为一个矩阵乘以一个向量后得到的向量,其实就相当于将这个向量进行了线性变换。比如说下面这个矩阵: 这个矩阵对应的线性变换为: 由于上面这个矩阵式对称的,所以变换是一个对x,y轴的方向一个拉伸变换(每一个对角线上的元素将会对一个维度进行拉伸变换,当值>1时,是拉长,当值<1时时缩短),当矩阵不是对称的时候,假如说矩阵是下面的样子: 那么变换是: 其实就是在平面上对一个轴进行拉伸变换,蓝色的箭头是最主要的一个方向(变化的方向可能不止一个),如果想要描述好一个变换,那就描述这个主要的变化方向就好了。 特征值分解的式子里分解得到的对角阵,里面的特征值是从大到小排列的,这些特征值所对应的特征向量就是描述这个矩阵变化方向(从主要的变化到次要的变化排列)。 当矩阵式高维时候,这个矩阵就是高维空间下的一个线性变换,这个变换同样有很多的变换方向,我们通过特征值分解得到的前N个特征向量,那么就对应了这个矩阵最主要的N个变换方向。我们利用这N个变换方向,就可以近似这个矩阵变换。也就是说的

Android OpenGLES2.0(三)——等腰直角三角形和彩色的三角形

匆匆过客 提交于 2019-11-27 15:50:27
上一篇博客中我们已经绘制出了一个直角三角形,虽然我们相对于坐标,我们设置的直角三角形的两腰是相等的,但是实际上展示出来的却并不是这样,虽然通过计算,我们可以把三角形的两腰计算一下比例,使它们在坐标上不等,但是现实出来相等,但是当绘制的图形比较复杂的话,这个工作量对我们来说实在太庞大了。那么我们怎么做呢?答案是,使用变换矩阵,把计算交给OpenGL。 矩阵 在数学中,矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合 ,最早来自于方程组的系数及常数所构成的方阵。这一概念由19世纪英国数学家凯利首先提出。 矩阵常被用于图像处理、游戏开发、几何光学、量子态的线性组合及电子学等多种领域。我们现在相当于是在图像处理或者游戏开发的领域来使用矩阵。在大学的高数课中,有学习到矩阵,很多人在大学学习高数、线性代数之类的课程时,总是觉得学习这些东西没什么用(我也是)。实际上,这些这是对于程序员,尤其是需要做游戏开发、图像视频处理的程序员来说是非常重要的。扯偏了。。。 在三维图形学中,一般使用的是4阶矩阵。在DirectX中使用的是行向量,如[xyzw][xyzw],所以与矩阵相乘时,向量在前矩阵在后。OpenGL中使用的是列向量,如[xyzx]T[xyzx]T,所以与矩阵相乘时,矩阵在前,向量在后。关于矩阵的具体知识,博客中不详细讲解,需要了解的同学可以自行查阅。 如果要自己去写变换的矩阵