空间向量

vector容器的用法

强颜欢笑 提交于 2020-01-05 05:28:00
转自一篇博客^-^: 1 基本操作 (1)头文件#include<vector>. (2)创建vector对象,vector<int> vec; (3)尾部插入数字:vec.push_back(a); (4)使用下标访问元素,cout<<vec[0]<<endl;记住下标是从0开始的。 (5)使用迭代器访问元素. vector<int>::iterator it; for(it=vec.begin();it!=vec.end();it++) cout<<*it<<endl; (6)插入元素: vec.insert(vec.begin()+i,a);在第i+1个元素前面插入a; (7)删除元素: vec.erase(vec.begin()+2);删除第3个元素 vec.erase(vec.begin()+i,vec.end()+j);删除区间[i,j-1];区间从0开始 (8)向量大小:vec.size(); (9)清空:vec.clear(); 2 vector的元素不仅仅可以使int,double,string,还可以是结构体,但是要注意:结构体要定义为全局的,否则会出错。下面是一段简短的程序代码: #include<stdio.h> #include<algorithm> #include<vector> #include<iostream> using namespace

优雅的线性代数系列一

狂风中的少年 提交于 2019-12-26 09:47:51
 说道线性代数, 我们自然就想到矩阵, 那我们该如何理解矩阵呢? 矩阵与线性变换 若一个变换 \(L\) 满足以下两条性质 \[ \begin{align*} L(\vec v+ \vec w) &= L(\vec v) + L(\vec w) &(1) \text{"可加性"} \\ L(c\vec v) &= c L(\vec v) \quad\quad\ &(2) \text{"成比例"} \end{align*} \] 则称 \(L\) 是线性的. 值得注意的一点时, 线性变换中, 坐标系的原点不动, 即零向量的变换结果还是零向量. 我们来看看矩阵与线性变换的关系 \[ A(v+w) = Av + Aw \Leftrightarrow L(\vec v+ \vec w) = L(\vec v) + L(\vec w)\\ A(cv) = c(Av) \Leftrightarrow L(c\vec v) = c L(\vec v) \] 可以看出矩阵完全满足线性变换的要求, 所以现在你应该将矩阵看做线性变换, 这会给我们理解很多线性问题带来很大的好处. \(\bigstar\) 如果想知道线性变换对于一个输入向量空间有什么影响, 我们只需要知道该线性变换对该输入空间的基有什么影响, 我们就能知道所有信息. 假设 n 维输入空间 \(R^n\) 的基为 \(v1, v_2,

R学习笔记(1):R是什么

强颜欢笑 提交于 2019-12-23 04:43:49
本文最新版已更新至http://thinkinside.tk/2013/05/03/r_notes_1_what.html 在学习量化投资的时候,我发现了R(www.r-project.org)。R到底是什么呢?在开始之前,先看看R的神奇之处。 1. R初窥 从CRAN(The Comprehensive R Archive Network)cran.r-project.org—mirrors.html中选择一个镜像,然后下载合适的安装包(R支持Linux、Mac OS X和Windows)。 安装并运行R后,可以看到R的控制台(我的操作系统是Mac OS): 在R的控制台输入如下命令: > install.packages('quantmod') # 安装quantmod包 > require(quantmod) #引用quantmod包 > getSymbols("GOOG",src="yahoo",from="2013-01-01", to='2013-04-24') #从雅虎财经获取google的股票数据 > chartSeries(GOOG,up.col='red',dn.col='green') #显示K线图 > addMACD() #增加MACD图 就能够看到下图的效果了: 最后,退出R: > q()#Terminate an R Session 2. R是什么

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

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

向量空间相关概念总结-基

試著忘記壹切 提交于 2019-12-21 05:04:31
张成空间 之前的 向量空间 一节已经说过:向量空间对向量的线性组合封闭(相加和数乘),所以,向量空间可以通过“向量+线性组合”构成。也可以说,这个向量空间由这些向量所 张成 ,反过来,这个向量空间就叫做这些向量的 张成空间 。 比如向量组: u、v、w三个向量的张成空间 等价向量组 如果有两个向量组,若其中一个向量组中的每一个向量都能由另一个向量组线性表示,则成这个向量组能被另一个向量组 线性表示 ,如果他俩能互相线性表示,那么就称这两个向量组 等价 最大线性无关组 假设有个向量空间叫动物,它里面有[老人,小孩,猫,狗],这里面的小孩经过时间的线性变化会变成老人,所以它的最大线性无关组应该是[小孩,猫,狗] 秩 假设有个向量组A,如果A里面可以选出r个向量,这r个向量线性无关,且这r个向量如果再多加一个向量都会变成线性相关的,那么这r个向量就是A的一个 最大线性无关组 ,而最大无关组所含的向量个数r就叫做向量组A的 秩 ,记作 rank(A) ,有事也记作 R(A) 。 注意:只含有0向量的向量组没有最大无关组,规定它的秩为0。因为前面说过,任和一个向量组只要有0向量,那一定线性相关。 基 一个向量空间的最大线性无关组也是这个向量空间的一个 基 注意:一个向量空间的基并不是唯一的,一般都是有多个。另外,选取不同的基,同位置的坐标不同 几何理解:基可以看作是坐标系 维度和秩的关系

PointNet 中文翻译

旧时模样 提交于 2019-12-19 02:34:45
Deep Learning on Point Sets for 3D Classification and Segmentation https://github.com/charlesq34/pointnet PointNet 摘要(Abstract) 点云是一种非常重要的几何数据结构类型。因为它的格式不规则,许多的研究人员通常会将点云数据转换为规则的3D体素网格或者图像集合。然而,这会造成大量的不必要的数据,并且很容易带来问题。在本文中,我们设计了一个直接以点云为输入的神经网络模型,这一模型很好的遵循了输入点的排列不变性。我们的网络模型叫做PointNet,它提供了一种从目标分类、零件分割到场景语义分析的通用模型结构。虽然它很简单,但PointNet非常高效而且有效。从经验上讲,它的效果甚至超过了目前最先进的水平。我们从理论上分析了PointNet学到了什么和为什么PointNet在输入有所干扰和损坏时有很强的鲁棒性。 1.引言(Introduction) 在本文中,我们探讨了能够处理点云或者网格等3D几何数据的深度学习结构。通常,为了实现权重共享和内核优化,卷积结构对输入数据的格式有非常高的要求。由于点云或网格的格式不规则,大多数研究人员通常在将这些数据输入到深度网络之前,会将其转换为规则的3D体素网格或图像集合(如视图)。然而,这种数据表示转换会导致大量不必要的数据

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

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

TransE算法的整理

不羁岁月 提交于 2019-12-10 22:09:00
TransE 1 TransE的作用 TransE 作用 就是把三元组翻译成embedding词向量的方法 三元组,也就是(头实体,关系,尾实体)的形式,头实体和尾实体统称为实体。为了简化起见,我们用(h,r,t)来表示三元组。其中 h表示头实体 r表示关系 t表示尾实体 我们的目标是将知识库中所有的实体、关系表示成一个低维的向量。我们把三元组(h,r,t)对应的向量表示为(h,r,t)。 h 表示头实体对应的向量 r 表示关系对应的向量 t 表示尾实体对应的向量 这样,“姚明”这个实体就不再是一个孤立的符号了,而是一个低维的稠密的向量。它看起来就像下面这样: [0.01, 0.04, 0.8, 0.32, 0.09, 0.18] 上面这个向量的维度是6维,真实情况下向量的维度会比这个大,但具体取多大并没有一个统一的标准,一般取为50~200左右。 2 TransE的基本思想 TransE模型认为一个正确的三元组的embedding向量 ( h , r , t ) (h,r,t) ( h , r , t ) 会满足公式: h + r = t h+r=t h + r = t (头实体embedding加上关系embedding会等于尾实体embedding) 如果是一个错误的三元组,那么它们的embedding之间就不满足这种关系。 3.TransE的目标函数

求解 Ax=b

偶尔善良 提交于 2019-12-06 14:41:11
一 线性方程组 Ax=b 的解释 线性方程组 Ax=b,其中矩阵 A 尺寸为 m*n, 当 A 为方正时,可使用消元法判断解是否存在并求解。当 A 为长方形矩阵时,同样可使用消元法判断解存在情况并求解。 线性方程组 Ax=b 可以使用不同观点看待: 1)可看作函数 f(x)=b,即输入任意 n 维向量 x,经过矩阵 A 变换处理,输出 m 维向量 b,即向量 b 由向量 x 通过矩阵 A 线性变换得到; 2)令 , ,Ax=b 可表示为 ,进一步改写得 , 当 b 是矩阵 A 列向量 的线性组合时,或者 b 在矩阵 A 列空间时,Ax=b 可解,否则 Ax=b 不可解; 3)当矩阵 A 存在左逆 B 时,BA=I,则有 BAx=Bb,x=Bb;当矩阵A存在右逆 C 时,AC=I, 则有 Ax=ACb,x=Cb;求解线性方程组转换为求矩阵 A 是否存在左逆或者右逆,以及其逆是否唯一; 4)当向量 满足 时,则向量 位于矩阵 A 的零空间,令 为 Ax=b 的一个特解,则有 成立,也即 Ax=b 的解为 ; 二 矩阵 A 的四个子空间 考虑矩阵 A 为 m*n,该矩阵由 n 个 m 维列向量构成, 1)对 n 个列向量进行任意线性组合 , 其中 为任意实数序列,则向量 a 构成的集合为矩阵 A 的列空间,表示为 C(A); 2)对 m 个行向量进行线性组合 ,其中 为任意实数序列

