矩阵

二维数组中的查找

醉酒当歌 提交于 2019-12-26 03:43:59
题目   在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 问题分析     应当从具体问题入手,通过分析简单具体的例子,发现普遍的规律。   现在假定,我们要从二维数组   1 7 14 21   3 8 15 22   5 9 16 23   7 17 23 24   中检索是否存在数字7。   按照从 右上方,列优先 的顺序检索该数组。   1. 在检索17的时候,因为21大于17,故可剔除第四列。   2. 在检索14的时候,因为14小于17,故可剔除第一行,相当于更新行号和列号后重新执行而已。则剩下   3 8 15    5 9 16    7 17 23 3. 在检索15的时候,因为15小于17,故可剔除第一行,只剩下   5 9 16    7 17 23 4. 在检索16的时候,因为16小于17,故可剔除第一行,只剩下   7 17 23   5. 在检索到23的时候,因为23大于17,故可剔除第三列,只剩下 7 17 6. 检索到17,返回。 代码实现如下: #include <stdio.h> #define M 4 #define N 4 int FindNumber(int array[M][N],int rows,int columns

仿射变换,根据点求变换矩阵以及根据角度和缩放因子求变换矩阵

落花浮王杯 提交于 2019-12-26 02:10:06
//仿射变换,根据点求变换矩阵以及根据角度和缩放因子求变换矩阵 Mat mapx ; Mat mapy ; Mat src ; Mat dst ; int main ( ) { //1.原图像。 src = imread ( "马车2.jpg" ) ; resize ( src , src , Size ( ) , 0.1 , 0.1 ) ; imshow ( "效果图" , src ) ; //2.确定两组点,每组点3个。 Point2f src_triangle [ 3 ] ; src_triangle [ 0 ] = Point2f ( 0. , 0. ) ; src_triangle [ 1 ] = Point2f ( 0. , static_cast < float > ( src . rows - 1 ) ) ; src_triangle [ 2 ] = Point2f ( static_cast < float > ( src . cols - 1 ) , 0. ) ; Point2f dst_triangle [ 3 ] ; dst_triangle [ 0 ] = Point2f ( 0.12 * src . cols , 0.43 * src . rows ) ; dst_triangle [ 1 ] = Point2f ( 0.33 * src . cols

卷积神经网络初始化参数解释

荒凉一梦 提交于 2019-12-26 01:14:07
input_dim:输入数据层大小:3-3层-彩色图像。32:矩阵高。32:矩阵宽 num_filters:卷积核的数量。 filter_size:卷积核大小-7的意思就是7*7大小的计算的卷积核。 hidden_dim:隐藏层即全连接层的(神经元)的个数。 num_classes;需要分类数。 weight_scale:初始化参数的数据量,1e-3即10的负3次方数量级。 reg:正则化的惩罚项。 dtype:把所有值由64位转化成32位 来源: CSDN 作者: 王壹浪 链接: https://blog.csdn.net/com_fang_bean/article/details/103702793

深入浅出通信原理MIMO合集

陌路散爱 提交于 2019-12-26 00:18:23
深入浅出通信原理MIMO合集 深入浅出通信原理是陈爱军的心血之作,于 通信人家园 连载,此处仅作python代码笔记训练所用 陈老师的连载从多项式乘法讲起,一步一步引出卷积、傅立叶级数展开、旋转向量、三维频谱、IQ调制、数字调制等一系列通信原理知识 连载503 SISO是常规的单输入单输出系统 SIMO是单输入多输出系统,采用接收分集技术 MIMO是多输入多输出系统 连载504-505 香农定理:高斯白噪声干扰的带宽受限信道的信道容量(最大信息传输速率) $ C=Blog_2(1+\frac{S}{N})$ 其中 B: 信道带宽(Hz), S:信号功率(W), N:噪声功率(W) 因此通过增大信道带宽和提高信噪比可提升信道容量 此外N路并行传输亦可N倍实现增大信道容量(空间复用) 若信道质量差,或只有1根接收天线,N根发送天线传输相同数据提高传输可靠性(发送分集) 连载508 信息增益H是指:从接受天线得到的基带信号与发送天线发出的基带信号之比,是信道的频率响应参数 MIMO的信道矩阵H: \[ H= \begin{bmatrix} h_{11}&0&\dots&0\\ 0&h_{22}&\dots&0\\ \vdots&\vdots&\ddots&\vdots\\ 0&0&\dots&h_{nn} \end{bmatrix} \]

协方差及协方差矩阵

