矩阵

线性代数-MIT-第4讲

半城伤御伤魂 提交于 2019-12-23 03:12:49
线性代数-MIT-第4讲 目录 线性代数-MIT-第4讲 1.矩阵AB的逆 2.消元矩阵的乘积 3.转置与置换 1.矩阵AB的逆 2.消元矩阵的乘积 最基础的矩阵分解A=LU: A通过消元矩阵得到上三角阵U,L联系这A和U; E21 A = U A=LU 左乘初等矩阵,将矩阵转化为上三角阵U; L是下三角阵,对角线为1,U是上三角阵,对角线为主元; 举例A为3x3,则消元成为上三角阵U(假设没有行交换): 此处为何转化成右侧的逆? 解释(以3x3举例): (E32为单位阵,E是A的左乘,(3,3)位置是10,不友好) (E32为单位阵,L是U的左乘,L是E的逆,(3,3)位置0,更友好) 因此,A=LU,如果没有行交换,则消元乘数可以直接写入L中; 消元的过程,需要多少次操作?例如nxn的矩阵A: 例如,100x100的矩阵; 第一步,第一行不变,使除第一行外第一列变为0,该过程除第一行其余均变化, 即是100x99,近似于100x100; 第二部,第一二行不变,使除第一二行外第二列变0,该过程除第一二行和和第一列变化, 即是99x98,近似于99x99 因此总的次数为,100x100+99x99+98x98...2x2+1x1,根据微积分可得 而右侧向量b,则需要1+2+3+...+n-1+n-2= 次; 3.转置与置换 下面讨论主元位置存在0的情况,即需要进行行交换(置换矩阵)

kitti 数据集解析

蓝咒 提交于 2019-12-23 02:07:57
1、KITTI数据集采集平台: KITTI数据采集平台包括2个灰度摄像机,2个彩色摄像机,一个Velodyne 3D激光雷达,4个光学镜头,以及1个GPS导航系统。坐标系转换原理参见 click 。KITTI提供的数据中都包含三者的标定文件,不需人工转换。 2、KITTI数据集,label文件解析: Car 0.00 0 -1.84 662.20 185.85 690.21 205.03 1.48 1.36 3.51 5.35 2.56 58.84 -1.75 第1个字符串:代表物体类别 'Car', 'Van', 'Truck','Pedestrian', 'Person_sitting', 'Cyclist','Tram', 'Misc' or 'DontCare' 注意:’DontCare’ 标签表示该区域没有被标注,比如由于目标物体距离激光雷达太远。为了防止在评估过程中(主要是计算precision),将本来是目标物体但是因为某些原因而没有标注的区域统计为假阳性(false positives),评估脚本会自动忽略’DontCare’ 区域的预测结果。 第2个数:代表物体是否被截断,从0(非截断)到1(截断)浮动,其中truncated指离开图像边界的对象 第3个数:代表物体是否被遮挡,整数0,1,2,3表示被遮挡的程度 0:完全可见 1:小部分遮挡 2:大部分遮挡 3

Java入门篇(四)——数组

一世执手 提交于 2019-12-23 01:00:44
  上篇在foreach中有引入一个数组的概念,数组是最为常见的一种数据结构,是相同类型的、用一个标识符封装到一起的基本类型数据序列或对象序列。   数组是具有相同数据类型的一组数据的集合,根据维数不同可以分为一维数组、二维数组和多维数组。大家可以将一维看作直线,二维看作平面、三维看成立体空间。 一、一维数组   1. 创建一维数组   数组作为对象允许使用new关键字进行内存分配。在使用数组之前,必须首先定义数组变量所属的类型,即声明数组。   声明数组有两种形式,在之前的篇章中也有所提及,语法格式如下: 数组元素类型 数组名[]; 数据元素类型[] 数组名;   程序员在编写代码时习惯使用第二种方法,需要注意的声明时是[]中不能添加任何数据。下面是一个声明数组的例子,两种声明方式都正确,不同数据要声明不同类型的数组: int arr[]; // 声明int型数组,数组中每个元素都是int型数值 String[] str; // 声明String数组,数组中每个元素都是String数组   声明数组后还不能访问它的任何元素,要想真正使用数组还要为其分配内存空间,且分配内存空间时必须指明数组的长度。语法格式如下: 数组名 = new 数组元素类型[数组元素个数];   下面举一个例子,为数组分配一个大小为5的内存空间: arr = new int[5];  

机器学习数学基础-线性代数

