线性变换

svg 入门

て烟熏妆下的殇ゞ 提交于 2019-12-01 00:21:50
1.1 SVG简介 用途: 使用XML描述的矢量文件 规范: W3C标准(1.1)( http://www.w3.org/TR/SVG11/) 支持情况: IE9+、 Chrome33.0+、 Firefox28.0、Safari7.0+ 使用方式: 浏览器直接打开 在HTML中使用img标签 1 <img src="simple.svg" width="400" height="400"> 直接在HTML中使用SVG标签 1234567891011 <svg xmlns="http://www.w3.org/2000/svg" width="200" height="200"> <circle cx="100" cy="100" r="90" fill="#39f" /> <!-- Eyes --> <circle cx="70" cy="80" r="20" fill="white" /> <circle cx="130" cy="80" r="20" fill="white" /> <circle cx="65" cy="75" r="10" fill="black" /> <circle cx="125" cy="75" r="10" fill="black" /> <!-- Smile --> <path d="M 50 140 A 60 60 0 0 0 150 140

svg 入门

大憨熊 提交于 2019-12-01 00:09:26
1.1 SVG简介 用途: 使用XML描述的矢量文件 规范: W3C标准(1.1)( http://www.w3.org/TR/SVG11/) 支持情况: IE9+、 Chrome33.0+、 Firefox28.0、Safari7.0+ 使用方式: 浏览器直接打开 在HTML中使用img标签 1 <img src="simple.svg" width="400" height="400"> 直接在HTML中使用SVG标签 1234567891011 <svg xmlns="http://www.w3.org/2000/svg" width="200" height="200"> <circle cx="100" cy="100" r="90" fill="#39f" /> <!-- Eyes --> <circle cx="70" cy="80" r="20" fill="white" /> <circle cx="130" cy="80" r="20" fill="white" /> <circle cx="65" cy="75" r="10" fill="black" /> <circle cx="125" cy="75" r="10" fill="black" /> <!-- Smile --> <path d="M 50 140 A 60 60 0 0 0 150 140

数字图像处理——图像增强

ぐ巨炮叔叔 提交于 2019-11-30 13:38:58
图像增强 图像增强的目的是:改善图像的视觉效果或使图像更适合于人或机器的分析处理 \[ 图像增强 \begin{cases} 空域法 \begin{cases} 点操作 \begin{cases} 直接灰度变换\\ 直方图修正 \end{cases}\\ 邻域操作 \begin{cases} 图像平滑\\ 图像锐化 \end{cases} \end{cases}\\ 频域法 \begin{cases} 低通滤波\\ 高通滤波 \end{cases} \end{cases} \] 点操作 直接灰度变换 \(g(x,y)=T[f(x,y)]\) \(T\) => 灰度映射函数 坐标位置 \((x,y)\) 为 \(f\) 的自变量,表示当前灰度值,经过函数 \(T\) 转变为 \(g\) , 注意在T函数中 \(f(x,y)\) 为其自变量 直接灰度变换又可以分为: 线性变换 分段线性变换 非线性变换 线性变换 & 分段线性变换 对于 \(f(x,y)\) 灰度范围为 \([a,b]\) 的部分,进行线性变换 \[g(x,y) = {d-c\over b-a}[f(x,y)-a]+c\] 我们可以用它来做什么? 举个简单的例子,我们可以很容易的通过调整灰度分布,使得图片白的部分更白,黑的部分更黑 void increase(Mat &inputImage, Mat&

GRAPH ATTENTION NETWORKS

北慕城南 提交于 2019-11-30 05:46:29
GRAPH ATTENTION NETWORKS 【GATs】 本文提出了图注意力网络(GATs),这是一种新的作用在图结构数据上的神经网络框架。 作者利用注意力机制已达到对节点分类的任务取得更好的效果。 Cora数据集: 包含2708个节点,每个样本点都是一篇科学论文,5429个边 每篇论文都由一个1433维的词向量表示,即每个节点1433个特征。 GAT 网络架构 通过堆叠单个的图注意力层(Graph Attentional Layer)来构建任意的图注意力网络。 单个图注意力层(Graph Attentional Layer) 输入:图中所有节点特征向量的集合 N 是图中总结点数, F是每个节点的特征数 输出:图中节点更新后的特征向量的集合(更新后新的特征向量的维数可能与之前的特征向量维数不同) 步骤 一、Input : 例如:输入h1,h2,h3三个节点 二、为了能够让特征更具表达能力,采用了线性变换先对原始特征进行处理 上面输入的三个节点变换以后如下图 三、计算注意力系数 a是注意力机制,在代码中也是以矩阵的形式表现 四、为了使系数在不同节点之间易于比较,我们使用softmax函数在j的所有选项中对它们进行标准化: 五、得到标准化的系数以后,就利用关注系数与对应的节点特征做线性变换,再进行一次非线性变换后,作为节点特征的输出。 multi-head attention

radar chart

╄→гoц情女王★ 提交于 2019-11-29 22:38:38
多变量数据 雷达图 radar chart 如上图可知,雷达图的缺点是看不清,此时可采用线性变换(相差小) or 对数变换(相差大)的方法使得图像展开。 但是第一幅图用于比价种类比较鲜明,而第二幅图虽然比较个体很清楚却不能比较种类,所以图像服务于研究的问题。 来源: https://www.cnblogs.com/yuanjingnan/p/11538238.html

线性代数的深入理解

。_饼干妹妹 提交于 2019-11-29 10:46:30
线性代数笔记 关于矩阵理解 reference: 矩阵理解 图片来源: b站上的教程 线性变换 所谓变换,其实就是空间里从一个点(元素/对象)到另一个点(元素/对象)的跃迁 矩阵是线性空间中的线性变换的一个描述。在一个线性空间中,只要我们选定一组基,那么对于任何一个线性变换,都能够用一个确定的矩阵来加以描述。 比如有一头猪,你打算给它拍照片,只要你给照相机 选定了一个镜头位置 ,那么就可以给这头猪拍一张照片。这个照片可以看成是这头猪的一个描述,但只是一个片面的的描述,因为 换一个镜头位置 给这头猪拍照,能得到一张不同的照片,也是这头猪的另一个片面的描述。所有这样照出来的照片都是这同一头猪的描述,但是又都不是这头猪本身。 同样的,对于一个线性变换,只要你 选定一组基 ,那么就可以找到一个矩阵来描述这个线性变换。 换一组基 ,就得到一个不同的矩阵。所有这些矩阵都是这同一个线性变换的描述,但又都不是线性变换本身。 若矩阵A与B是同一个线性变换的两个不同的描述(之所以会不同,是因为选定了不同的基,也就是选定了不同的坐标系),则一定能找到一个非奇异矩阵P,使得A、B之间满足这样的关系就是相似: A = P − 1 B P A=P^{-1}BP A = P − 1 B P 那么重新来理解一下 $ Ma=b $ 等价于 M a = I b Ma=Ib M a = I b ,意思是说**

DirectX:Affine Transformation

走远了吗. 提交于 2019-11-29 08:33:06
Tag DirectX下的博客主要用于记录DirectX的学习过程,主要参考《DirectX 12 3D 游戏实战开发》。本篇主要是顺着DX12龙书的节奏温习线性代数中的仿射变换。 仿射变换 仿射变换是在线性变换的基础上加入平移变换得到的。之前线性变换的对象都是3维向量,向量只表示方向,对向量作平移是没有意义的,因此平移只能作用于点。齐次坐标表示法可以统一对点和向量的平移变换。 齐次坐标 在普通3维坐标的基础上加入第四维w即构成齐次坐标。参考《3D数学基础:图形与游戏开发》,可以通过“投影”来理解齐次坐标。先考虑2D的齐次坐标(x,y,w),截取w=1处的平面,对坐标系内的点作关于原点的透视投影,投影之后的坐标值为(x/w,y/w,1)。而当w=0时,除零可以看作趋于无穷,即形如(x,y,0)的点在无穷远处,此时我们用它来表示方向。类比2维,可以推出3维的情况,截取w=1处的超平面作投影即可。类似地,我们可以用(x,y,z,1)表示点,用(x,y,z,0)表示向量。 仿射变换 仿射变换即在线性变换的基础上增加一个平移变换,通常用下式表示: \[ \alpha(\vec u)=\tau(\vec u)+\vec b,\vec b为平移向量 \] 又或者:(其中,M为线性变换矩阵,b为平移变换向量) \[ \alpha(\vec u)=\vec u\times M+\vec b=[x

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

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

特征值和特征向量

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

DCGAN代码及实验结果分析

℡╲_俬逩灬. 提交于 2019-11-26 03:58:18
一.写在前面 本篇对DCGAN的tensorflow实现版本进行代码分析。Github: https://github.com/carpedm20/DCGAN-tensorflow 该代码中实现了针对有标签数据集和无标签数据集两类网络,两类网络的结构不一样。下面分别进行介绍。 二.针对有标签数据集的网络 为了便于解释,用具体例子替换变量。 有标签数据集以mnist数据集为例。batch_size为64,mnist图片大小为28×28,图片通道数c_dim为1,类别数y_dim为10;随机输入的维数z_dim为100。 Generator部分 : 1.获得输入z 服从均匀分布的输入样本z(shape=[64,100])与具有one-hot形式的标签y(shape=[64,10])级联,整体作为Generator的输入z(shape=[64,110])。 2.获得第一个非线性层的输出h0 通过线性变换将z变换为维数gfc_dim=1024的数据,对其进行归一化(batch normalization)之后进行非线性Relu变换,得到h0(shape=[64,1024]);将h0与y级联,整体作为下一层的输入h0(shape=[64,1034])。 3.获得第二个非线性层的输出h1 通过线性变换将h0变换为64×2×7×7=6272的数据,对其进行归一化之后进行非线性Relu变换