本小妞迷上赌 提交于 2019-12-26 00:14:14
一、统计学的基本概念   统计学里最基本的概念就是样本的均值、方差、标准差。首先,我们给定一个含有n个样本的集合,下面给出这些概念的公式描述: 均值: 标准差: 方差:   均值描述的是样本集合的中间点,它告诉我们的信息是有限的,而标准差给我们描述的是样本集合的各个样本点到均值的距离之平均。   以这两个集合为例,[0, 8, 12, 20]和[8, 9, 11, 12],两个集合的均值都是10,但显然两个集合的差别是很大的,计算两者的标准差,前者是8.3后者是1.8,显然后者较为集中,故其标准差小一些,标准差描述的就是这种“散布度”。之所以除以n-1而不是n,是因为这样能使我们以较小的样本集更好地逼近总体的标准差,即统计上所谓的“无偏估计”。而方差则仅仅是标准差的平方。 二、为什么需要协方差   标准差和方差一般是用来描述一维数据的,但现实生活中我们常常会遇到含有多维数据的数据集,最简单的是大家上学时免不了要统计多个学科的考试成绩。面对这样的数据集,我们当然可以按照每一维独立的计算其方差,但是通常我们还想了解更多,比如,一个男孩子的猥琐程度跟他受女孩子的欢迎程度是否存在一些联系。协方差就是这样一种用来度量两个随机变量关系的统计量,我们可以仿照方差的定义:   来度量各个维度偏离其均值的程度,协方差可以这样来定义:   协方差的结果有什么意义呢?如果结果为正值,则说明两者是正相关的

矩阵运算法则及性质

若如初见. 提交于 2019-12-25 19:07:37
1、方形矩阵A对应的行列式|A|用于判断矩阵是否为奇异矩阵,若|A|非0,则矩阵为非奇异矩阵,若|A|=0,则A为奇异矩阵。 2、|AB| = |A||B| 3、A的伴随矩阵AdjA的求法: 4、A的逆矩阵的求法: 5、系数矩阵加一列右端项的矩阵叫增广矩阵,英文叫做augmented matrix,记作:(A|B) 6、矩阵转置相关运算: 7、矩阵乘以常数的运算 8、矩阵分块后满足矩阵乘法规则 9、三种矩阵初等行(列)变换:对调两行(列);以不为0的数字k乘以某行(列);不为0的k乘以某行(列)再加到另一行(列)上。 10、行阶梯型矩阵:可以画出一条阶梯线,线的下方全为0,且每个阶梯之后一行,台阶数即为非零行的行数。如下图,3个行阶梯的下方,全部为0。 11、行最简型矩阵,左上角是单位阵,是行阶梯型矩阵的更简形式: 12、通过增广矩阵求解AX=B问题,通过将矩阵(A,B)化为行最简型(E,X),可以求解此问题。 13、高斯消元法/高斯-若尔当消元法:我们可以利用类似12的方式求解齐次线性方程组(B=0,将A化为最简形)及非齐次线性方程组(B!=0)。而对于XA=B的问题,我们需要将(A/B)做初等列变换。 13、通过将矩阵化为行最简形,得到矩阵的秩R(A),其值等于最简形中非0行的行数。 14、关于方程组:若方程的个数多于未知数的个数,称为“超定方程组”;右侧全为0的方程组

涨姿势!一文了解深度学习中的注意力机制

早过忘川 提交于 2019-12-25 16:39:20
全文共 11413 字,预计学习时长 33 分钟 图源:Unsplash “每隔一段时间,就会出现一种能改变一切的革命性产品。” ——史蒂夫·乔布斯(SteveJobs) 这句21世纪最知名的言论之一与深度学习有什么关系呢? 想想看。计算能力的提升带来了一系列前所未有的突破。 若要追根溯源,答案将指向注意力机制。简而言之,这一全新概念正在改变我们应用深度学习的方式。 图源:Unsplash 注意力机制是过去十年中,深度学习研究领域最具价值的突破之一。 它催生了包括Transformer架构和Google的BERT在内的自然语言处理(NLP)领域的许多近期突破。如果你目前(或打算)从事NLP相关工作,一定要了解什么是注意力机制及其工作原理。 本文会讨论几种注意力机制的基础、流程及其背后的基本假设和直觉,并会给出一些数学公式来完整表达注意力机制,以及能让你在Python中轻松实现注意力相关架构的代码。 大纲 l 注意力机制改变了我们应用深度学习算法的方式 l 注意力机制彻底改变了自然语言处理(NLP)甚至计算机视觉等领域 l 本文将介绍注意力机制在深度学习中的工作原理,以及如何用Python将其实现 目录 1.什么是注意力? 1. 深度学习是如何引入注意力机制的 2. 了解注意力机制 2.使用Keras在Python中实现简单的注意力模型 3.全局与局部注意力 4