BicycleGAN: Toward Multimodal Image-to-Image Translation - 1 - 论文学习,成对数据

让人想犯罪 __ 提交于 2019-12-06 00:08:38
Abstract 许多图像到图像的翻译问题是有歧义的,因为一个输入图像可能对应多个可能的输出。在这项工作中,我们的目标是在一个条件生成模型设置中建立可能的输出分布。将模糊度提取到一个低维潜在向量中,在测试时随机采样。生成器学习将给定的输入与此潜在编码映射到输出。我们明确地鼓励输出和潜在编码之间的连接是可逆的。这有助于防止训练期间从潜在编码到输出的多对一映射也称为模式崩溃问题,并产生更多样化的结果。我们通过使用不同的训练目标、网络架构和注入潜在编码的方法来探索此方法的几个变体。我们提出的方法鼓励了潜在编码模式和输出模式之间的双射一致性。我们提出了对我们的方法和其他变种在视觉真实性和多样性方面进行了一个系统的比较。 1 Introduction 深度学习技术在条件图像生成方面取得了快速的进展。例如,网络已经被用来填补缺失的图像区域[20,34,47],给灰度图像添加颜色[19,20,27,50],并从草图生成逼真的图像[20,40]。然而,这个领域的大多数技术都集中于生成单个结果。在这项工作中,我们模拟一个潜在结果的分布,因为许多这些问题可能是多模态。例如,如图1所示,根据云的模式和光照条件,夜间捕获的图像在白天可能看起来非常不同。我们追求两个主要目标:产生(1)视觉上真实的和(2)多样化的结果,同时保持对输入的忠实。 从高维输入到高维输出分布的映射具有挑战性