≡放荡痞女 提交于 2019-12-23 00:04:45
前言 AI(人工智能)现在火的一塌糊涂,其实在AI领域,机器学习已广泛应用在搜索引擎、自然语言处理、计算机视觉、生物特征识别、医学诊断、证券市场分析等领域,并且机器学习已经是各大互联网公司的基础设施,不再是一个新鲜的技术。但当你真的开始学习机器学习的时候,就会发现上手门槛其实还挺高的,这主要是因为机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。 本文主要介绍一下机器学习涉及到的一些最常用的的数学知识,方便大家在学习机器学习的时候,能扫除一些基础障碍。 标量(scalar) 标量是一个单独的数,一般用普通小写字母或希腊字母表示,如 等。 向量(vector)相关 向量的定义 把数排成一列就是向量,比如: 向量一般用粗体小写字母或粗体希腊字母表示,如 等(有时候也会用箭头来标识,如 ),其元素记作 。 向量默认为列向量,行向量需要用列向量的转置表示,例如 等。 物理专业视角:向量是空间中的箭头,决定一个向量的是它的长度和方向 计算机专业视角:向量是有序的数字列表 数学专业视角:向量可以是任何东西,只要保证两个向量相加以及数字与向量相乘是有意义的即可 运算规则 向量的加法和数量乘法定义: 加法 相同维数的向量之间的加法为: 数量乘法 任意的常数 和向量的乘法为: 在给定数 及向量 的情况下 张成空间 张成空间是向量 和

常用矩阵导数公式

