矩阵

深度学习知识系列(二) 各种卷积形式

最后都变了- 提交于 2020-03-03 08:01:43
文章目录 一、卷积的本质 二、2D卷积 三、3D卷积 四、转置卷积 五、1x1卷积 六、深度可分离卷积 七、**空洞卷积** 八、图卷积 一、卷积的本质     首先,我们先从数学和图像处理应用的意义上来看一下卷积到底是什么操作。我们先回到数学教科书中来看卷积,在泛函分析中,卷积也叫旋积或者褶积,是一种通过两个函数x(t)和h(t)生成的数学算子。其计算公式如下: 连 续 形 式 : x ( t ) ∗ h ( t ) = ∫ − ∞ ∞ x ( τ ) h ( t − τ ) d t 离 散 形 式 : x ( t ) ∗ h ( t ) = ∑ t = − ∞ ∞ x ( τ ) h ( t − τ ) 连续形式:\ \ \ \ x(t)*h(t) = \int_{-\infty}^{\infty}x(\tau)h(t-\tau)dt \\ 离散形式:\ \ \ \ x(t)*h(t) = \sum_{t=-\infty}^{\infty}x(\tau)h(t-\tau) 连 续 形 式 : x ( t ) ∗ h ( t ) = ∫ − ∞ ∞ ​ x ( τ ) h ( t − τ ) d t 离 散 形 式 : x ( t ) ∗ h ( t ) = t = − ∞ ∑ ∞ ​ x ( τ ) h ( t − τ )     从卷积公式可以看出

Java实现偶数矩阵(Even Parity, UVa 11464)

