方向向量

奇异值分解(SVD)原理及应用

若如初见. 提交于 2019-12-23 13:45:11
一、奇异值与特征值基础知识: 特征值分解和奇异值分解在机器学习领域都是属于满地可见的方法。两者有着很紧密的关系,我在接下来会谈到,特征值分解和奇异值分解的目的都是一样,就是提取出一个矩阵最重要的特征。先谈谈特征值分解吧: 1)特征值: 如果说一个向量v是方阵A的特征向量,将一定可以表示成下面的形式: 这时候λ就被称为特征向量v对应的特征值,一个矩阵的一组特征向量是一组正交向量。特征值分解是将一个矩阵分解成下面的形式: 其中Q是这个矩阵A的特征向量组成的矩阵,Σ是一个对角阵,每一个对角线上的元素就是一个特征值。我这里引用了一些参考文献中的内容来说明一下。首先,要明确的是,一个矩阵其实就是一个线性变换,因为一个矩阵乘以一个向量后得到的向量,其实就相当于将这个向量进行了线性变换。比如说下面的一个矩阵: 它其实对应的线性变换是下面的形式: 因为这个矩阵M乘以一个向量(x,y)的结果是: 上面的矩阵是对称的,所以这个变换是一个对x,y轴的方向一个拉伸变换(每一个对角线上的元素将会对一个维度进行拉伸变换,当值>1时,是拉长,当值<1时时缩短),当矩阵不是对称的时候,假如说矩阵是下面的样子: 它所描述的变换是下面的样子:   这其实是在平面上对一个轴进行的拉伸变换(如蓝色的箭头所示),在图中,蓝色的箭头是一个最主要的变化方向(变化方向可能有不止一个),如果我们想要描述好一个变换

OpenGL 状态管理和绘制几何体

╄→尐↘猪︶ㄣ 提交于 2019-12-20 23:39:58
  虽然使用OpenGL可以绘制复杂、有趣的图形,但这些图形都是由几种基本图元构成的(达芬奇的作品都是使用画笔和画刷完成的)。   最抽象角度看,三种基本的绘图操作:清空窗口、绘制几何体和绘制光栅物体。光栅物体包括二维图像、位图和字符字体等。   OpenGL中,除非特别声明,否则调用绘图函数后,将立刻绘制指定的物体。这看似理所当然,但在有些系统中,首先建立一个要绘制的物体列表,然后命令图形硬件绘制列表中的物体。前一种方式被称为直接模式,OpenGL中默认采用这种模式。除直接模式外,还可以将命令存储在列表中,供以后使用。直接模式更易于编程,但显示列表的效率更高。    绘图补救工具箱(为什么叫这个名字)   1.清空窗口 :在计算机屏幕上绘制不同于在纸上绘图。纸张最初是白色的,只需绘图即可;在计算机上,存储图像的内存中通常包含最后绘制的图像,因此在绘制新场景之前,需要使用某种背景颜色将其清除。为什么要清屏而不绘制一个足够大、颜色适当的矩形来覆盖整个窗口?首先,清屏函数的效率比绘图绘图函数高得多;其次OpenGL允许程序员随意地设置坐标系、观察位置和观察方向,因此要指定一个大小和位置合适的清屏矩形是极其困难的;最后,在很多计算机上,图形硬件中除了存储像素颜色的缓存外还包含多个其他的缓存。这些缓存也必须随时进行清楚,如果能用一条命令清楚所有缓存将会非常方便。   另外

点积与叉乘的运算与物理意义

妖精的绣舞 提交于 2019-12-20 02:29:30
原文:http://blog.csdn.net/jacke121/article/details/55804353 向量是由n个实数组成的一个n行1列(n*1)或一个1行n列(1*n)的有序数组; 向量的点乘,也叫向量的内积、数量积,对两个向量执行点乘运算,就是对这两个向量对应位一一相乘之后求和的操作,点乘的结果是一个标量。 点乘公式 对于向量a和向量b: a和b的点积公式为: 要求一维向量a和向量b的行列数相同。 点乘几何意义 点乘的几何意义是可以用来表征或计算两个向量之间的夹角,以及在b向量在a向量方向上的投影,有公式: 推导过程如下,首先看一下向量组成: 定义向量: 根据三角形余弦定理有: 根据关系c=a-b(a、b、c均为向量)有: 即: 向量a,b的长度都是可以计算的已知量,从而有a和b间的夹角θ: 根据这个公式就可以计算向量a和向量b之间的夹角。从而就可以进一步判断这两个向量是否是同一方向,是否正交(也就是垂直)等方向关系,具体对应关系为: a·b>0 方向基本相同,夹角在0°到90°之间 a·b=0 正交,相互垂直 a·b<0 方向基本相反,夹角在90°到180°之间 叉乘公式 两个向量的叉乘,又叫向量积、外积、叉积,叉乘的运算结果是一个向量而不是一个标量。并且两个向量的叉积与这两个向量组成的坐标平面垂直。 对于向量a和向量b: a和b的叉乘公式为: 其中: 根据i