SVD分解技术详解

时光总嘲笑我的痴心妄想 提交于 2019-12-25 15:58:11
版权声明: 本文由LeftNotEasy发布于 http://leftnoteasy.cnblogs.com , 本文可以被全部的转载或者部分使用,但请注明出处,如果有问题,请联系 wheeleast@gmail.com 前言: 上一次写了关于 PCA与LDA 的文章,PCA的实现一般有两种,一种是用特征值分解去实现的,一种是用奇异值分解去实现的。在上篇文章中便是基于特征值分解的一种解释。特征值和奇异值在大部分人的印象中,往往是停留在纯粹的数学计算中。而且线性代数或者矩阵论里面,也很少讲任何跟特征值与奇异值有关的应用背景。奇异值分解是一个有着很明显的物理意义的一种方法,它可以将一个比较复杂的矩阵用更小更简单的几个子矩阵的相乘来表示,这些小矩阵描述的是矩阵的重要的特性。就像是描述一个人一样,给别人描述说这个人长得浓眉大眼,方脸,络腮胡,而且带个黑框的眼镜,这样寥寥的几个特征,就让别人脑海里面就有一个较为清楚的认识,实际上,人脸上的特征是有着无数种的,之所以能这么描述,是因为人天生就有着非常好的抽取重要特征的能力,让机器学会抽取重要的特征,SVD是一个重要的方法。 在机器学习领域,有相当多的应用与奇异值都可以扯上关系,比如做feature reduction的PCA,做数据压缩(以图像压缩为代表)的算法,还有做搜索引擎语义层次检索的LSI(Latent Semantic

协方差矩阵

十年热恋 提交于 2019-12-25 15:53:09
概念 协方差(Covariance)在概率论和统计学中用于衡量两个变量的总体误差。而方差是协方差的一种特殊情况,即当两个变量是相同的情况。 这个解释摘自维基百科,看起来很是抽象,不好理解。其实简单来讲,协方差就是衡量两个变量相关性的变量。当协方差为正时,两个变量呈正相关关系(同增同减);当协方差为负时,两个变量呈负相关关系(一增一减)。 而协方差矩阵,只是将所有变量的协方差关系用矩阵的形式表现出来而已。通过矩阵这一工具,可以更方便地进行数学运算。 数学定义 回想概率统计里面关于方差的数学定义: \[ Var(X)=\frac{\sum_{i=1}^n{(x_i-\overline x)(x_i-\overline x)}}{n-1} \] 协方差的数学定义异曲同工: \[ Cov(X,Y)=\frac{\sum_{i=1}^n{(x_i-\overline x)(y_i-\overline y)}}{n-1} \] 这里的 \(X\) , \(Y\) 表示两个变量空间。用机器学习的话讲,就是样本有 \(x\) 和 \(y\) 两种特征,而 \(X\) 就是包含所有样本的 \(x\) 特征的集合, \(Y\) 就是包含所有样本的 \(y\) 特征的集合。 协方差矩阵 两个变量的协方差矩阵 有了上面的数学定义后,我们可以来讨论协方差矩阵了。当然,协方差本身就能够处理二维问题

Tensorflow 学习之二

杀马特。学长 韩版系。学妹 提交于 2019-12-25 10:49:30
TensorFlow核心程序看作由两个不连续的部分组成: 构建计算图。 运行计算图。 构建计算图: import tensorflow as tf list1 = [[3.0,3.0]] list2 = [[2.0],[2.0]] matrix1 = tf.constant(list1) matrix2 = tf.constant(list2) product = tf.matmul(matrix1 , matrix2 ) 为了初始化TensorFlow程序中的所有变量,必须显式调用一个特殊的操作,如下所示: init = tf.global_variables_initializer() 现在构建图并初始化了所有变量,下一步是评估节点,您必须在会话中运行计算图。会话封装了TensorFlow运行时的控制和状态。 下面的代码创建一个Session对象,然后调用它的run方法来运行计算图来评估product with tf.Session() as sess:   sess.run(init)   print(sess.run([product])) 结果:[array([[ 12.]], dtype=float32)] 上面的代码将list转化为矩阵,然后矩阵乘法,然后打印矩阵。如果不按照上面创建Session对象,运行计算图的画,直接打印product的结果如下 <tf