矩阵

透视投影(Perspective Projection)变换推导

﹥>﹥吖頭↗ 提交于 2020-01-06 04:32:41
透视投影是3D固定流水线的重要组成部分,是将相机空间中的点从视锥体(frustum)变换到规则观察体(Canonical View Volume)中,待裁剪完毕后进行透视除法的行为。在算法中它是通过透视矩阵乘法和透视除法两步完成的。 透视投影变换是令很多刚刚进入3D图形领域的开发人员感到迷惑乃至神秘的一个图形技术。其中的理解困难在于步骤繁琐,对一些基础知识过分依赖,一旦对它们中的任何地方感到陌生,立刻导致理解停止不前。 没错,主流的3D APIs如OpenGL、D3D的确把具体的透视投影细节封装起来,比如gluPerspective(„) 就可以根据输入生成一个透视投影矩阵。而且在大多数情况下不需要了解具体的内幕算法也可以完成任务。但是你不觉得,如果想要成为一个职业的图形程序员或游 戏开发者,就应该真正降伏透视投影这个家伙么?我们先从必需的基础知识着手,一步一步深入下去(这些知识在很多地方可以单独找到,但我从来没有在同一个地 方全部找到,但是你现在找到了)。 我们首先介绍两个必须掌握的知识。有了它们,我们才不至于在理解透视投影变换的过程中迷失方向(这里会使用到向量几何、矩阵的部分知识,如果你对此不是很熟悉,可以参考 可以找到一组坐标(v1,v2,v3),使得 v = v1 a + v2 b + v3 c (1) 而对于一个点p,则可以找到一组坐标(p1,p2,p3),使得 p –

猪猪的机器学习笔记(三)矩阵和线性代数

随声附和 提交于 2020-01-05 22:14:10
矩阵和线性代数 作者:樱花猪 摘要: 本文为七月算法( julyedu.com ) 12 月机器学习第三次课在线笔记。 矩阵和线性代数在图像处理中运用的非常多,同样地,在机器学习某种事件特征我们常常会描绘成特征向量,那么矩阵的运算和理论方法都必将会应用进来。如果说,概率论提供了机器学习的思维方法,那么矩阵论则是机器学习公式推导和计算机计算的桥梁。本节课内容虽然知识点不多但都非常的重要,是我们日后能够看懂和实际编程的基石。 引言: 本文课题命名矩阵和线性代数但是内容实际上远远超出线性代数的范围,感叹邹博强大的理论基础把许多发杂的理论都简单化了,于是即使只在本科混了几节线性代数也能够无压力的上完这节课。 本文将按照上课的顺序,首先接着上次课再次细致的一下统计量的无偏性,接着再正式进入矩阵论的内容。在矩阵论部分,首先从矩阵的乘法规则来引出状态转移矩阵意义。接下来我们讨论了矩阵的特征值和向量,并介绍了对称阵、正交阵、正定阵等。最后介绍了一下矩阵求导的方法,这部分虽然没有技术难点但在平日操作中总是模糊不清需要强化记忆。 预备知识: 矩阵论 统计量的无偏性 无偏性;均方误差准则 MSE 线性代数: 代数余子式;伴随矩阵;方阵的逆; 概率转移矩阵;正交阵;特征值和特征向量;合同变换;正定阵; 矩阵与导数: 向量偏导公式;标量对向量的导数;标量对方阵的导数; 一、 统计量的无偏性 1.1 无偏性

线性代数《Linear Algebra and Its Application》学习总结

£可爱£侵袭症+ 提交于 2020-01-05 22:13:44
此文仅为学习记录,内容会包括一些数学概念,定义,个人理解的摘要。希望能够分享一些学习内容。 第一节:Row Reduction and Echelon Forms Echelon form: 行消元后的矩阵 Reduced echelon form: 行消元并且leading entry为1的矩阵。 Echelon form and reduced echelon form are row equivalent to the original form. Span{v1, v2, v3,...... vp} is the collection of all vectors that can be written in the form c1*v1 + c2*v2 + ...... cp*vp with c1, .... cp scalars. Ax = 0 has a nontrival solution if and only if the equation has at least one free variable.(not full column rank) Ax = b 的解等于 Ax = 0 和 特解的和。 解线性方程组流程P54。 线性无关指任何向量不能组合成其中一个向量。 Ax = b : ColA1 * x1 + ColA2 * x2 +.... ColAm *

线性代数《Linear Algebra and Its Application》学习总结

我是研究僧i 提交于 2020-01-05 22:13:28
此文仅为学习记录,内容会包括一些数学概念,定义,个人理解的摘要。希望能够分享一些学习内容。 第一节:Row Reduction and Echelon Forms Echelon form: 行消元后的矩阵 Reduced echelon form: 行消元并且leading entry为1的矩阵。 Echelon form and reduced echelon form are row equivalent to the original form. Span{v1, v2, v3,...... vp} is the collection of all vectors that can be written in the form c1*v1 + c2*v2 + ...... cp*vp with c1, .... cp scalars. Ax = 0 has a nontrival solution if and only if the equation has at least one free variable.(not full column rank) Ax = b 的解等于 Ax = 0 和 特解的和。 解线性方程组流程P54。 线性无关指任何向量不能组合成其中一个向量。 Ax = b : ColA1 * x1 + ColA2 * x2 +.... ColAm *

线性代数基础知识(三)—— 矩阵乘法

谁说胖子不能爱 提交于 2020-01-05 22:13:13
矩阵 A ∈ R m × n 和 B ∈ R n × p 的乘积为矩阵 : 其中: . 请注意,矩阵A的列数应该与矩阵B的行数相等,这样才存在矩阵的乘积。有很多种方式可以帮助我们理解矩阵乘法,这里我们将通过一些例子开始学习。 2.1 向量的乘积 给定两个向量x,y ∈ R n ,那么x T y的值,我们称之为向量的 内积 或 点积。它 是一个由下式得到的实数: . 可以发现,内积实际上是矩阵乘法的一个特例。通常情况下x T y = y T x。 对于向量x ∈ R m , y ∈ R n (大小不必相同),xy T ∈ R m×n 称为向量的 外积 。外积是一个矩阵,其中中的每个元素,都可以由 得到,也就是说, . 我们举个例子说明外积有什么用。令 1 ∈ R n 表示所有元素都是1的n维向量,然后将矩阵 A ∈ R m × n 的每一列都用列向量 x ∈ R m 表示。使用外积,我们可以将A简洁的表示为: . 2.2 矩阵 - 向量的乘积 对于一个矩阵 A ∈ R m × n 和向量 x ∈ R n ,他们的乘积为向量 y = Ax ∈ R m 。理解矩阵向量乘法的方式有很多种,我们一起来逐一看看。 以行的形式书写A,我们可以将其表示为Ax的形式: . 也就是说, y 第 i 行的元素等于A的第 i 行与x的内积 . 咱们换个角度,以列的形式表示A,我们可以看到: . 换言之,

机器学习需要的数学总结

落花浮王杯 提交于 2020-01-05 22:10:59
数学知识 数学知识总括 微积分(高等数学) 线性代数 概率论与数理统计 凸优化 微积分 微积分学,数学中的基础分支。内容主要包括函数、极限、微分学、积分学及其应用。函数是微积分研究的基本对象,极限是微积分的基本概念,微分和积分是特定过程特定形式的极限 微积分/高等数学。在机器学习中,微积分主要用到了微分部分,作用是求函数的极值,就是很多机器学习库中的求解器(solver)所实现的功能。在机器学习里会用到微积分中的以下知识点: 导数和偏导数的定义与计算方法 梯度向量的定义 极值定理,可导函数在极值点处导数或梯度必须为0 雅克比矩阵,这是向量到向量映射函数的偏导数构成的矩阵,在求导推导中会用到 Hessian矩阵,这是2阶导数对多元函数的推广,与函数的极值有密切的联系 凸函数的定义与判断方法 泰勒展开公式 拉格朗日乘数法,用于求解带等式约束的极值问题 其中最核心的是记住多元函数的泰勒展开公式,根据它我们可以推导出机器学习中常用的梯度下降法,牛顿法,拟牛顿法等一系列最优化方法: 线性代数 线性代数的理论是计算技术的基础,同系统工程,优化理论及稳定性理论等有着密切联系,随着计算技术的发展和计算机的普及,线性代数作为理工科的一门基础课程日益受到重视。线性代数这门课程的特点是概念比较抽象,概念之间联系很密切。内容包括行列式,矩阵,向量空间,线性方程组,矩阵的相似对角化,二次型

机器学习中的重点数学知识

混江龙づ霸主 提交于 2020-01-05 22:09:51
深度学习中的数学 1、数学是基石,编程为工具 2、深度学习基本全是优化问题(数学) 微积分知识重点: ① 导数:导数法则、常见的函数的导数、 ② 多元函数的导数:求梯度(偏导数)、二阶导数和hess矩阵 l 为什么需要使用矩阵表达多元函数? 方便计算、简洁 l 二次型求梯度 特别简单(需要了解:张矩阵)、 泰勒级数和极值: l 实际中我们想求一个函数的极值点: 令f’(x) = 0, 哇,太难了 ............ 怎么办?(泰勒展开) 一阶函数函数的导数是一个数,可以确定函数的极值点。 但是二阶、多阶呢? 写成二次型后求 hess 矩阵,判断 hess 矩阵的正定性。 l 为什么要用梯度下降法??? 使用泰勒展开,如果 δ为函数的梯度, 为了求出 f’(x) = 0 ,是一种迭代求法。 概率论知识 : 随机变量:分布函数、累积分布函数(求概率)、概率密度函数(累积分布函数的导数) l 高斯分布(最完美的分布) 对称轴: μ 分散程度:δ 独立的高斯变量相加 仍然是高斯分布!(神奇) 。 X = x1 + x2 + x3 (三项以后) ( 任意独立分布加起来 也是高斯分布 ) 贝叶斯公式 (机器学习中最重要的公式) : 矩阵重点: 特征值和特征向量的理解: Ax = λ x 这个式子是如此的简单粗暴,以致于从这个公式来看,给向量 x 乘上一个矩阵 A

学习笔记DL006:特征分解,奇异值分解

你离开我真会死。 提交于 2020-01-05 22:08:09
特征分解。 整数分解质因素。 特征分解(eigendecomposition),使用最广,矩阵分解一组特征向量、特征值。方阵𝑨的特征向量(eigenvector),与𝑨相乘相当对该向量缩放非零向量𝑣,𝑨𝑣=λ𝑣。标量λ为特征向量对应特征值(eigenvalue)。左特征向量(left eigenvector) 𝑣ᵀ𝑨=λ𝑣ᵀ,右特征向量(right eigenvector)。𝑣是𝑨的特征向量,任何缩放向量𝑠𝑣(𝑠∈ℝ,𝑠≠0)也是𝑨的特征向量。𝑠𝑣和𝑣有相同特征值。只考虑单位特征向量。 矩阵𝑨有𝑛个线性无关特征向量{𝑣⁽¹⁾,…,𝑣⁽ⁿ⁾},对应特征值{λ₁,…,λn}。特征向量连接成一个矩阵,每一列是一个特征向量,V=[𝑣⁽¹⁾,…,𝑣⁽ⁿ⁾]。特征值连接成一个向量𝝺=[λ₁,…,λn]ᵀ。𝑨的特征分解(eigendecomposition),记𝑨=Vdiag(𝝺)V⁻¹。 构建具有特定特征值和特征向量矩阵,在目标方向上延伸空间。矩阵分解(decompose)成物征值和特征向量,分析矩阵特定性质。 每个实对称矩阵都可以分解成实特征向量和实特征值,𝑨=Q𝚲Qᵀ。Q是𝑨的特征向量组成正交矩阵,𝚲是对角矩阵。特征值𝚲i,i对应特征向量是矩阵Q的第i列,记Q:,i。Q是正交矩阵,𝑨看作沿方向𝑣⁽i⁾延展λi倍空间。两多或多个特征向量拥有相同特征值,特征向量产生生成子空间

线性代数

放肆的年华 提交于 2020-01-05 22:07:51
线性相关和生成子空间   如果逆矩阵 A -1 存在,那么式子 A x = b 肯定对于每一个向量 b 恰好存在一个解。但是,对于方程组而言,对于向量 b 的某些值,有可能无解或者存在无限多解。存在多于一个解但是少于无限多个解的情况是不可能发生的;因为如果 x 和 y都是某方程组的解,则 z = αx + (1-α)y, (α取任意实数)也是该方程组的解。   形式上,一组向量的线性组合,是指每个向量乘以对应标量系数之后的和,即:∑ i x i v (i) ,一组向量的生成子空间(span)是原始向量线性组合后所能抵达的点的集合。 在线性代数里,矢量空间的一组元素中,若没有矢量可用有限个其他矢量的线性组合所表示,则称为 线性无关或线性独立 (linearly independent),反之称为 线性相关 (linearly dependent)。    例如在三维欧几里得空间R的三个矢量(1, 0, 0),(0, 1, 0)和(0, 0, 1)线性无关;但(2, 0, 1),(1, 0, 1)和(3, 1, 2)线性相关,因为第三个是前两个的和。   确定 A x = b 是否有解,相当于确定向量 b 是否在 A 列向量的生成子空间中。这个特殊的生成子空间被称为 A 的列空间 (column space)或者 A的值域(range)。 范数   范数(norm)函数可以衡量向量大小

机器学习_基础数学

☆樱花仙子☆ 提交于 2020-01-05 22:06:58
机器学习中所需要用到的数学知识: 微积分  线性代数  概率论  最优化方法 1.导数 求导公式 (一元)左导数与右导数都存在且相等,此处的导数才存在。 基本函数求导: 两个重要极限:   单调有界的序列必定收敛   夹逼定理 导数四则运算: 复合函数求导: 高阶导数: 导数与函数单调性的关系: :函数在此点单调增 :函数在此点单调减 极值定理: :(驻点)函数在此点是极值点,可能是极大值(二阶导小于零),也可能是极小值(二阶导大于零)可能是拐点(二阶导等于零) 拐点是凹函数与凸函数的交替点。 导数与函数凹凸性的关系: 凸函数:函数内任意两点的连线,大于两点间的任一点的函数值。 凹函数:函数内任意两点的连线,小于两点间的任一点的函数值。 二阶导大于零,是凸函数。 二阶导小于零,是凹函数。 2.一元函数泰勒展开 3.向量 向量与其运算: 向量分为行向量和列向量。 转置:行向量转置变为列向量,列向量转置变为行向量。 加法:对应位置分量相加 减法:对应位置分量相减 数乘:数与每个分量分别相乘 内积:两个向量的对应分量相乘再相加,两个向量转换为一个标量 a=(a1,a2,...,an),b=(b1,b2,...,bn)-------->a与b内积=a1b1+a2b2+...+anbn 向量的范数 L-P:L的P范数: ,P一般取整数。 L-1范数: L-2范数: 3.矩阵 矩阵与其运算