HOG:从理论到OpenCV实践

孤人 提交于 2019-12-16 02:57:01
OpenCV HOGDescriptor 参数图解 原文链接 一、理论 1、 HOG特征描述子的定义 : locally normalised histogram of gradient orientation in dense overlapping grids,即局部归一化的梯度方向直方图, 是一种对图像局部重叠区域的密集型描述符, 它通过计算局部区域的梯度方向直方图来构成特征。 2、本质: Histogram of Oriented Gradient descriptors provide a dense overlapping description of image regions ,即 统计图像局部区域的梯度方向信息来作为该局部图像区域的表征。 3、OpenCV中的HOG算法来源: Histograms of Oriented Gradients for Human Detection , CVPR 2005。详细的算法可以参考这个文章。这里是 英文 和 中文 的介绍。 4、 检测窗口Win、块Block、单元格Cell的基本信息 (1)大小: A、检测窗口:WinSize=128*64像素,在图像中滑动的步长是8像素(水平和垂直都是) B、块:BlockSize=16*16像素,在检测窗口中滑动的步长是8像素(水平和垂直都是) C、单元格:CellSize=8*8像素

【Algorithm】梯度下降算法的数学原理

爷,独闯天下 提交于 2019-12-10 22:21:00
1.前言 在机器学习,深度学习中,我们通过定义损失函数并采用最小化损失函数的策略来优化模型中的参数。到了这个环节,其实我们面临的就是最优化问题。求解这些问题的方法也有很多,最常用就是 梯度下降算法 ,在李航博士的《统计学习方法》中也还有 牛顿法 等。而针对梯度下降算法的不足,对此改进的有 随机梯度下降法 以及添加 动量 等。在本篇博文中,我们先来看看梯度下降算法的数学原理。 2.预备知识 在了解梯度下降算法之前,我们需要有一定的数学基础,例如:偏导,梯度,泰勒展开式。偏导大家应该很清楚,就不做细谈,现在让我们回忆以下梯度以及泰勒展开式的相关概念。 2.1梯度 本部分主要参考百度文库[1]。梯度:表示一函数在该点的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)。这里又有一个新名词 方向导数 ,那么什么是方向导数呢?下面我们来看看: 背景 :假如我们有一个曲面(我们可以联想到这是一个山坡, z z z 可以看成一个高度) z = ( x , y ) z=(x,y) z = ( x , y ) ,其中 ( x , y ) ∈ D (x,y)\in D ( x , y ) ∈ D ,可以将 D D D 理解为这座山所占水平面的那块平面区域,在这块区域上有一点 M 0 ( x 0 , y 0 ) ∈ D M_0(x_0,y_0)

主成分分析(PCA)原理详解

我的未来我决定 提交于 2019-12-10 10:07:52
个人分类: 机器学习与Python 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhongkelee/article/details/44064401 转载请声明出处: http://blog.csdn.net/zhongkelee/article/details/44064401 一、PCA简介 1. 相关背景 上完陈恩红老师的《机器学习与知识发现》和季海波老师的《矩阵代数》两门课之后,颇有体会。最近在做主成分分析和奇异值分解方面的项目,所以记录一下心得体会。 在许多领域的研究与应用中,往往需要对反映事物的多个变量进行大量的观测,收集大量数据以便进行分析寻找规律。多变量大样本无疑会为研究和应用提供了丰富的信息,但也在一定程度上增加了数据采集的工作量,更重要的是在多数情况下,许多变量之间可能存在相关性,从而增加了问题分析的复杂性,同时对分析带来不便。如果分别对每个指标进行分析,分析往往是孤立的,而不是综合的。盲目减少指标会损失很多信息,容易产生错误的结论。 因此需要找到一个合理的方法,在减少需要分析的指标同时,尽量减少原指标包含信息的损失,以达到对所收集数据进行全面分析的目的。由于各变量间存在一定的相关关系,因此有可能用较少的综合指标分别综合存在于各变量中的各类信息。主成分分析与因子分析就属于这类降维的方法。 2. 问题描述

#机器学习/梯度下降(Gradient Descent)