笑着哭i 提交于 2019-12-22 18:09:48
1 矩阵\(Y=f(x)\)对标量x求导 矩阵Y是一个\(m\times n\)的矩阵,对标量x求导,相当于矩阵中每个元素对x求导 \[\frac{dY}{dx}=\begin{bmatrix}\dfrac{df_{11}(x)}{dx} & \ldots & \dfrac{df_{1n}(x)}{dx} \\ \vdots & \ddots &\vdots \\ \dfrac{df_{m1}(x)}{dx} & \ldots & \dfrac{df_{mn}(x)}{dx} \end{bmatrix}\] 2 标量y=f(x)对矩阵X求导 注意与上面不同,这次括号内是求偏导,\(X\)是是一个\(m\times n\)的矩阵,函数\(y=f(x)\)对矩阵\(X\)中的每个元素求偏导,对\(m\times n\)矩阵求导后还是\(m\times n\)矩阵 \[\frac{dy}{dX} = \begin{bmatrix}\dfrac{\partial f}{\partial x_{11}} & \ldots & \dfrac{\partial f}{\partial x_{1n}}\\ \vdots & \ddots & \vdots \\\dfrac{\partial f}{\partial x_{m1}} & \ldots & \dfrac{\partial f}{

Array和特殊数组的压缩

蓝咒 提交于 2019-12-22 13:29:13
1. Array数组简介 当我们提到数组时,很多时候都说的是一维数组,一维数组是线性的,但数组本身并不是线性的,它包括二维,多维数组。 数组在内存中的分配是连续的,也就意味着你在创建它时就需要告诉内存它的容量(length)。这里我们用length表示,以和Java中的数组属性一致。length在java的数组中是固有属性,在一般情况下也是所以其他的数组实现是固有属性。 1.1 Array的数学表达 如果你擅长离散,你将会很乐意看见这样的表达方式 数据对象: j 1 = 0 , . . . , b i − 1 , i = 1 , 2 , . . . , n , j_1 = 0,...,b_i-1,\quad i = 1,2,...,n, j 1 ​ = 0 , . . . , b i ​ − 1 , i = 1 , 2 , . . . , n , D = { a j 1 j 2 . . . j n ∣ n ( > 0 ) 称 为 数 组 的 维 度 , b 1 是 数 组 第 i 维 的 长 度 , j i 是 数 组 第 i 维 的 下 标 , a j 1 j 2 . . . j n ∈ E l e m S e t } D = \lbrace a_{{j_1}{j_2}...{j_n}}|n(>0)称为数组的维度,b_1是数组第i维的长度,j_i是数组第i维的下标,a_{{j_1

php中foreach循环遍历二维数组

て烟熏妆下的殇ゞ 提交于 2019-12-22 12:53:14
最近在用tp3.2框架,在查询的时候用到了select(),这条语句返回的是二维数组,所以在对返回的数据做处理时,遇到了些麻烦,百度了下foreach,终于用foreach解决了数据的筛选问题 (因为不知道该怎么设置where条件,设置只显示Jdate字段中今天以后的数据,所以只能在select查询后的数据中进行筛选..基础没大佬,真的挺麻烦) 进入正题 官方文档中给了foreach的两种用法 foreach 语法结构提供了遍历数组的简单方式。 foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。有两种语法: foreach (array_expression as $value) statement foreach (array_expression as $key => $value) statement 第一种格式遍历给定的 array_expression 数组。每次循环中,当前单元的值被赋给 $value 并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。 第二种格式做同样的事,只除了当前单元的键名也会在每次循环中被赋给变量 $key 。 来看第二种,代码如下 1 $a = array( 2 "one" => array(1,2,3,4), 3 "two" => array(5,6,7,8), 4

Hessian矩阵与多元函数极值

旧时模样 提交于 2019-12-22 11:32:09
Hessian矩阵与多元函数极值 海塞矩阵(Hessian Matrix),又译作海森矩阵,是一个多元函数的二阶偏导数构成的方阵。虽然它是一个具有悠久历史的数学成果。可是在机器学习和图像处理(比如SIFT和SURF特征检測)中,我们也经常遇到它。所以本文就来向读者道一道Hessian Matrix的来龙去脉。本文的主要内容包括: 多元函数极值问题 泰勒展开式与Hessian矩阵 多元函数极值问题 回忆一下我们是怎样处理一元函数求极值问题的。 比如。 f ( x ) = x 2 ,我们会先求一阶导数,即 f ′ ( x ) = 2 x ,依据费马定理极值点处的一阶导数一定等于 0 。但这仅是一个必要条件。而非充分条件。对于 f ( x ) = x 2 来说,函数的确在一阶导数为零的点取得了极值,可是对于 f ( x ) = x 3 来说,显然只检查一阶导数是不足以下定论的。 这时我们须要再求一次导,假设二阶导数 f ″ < 0 ,那么说明函数在该点取得局部极大值;假设二阶导数 f ″ > 0 ,则说明函数在该点取得局部极小值;假设 f ″ = 0 。则结果仍然是不确定的,我们就不得不再通过其它方式来确定函数的极值性。 假设要在多元函数中求极值点,方法与此相似。 作为一个演示样例。最好还是用一个三元函数 f = f ( x , y , z ) 来作为演示样例

Java 数组在内存中的结构

你。 提交于 2019-12-22 05:17:18
翻译人员: 铁锚 翻译时间: 2013年11月12日 原文链接: What does a Java array look like in memory? Java中的数组存储两类事物: 原始值(int,char,...),或者引用(对象指针). 当一个对象通过 new 创建,那么将在堆内存中分配一段空间,并且返回其引用(指针). 对于数组,也是同样的方式. 1. 一维数组 int arr[] = new int[3]; int[] arr 指向 包含3个整数的数组. 假设创建的是包含10个整数的数组,也是同样的用法 —— 分配指定大小的内存,并返回数组的引用。 图1 2. 二维数组 二维数组又有什么区别呢?实际上,在Java中只有一维数组。二维数组本质上也是一维数组,只是数组中的每一个元素都指向了另一个一维数组而已。 int[ ][ ] arr = new int[3][ ]; arr[0] = new int[3]; arr[1] = new int[5]; arr[2] = new int[4]; 图2 同样的原理,多维数组也是如此. 3. 数组分配在内存的哪个区域? Java中的数组,也是对象(继承Object),因此数组所在的区域和对象是一样的. 我们知道, JVM 运行时数据区 包括 JVM栈,堆内存,以及其他区域. 看下面的关于对象的简单示例,我们一起来了解数组如何分配

特征分解和PCA

别来无恙 提交于 2019-12-22 00:06:52
文章目录 1.线性代数基础 标量、向量、矩阵和Tensor 线性代数的正确打开方式 Ax=b的行视图 Ax=b的列视图 线性相关和线性无关 Span、基和子空间(subspace) 四个基本子空间 四个基本子空间的关系 利用子空间重新看待线性方程组的解 可逆矩阵 2.特征分解 方针的特征值和特征向量 特征分解的性质 对称矩阵的特征分解 特征分解和子空间的关系 3.PCA 优化问题 PCA PCA举例 1.线性代数基础 标量、向量、矩阵和Tensor 线性代数的正确打开方式 Ax=b的行视图 Ax=b的列视图 线性相关和线性无关 Span、基和子空间(subspace) 四个基本子空间 四个基本子空间的关系 利用子空间重新看待线性方程组的解 可逆矩阵 2.特征分解 方针的特征值和特征向量 特征分解的性质 对称矩阵的特征分解 特征分解和子空间的关系 3.PCA 优化问题 PCA PCA举例 来源: CSDN 作者: LotusQ 链接: https://blog.csdn.net/qq_30057549/article/details/103648352