不想你离开。 提交于 2020-03-03 07:10:35
偶数矩阵(Even Parity, UVa 11464) 问题描述   给你一个n×n的01矩阵(每个元素非0即1),你的任务是把尽量少的0变成1, 使得每个元素的上、下、左、右的元素(如果存在的话)之和均为偶数。 比如,如(a)所示的矩阵至少要把3个0变成1,最终如图(b)所示,才能保证其为偶数矩阵。 看图! 输入格式   输入的第一行为数据组数T(T≤30)。每组数据的第一行为正整数n(1≤n≤15); 接下来的n行每行包含n个非0即1的整数,相邻整数间用一个空格隔开。 输出格式   对于每组数据,输出被改变的元素的最小个数。如果无解,应输出-1。 PS: 我虽然不能排列每一个,但我可以排类第一行,然后让后面的根据第一行进行排列 package 第七次模拟 ; import java . util . Scanner ; public class Demo3 矩阵 { static int n , Min , M = 20 ; static int [ ] [ ] a = new int [ M ] [ M ] ; static int [ ] [ ] b = new int [ M ] [ M ] ; public static void main ( String [ ] args ) { Scanner sc = new Scanner ( System . in ) ;

Matlab线性规划求解

為{幸葍}努か 提交于 2020-03-03 06:30:08
一、Matlab线性规划标准型 min ( c' * x ) s . t . Ax <= B ; 二、函数形式 linprog ( c , a , b , aeq , beq , lb , ub , x0 , options ) ; % c为目标函数系数矩阵 % a为限制条件系数矩阵,b为(不)等号右边构成的矩阵 % aeq , beq为等号限制条件 % x0为初始值,options为选项 三、例子 clear c = [ 2 ; 3 ; - 5 ] ; a = [ 2 - 5 1 ] ; b = - 10 ; aeq = [ 1 1 1 ] ; beq = [ 7 ] ; x = linprog ( - c , - a , - b , aeq , beq , zeros ( 3 , 1 ) ) ; val = c' * x ; 来源: CSDN 作者: FrankXCR 链接: https://blog.csdn.net/FrankXCR/article/details/104613294

Matlab2-特殊矩阵

老子叫甜甜 提交于 2020-03-03 06:25:26
通用的特殊矩阵 zeros函数:产生全0矩阵,即零矩阵。 ones函数:产生全1矩阵,即幺矩阵。 eye函数:产生对角线为1的矩阵。当矩阵是方阵时,得到一个单位矩阵。 rand函数:产生一个矩阵,矩阵元素在(0,1)上服从正态分布。 fix(a + (b-a+1)*rand() ):产生一个矩阵,其中元素在[a,b]区间上均匀分布。 randn函数:产生一个矩阵,矩阵元素服从均值为0、方差为1的标准正太分布随机数。 通过线性运算可以转换其均值和方差。 调用格式 >> zeros ( m ) : 产生m×m零矩阵。 >> zeros ( m , n ) : 产生m×n零矩阵。 >> zeros ( size ( A ) ) : 产生与A同样大小的零矩阵。 用于专门学科计算的特殊矩阵 魔方矩阵—Magic Square: n阶魔方阵由1,2,3,4…,n 2 共n 2 个整数组成,且每行、每列以及主、副对角线上各n个元素之和都相等。 n阶魔方矩阵每行每列元素的和为(1+2+3+…+n 2 )/n = (n+n 3 )/2. n>2时,有很多不同的魔方阵。但MATLAB函数magic(n)产生一个特定的魔方阵。 >> magic ( 8 ) //调用格式 范德蒙矩阵 对于vector v = [v 1 ,v 2 ,…,v n ],范德蒙德矩阵的形式为: 调用格式:MATLAB中

渲染Keynote

喜你入骨 提交于 2020-03-03 05:49:03
【 渲染Keynote 】 1、渲染图元(rendering primitives),可以是点、线、三角。 2、显卡对于显存的访问速度更快,而且大多数显卡对于RAM没有直接的访问权利 。 3、裁剪(Clipping)是将那些不在摄像机内的 顶点 裁剪掉。 4、OpenGL左下角为(0,0),右上角为(1,1)。 5、模板测试(Stencil Test)位于Fragment Shader之后。 6、Blend是最后一道工序。 7、一个形象的比喻是,我们在使用固定管线进行渲染时,就好像在控制电路上的多个开关我们可以选择打开或关闭一个开关,但永远无法控制整个电路系统。 8、OpenGL3.2中完全移除了固定管线。Unity5.2以后版本,固定管线也会被转化为shader管线。 9、计算机科学中的任何问题都可以增加一层抽象来解决。 10、三个轴互相垂直,且长度为1,这些矢量被称为标准正交基(orthonormal basis)。 11、Unity使用左手坐标系。而在Camera中,使用的是右手坐标系。 12、叉积不满足交换率,即axb!=bxa。 13、矩阵乘法不满足交换律。AxB!=BXA。 14、逆矩阵(inverse matrix)。不是所有的矩阵都有逆矩阵,该矩阵必须 是一个方阵。MM^(-1)=I。 15、正交矩阵(orthogonal matrix)。如果MM^T=I

numpy.linalg.norm(求范数)

故事扮演 提交于 2020-03-03 04:05:52
1、linalg=linear(线性)+algebra(代数),norm则表示范数。 2、函数参数 x_norm=np.linalg.norm(x, ord=None, axis=None, keepdims=False)     ①x: 表示矩阵(也可以是一维)   ②ord:范数类型    向量的范数:      矩阵的范数:     ord=1:列和的最大值     ord=2:|λE-ATA|=0,求特征值,然后求最大特征值得算术平方根     ord=∞:行和的最大值   ③axis:处理类型     axis=1表示按行向量处理,求多个行向量的范数     axis=0表示按列向量处理,求多个列向量的范数     axis=None表示矩阵范数。   ④keepding:是否保持矩阵的二维特性     True表示保持矩阵的二维特性,False相反 3、代码实现 import numpy as np x = np.array([ [0, 3, 4], [1, 6, 4]]) #默认参数ord=None,axis=None,keepdims=False print "默认参数(矩阵2范数,不保留矩阵二维特性):",np.linalg.norm(x) print "矩阵2范数,保留矩阵二维特性:",np.linalg.norm(x,keepdims=True) print

奇异矩阵与L2 Regularization

眉间皱痕 提交于 2020-03-02 20:00:58
奇异矩阵是线性代数的概念,就是对应的行列式等于0的矩阵。   奇异矩阵的判断方法:首先,看这个矩阵是不是方阵(即行数和列数相等的矩阵。若行数和列数不相等,那就谈不上奇异矩阵和 非奇 异矩阵)。 然后,再看此方阵的行列式|A|是否等于0,若等于0,称矩阵A为奇异矩阵;若不等于0,称矩阵A为非奇异矩阵。 同时,由|A|≠0可知矩阵A可逆,这样可以得出另外一个重要结论:可逆矩阵就是非奇异矩阵,非奇异矩阵也是可逆矩阵。 如果A为奇异矩阵,则AX=0有无穷解,AX=b有无穷解或者无解。如果A为非奇异矩阵,则AX=0有且只有唯一零解,AX=b有唯一解。    如果A(n×m)为奇异矩阵(singular matrix)<=> A的秩Rank(A)<n.   如果A(n×m)为非奇异矩阵(nonsingular matrix)<=> A满秩,Rank(A)=n. [1]   Eviews软件中当样本容量太少或是当变量间存在完全相关性时会提示“near singular matrix”,意为“近奇异矩阵”。计量经济学范畴   一个方阵非奇异当且仅当它的行列式不为零。   一个方阵非奇异当且仅当它代表的线性变换是个 自同构 。   一个矩阵半正定当且仅当它的每个特征值大于或等于零。   一个 矩阵正定 当且仅当它的每个特征值都大于零。 在矩阵对角线上增加一个正数,使该矩阵成为非奇异矩阵

c++数组

陌路散爱 提交于 2020-03-02 19:02:54
一维数组 存储相同数据类型的连续的内存空间 定义方式: 一维数组名作用: 1.统计整个数组在内存中的长度 2.获取数组在内存中的首地址 int b[] = { 1,3 }; cout << b;//直接打印16进制的地址 二维数组 定义方式: 二维数组名作用 1.查看二维数组所占内存空间 2.获取二维数组首地址 来源: https://www.cnblogs.com/javayihao/p/12397305.html

机器学习算法中的基本概念

∥☆過路亽.° 提交于 2020-03-02 11:50:38
1、Model representation(模型表达) 模型表达就是给出输入和输出之间的函数关系式。当然这个函数是由前提假设的,里面可以含有参数。此时如果有许多训练样本的话,同样可以给出训练样本的平均相关的误差函数,也称作 损失函数 (Loss function)。我们的目标是求出模型表达中的参数,这是通过最小化损失函数来求得的。一般最小化损失函数是通过梯度下降法(即先随机给出参数的一组值,然后更新参数,使每次更新后的结构都能够让损失函数变小,最终达到最小即可)。在梯度下降法中,目标函数其实可以看做是参数的函数,因为给出了样本输入和输出值后,目标函数就只剩下参数部分了,这时可以把参数看做是自变量,则目标函数就变成了参数的函数了。梯度下降每次都是更新每个参数,且每个参数更新的形式是一样的,即用前一次该参数的值减掉学习率和目标函数对该参数的偏导数。(如果只有1个参数的话,就是导数),为什么要这样做呢?通过取不同点处的参数可以看出,这样做恰好可以使原来的目标函数值变低,因此符合我们的要求(即求函数的最小值)。即使当学习速率固定(但不能太大),梯度下降法也是可以收敛到一个局部最小点的,因为梯度值会越来越小,它和固定的学习率相乘后的积也会越来越小。在线性回归问题中我们就可以用梯度下降法来求回归方程中的参数。有时候该方法也称为批量梯度下降法