孤者浪人 提交于 2019-12-10 01:46:00
在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一,另一种常用的方法是最小二乘法。这里就对梯度下降法做一个完整的总结。 1.梯度 众所周知,在微积分里面,对多元函数的参数求∂偏导数,把求得的各个参数的偏导数以向量的形式写出来,就是梯度。在向量微积分中,梯度(gradient)是一种关于多元导数的概括。平常的一元(单变量)函数的导数是标量值函数,而多元函数的梯度是向量值函数。 就像一元函数的导数表示这个函数图形的切线的斜率[3],如果多元函数在点P上的梯度不是零向量,它的方向是这个函数在P上最大增长的方向,而它的量是在这个方向上的增长率 梯度向量中的幅值和方向是与坐标的选择无关的独立量[5]。 在欧几里德空间或更一般的流形之间的多元可微映射的向量值函数的梯度推广是雅可比矩阵。在巴拿赫空间之间的函数的进一步推广是弗雷歇导数。 那么这个梯度向量求出来有什么意义呢?他的意义从几何意义上讲,就是函数变化增加最快的地方。具体来说,对于函数f(x,y),在点(x0,y0),沿着梯度向量的方向就是(∂f/∂x0, ∂f/∂y0)T的方向是f(x,y)增加最快的地方。或者说,沿着梯度向量的方向,更加容易找到函数的最大值。反过来说,沿着梯度向量相反的方向,也就是 -(∂f/∂x0, ∂f/∂y0)T的方向,梯度减少最快

矩阵特征值分解与奇异值分解含义解析及应用

ぃ、小莉子 提交于 2019-12-06 22:03:10
特征值与特征向量的几何意义 矩阵的乘法是什么,别只告诉我只是“前一个矩阵的行乘以后一个矩阵的列”,还会一点的可能还会说“前一个矩阵的列数等于后一个矩阵的行数才能相乘”,然而,这里却会和你说——那都是表象。 矩阵乘法真正的含义是变换,我们学《线性代数》一开始就学行变换列变换,那才是线代的核心——别会了点猫腻就忘了本——对,矩阵乘法 就是线性变换,若以其中一个向量A为中心,则B的作用主要是使A发生如下变化: 1、伸缩 clf; A = [0, 1, 1, 0, 0;... 1, 1, 0, 0, 1]; % 原空间 B = [3 0; 0 2]; % 线性变换矩阵 plot(A(1,:),A(2,:), '-*');hold on grid on;axis([0 3 0 3]); gtext('变换前'); Y = B * A; plot(Y(1,:),Y(2,:), '-r*'); grid on;axis([0 3 0 3]); gtext('变换后'); 从上图可知,y方向进行了2倍的拉伸,x方向进行了3倍的拉伸,这就是B=[3 0; 0 2]的功劳,3和2就是伸缩比例。请注意,这时B除了对角线元素为各个维度的倍数外,非正对角线元素都为0,因为下面将要看到,对角线元素非0则将会发生切变及旋转的效果。 2、切变 clf; A = [0, 1, 1, 0, 0;... 1, 1, 0

unity Shader 内置函数

家住魔仙堡 提交于 2019-12-03 16:06:51
一、数学内置函数 1、Step(a,x):如果x<a返回0;如果x>或=a返回1 2、Clamp(x,a,b):如果x<a返回a;如果x>b返回b;如果在a和b之间就返回x 3、smoothstep(min,max,x):返回的值为–2*(( x – min )/( max – min ))3 +3*(( x – min )/( max – min ))2 4、lerp(a,b,f):线性插值函数,返回值为(1-f)*a+b*f 5、三角函数sin、cos 6、saturate(x): clamp x to range [0,1]。将x裁剪到0和1之间,大于1取1,小于0取0。在half-lambert中会经常用到 7、normalize(x): return a normalized vector。返回一个归一化的向量。通常在fragment shader中使用 8、dot(x, y): 两个向量的点乘结果。|a||b|cos(a)。光照计算中经常用到 9、mul(x, y): 矩阵乘法,结果依然为一个矩阵。[m, n] [n, q]=>[m,q],前行乘后列。坐标空间转换中经常使用 10、reflect(i, n): 得到反射光线的方向 11、refract(i, n, R): 得到折射光线的方向。需要注意的是入射光线和法线都需要归一化,R为折射率

梯度下降法

泄露秘密 提交于 2019-12-03 11:33:58
我们知道梯度是一个向量,即是一个矢量,是有方向的,某一点它的梯度方向的指向是该点函数值变化最快的方向,因此要想找到极值就沿着该方向前进是最快的到达极值点的方法。 至于下降,指的是函数图像的某点处梯度向量的模在寻找极值点的路途的过程中逐渐减小,可以想象一下一个3D图像,在逼近它的极值点的过程中经过的点处的梯度向量的模是一直减小的。(因为梯度向量的模为 , 表示函数在x轴方向的变化率, 表示函数在y轴方向的变化率,在逼近极值点的过程中函数图像逐渐变得平缓,函数在x、y方向变化变慢 和 变小,函数在任意方向变化速度(方向导数)变得逐渐减慢,即梯度向量的模逐渐减小,即梯度下降。) 来源: https://www.cnblogs.com/wisir/p/11794159.html