矩阵

蛇形矩阵

自闭症网瘾萝莉.ら 提交于 2020-01-26 02:41:25
(一) 蛇形矩阵 在n*n的方阵里面填入1,2,3,......,n*n,要求填成蛇形。 例如n=4时方阵如下: 10 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4 上面的方阵中,多余的空格只是为了便于观察,不必严格输出。 题目中输入的n<=100. 1 #include <stdio.h> 2 #define maxN 100 3 int main(int argc, char *argv[]) 4 { 5 int a[maxN][maxN]={0},i,j,t; 6 int n; 7 int end; 8 scanf("%d",&n); 9 t=1; 10 i=0; 11 j=n-1; 12 a[i][j]=t; 13 14 t=2; 15 end=n*n; 16 while(t<end) 17 { 18 while( i+1<n && a[i+1][j]==0 ) { i++; a[i][j]=t; t++;} 19 while( j-1>=0 && a[i][j-1]==0 ) { j--; a[i][j]=t; t++;} 20 while( i-1>=0 && a[i-1][j]==0 ) { i--; a[i][j]=t; t++;} 21 while( j+1<n && a[i][j+1]==0 ) { j++; a[i][j]=t; t+

深度学习入门整理学习(二)

我是研究僧i 提交于 2020-01-26 01:08:08
深度学习入门 深度学习横跨矩阵论、概率论与数理统计、信息论、博弈论、最优化等理论,并融合机器学习、数据挖掘、大数据、人工智能等领域技术,是具有深度和广度的综合范例 数学基础 矩阵论 (1)正交矩阵 A为n阶方阵 如果矩阵A和矩阵A的转置矩阵相乘结果为n阶单位矩阵 正交矩阵在矩阵变换、对角化等方面发挥重要的作用。 (2)矩阵的行列式 矩阵A的行列式定义为 n为该排列的逆序数,k1,k2,k3…kn为自然数1,2,3…n的任一排列。上式有n!项求和,如果|A|不为0,则表示A为可逆矩阵(也称为非退化矩阵),此时存在唯一的n阶方阵B,使得AB=E,则记作B=A-1。 (3)矩阵的迹 矩阵A的迹定义为正对角线元素的和 (4)向量与矩阵求导 梯度方向是函数f(X)在X处增长最快的方向,即函数变化率最大的方向。 ①行向量元素求导 ②列向量对元素求导 ③矩阵对元素求导 都是对每个元素进行求导 概率论 ​ 数学期望 方差 (1)0-1分布 p p(1-p) (2)二项分布 np np(1-p) (3)泊松分布 λ λ (4)几何分布 1/p (1-p)/p2 (5)均匀分布 (a+b)/2 (a-b)2/12 (6)指数分布 λ 1/λ2 (7)正态分布 μ σ2 (8)χ2分布 n 2n 机器学习基础 (1)监督学习 主要解决分类、回归的问题 (2)无监督学习 ① 数据聚类 聚类中

BZOJ 1057. [ZJOI2007]棋盘制作

こ雲淡風輕ζ 提交于 2020-01-25 20:26:37
根据奇偶性,把x,y坐标加起来是奇数的位置翻转一下,就变成求最大01子矩阵了。 然后预处理出每个位置往上最长的01路径,每行用一个单调栈解决。 单调栈从栈底到栈顶维护每一个矩阵的高度和宽度,按高度递增维护。 当前高度如果小于栈顶的高度,那就将栈顶的矩阵更新答案,并且出栈,但是它的宽度是可以为当前高度的矩阵做贡献的,就是当前要加入栈的矩阵的宽度得加上这个要出栈的矩阵。 最后一列做完之后再清一下栈就行了。 #include <bits/stdc++.h> #define pii pair<int, int> #define fi first #define se second const int N = 2222; int a[N][N], dp[N][N], n, m, ans1, ans2; std::pii st[N]; void solve() { for (int i = 1; i <= n; i++) for (int j = 1; j <= m; j++) dp[i][j] = (a[i][j] ? dp[i - 1][j] + 1 : 0); for (int i = 1; i <= n; i++) { int top = 0; for (int j = 1; j <= m + 1; j++) { int w = 0; while (top && st[top].fi

OPENGL之矩阵

廉价感情. 提交于 2020-01-25 17:31:49
前面的若干重要概念中描述了OPENGL中的几个重要变换,而矩阵是线性代数中的重要数学工具,它被用来对这些变换进行数学上的实现。 矩阵主要有以下几种: 模型视图矩阵 :模型视图矩阵是个4*4的矩阵,代表经过变换的坐标系统, 我们可以用这个坐标系统放置物体并设置其方向 ,顶点坐标以单列矩阵的形式表示,乘以模型视图矩阵,产生与视觉坐标系统相对应的经过变换的新坐标( 顶点坐标*模型视图矩阵=与视觉坐标系统对应的新坐标 ) 对模型视图矩阵进行修改 以下是对 模型视图矩阵进行修改 的例子: 移动 : glTranslatef(GLfloat x,Glfloat y,GLfloat z); 例如: 若我们想将绘制对象沿着y轴向上移动10个单位, glTranslatef(0.0f,10.0f,0.0f)    旋转 glRotatef(GLfloat angle,GLfloat x,GLfloat y,GLfloat z)   解释:将绘制对象沿着向量(x,y,z)旋转angle度(旋转轴:(x,y,z),旋转角度(angle)) 缩放 glScalef(GLfloat x,GLfloat y,GLfloat z);   以上是对模型视图矩阵的修改,但是我们应该注意到, 这种对矩阵的修改是累加性的, 即第二次的修改是在第一次修改的基础上进行的,每一次的修改并非独立的, ,为了是每一次的修改独立

Matlab矩阵

匆匆过客 提交于 2020-01-25 13:26:28
1.矩阵的逆 2.矩阵的秩 3.其他函数 4.特征值与特征向量 特征值和特征向量 相似矩阵和平衡矩阵 5.矩阵对角化 判断是否可以对角化 6.矩阵标准型 来源: CSDN 作者: 金_大虾 链接: https://blog.csdn.net/qq_21835111/article/details/104069138

基于矩阵分解的推荐算法,简单入门

假装没事ソ 提交于 2020-01-25 10:14:15
基于矩阵分解的推荐算法,简单入门 转自:http://www.cnblogs.com/kobedeshow/p/3651833.html 本文将要讨论基于矩阵分解的推荐算法,这一类型的算法通常会有很高的预测精度,也活跃于各大推荐系统竞赛上面,前段时间的百度电影推荐最终结果的前10名貌似都是把矩阵分解作为一个单模型,最后各种ensemble,不知道正在进行的阿里推荐比赛( http://102.alibaba.com/competition/addDiscovery/index.htm ),会不会惊喜出现。。。。好了,闲话不扯了,本文打算写一篇该类型推荐算法的入门篇 目录 一,基于矩阵分解的推荐算法相关理论介绍 二,C++代码实现 三,总结跟展望一下 四,后续计划 一,基于矩阵分解的推荐算法相关理论介绍 我们知道,要做推荐系统,最基本的一个数据就是,用户-物品的评分矩阵,如下图1所示 图1 矩阵中,描述了5个用户(U1,U2,U3,U4 ,U5)对4个物品(D1,D2,D3,D4)的评分(1-5分),- 表示没有评分,现在目的是把没有评分的 给预测出来,然后按预测的分数高低,给用户进行推荐。 如何预测缺失的评分呢?对于缺失的评分,可以转化为基于机器学习的回归问题,也就是连续值的预测,对于矩阵分解有如下式子,R是类似图1的评分矩阵,假设N*M维(N表示行数,M表示列数)

转推荐算法——基于矩阵分解的推荐算法

北战南征 提交于 2020-01-25 10:13:39
推荐算法概述 对于推荐系统(Recommend System, RS),从广义上的理解为:为用户(User)推荐相关的商品(Items)。常用的推荐算法主要有: 基于内容的推荐(Content-Based Recommendation) 协同过滤的推荐(Collaborative Filtering Recommendation) 基于关联规则的推荐(Association Rule-Based Recommendation) 基于效用的推荐(Utility-Based Recommendation) 基于知识的推荐(Knowledge-Based Recommendation) 组合推荐(Hybrid Recommendation) 在推荐系统中,最重要的数据是用户对商品的打分数据,数据形式如下所示: 其中, U 1 ⋯ U 5 表示的是 5 个不同的用户, D 1 ⋯ D 4 表示的是 4 个不同的商品,这样便构成了用户-商品矩阵,在该矩阵中,有用户对每一件商品的打分,其中“-”表示的是用户未对该商品进行打分。 在推荐系统中有一类问题是对未打分的商品进行评分的预测。 目前推荐系统中用的最多的就是矩阵分解方法,在Netflix Prize推荐系统大赛中取得突出效果。以用户-项目评分矩阵为例,矩阵分解就是预测出评分矩阵中的缺失值,然后根据预测值以某种方式向用户推荐

WebGL Matrix4(4*4矩阵库)

為{幸葍}努か 提交于 2020-01-25 09:33:18
Matrix4是由<<WebGL编程指南>>作者写的提供WebGL的4*4矩阵操作的方法库,简化我们编写的代码。源代码共享地址,点击链接: Matrix4源代码 。 下面罗列了Matrix4库的所有方法: 1.setIdentity() 将Matrix4实例初始化为单位阵 2.setTranslate(x, y, z) 将Matrix4实例设置为平移变换矩阵,在x轴上平移的距离为x,在y轴上平移的距离为y,在z轴上平移的距离为z 3.setRotate(angle, x, y, z) 将Matrix4实例设置为旋转变换矩阵,旋转角度为angle,旋转轴为(x, y, z)。旋转轴(x,y,z)无需归一化 4.setScale(x, y, z) 将Matrix4实例设置为缩放变换矩阵,在三个轴上的缩放因子分别为x、y、z 5.translate(x, y, z) 将Matrix4实例生意一个平移变换矩阵(该平移矩阵在x轴上的平移距离为x,在y轴上的平移距离为y,在z轴上的平移距离为z),所得到的结果存储在Matrix4中 6.rotate(angle, x, y, z) 将Matrix4实例乘以一个旋转变换矩阵(该旋转矩阵旋转的角度为angle,旋转轴为(x、y、z)。旋转轴(x、y、z)无须归一化),所得的记过还存储在Matrix4中 7.scale(x, y, z)

python与matlab指定矩阵范围时冒号的区别

别来无恙 提交于 2020-01-25 08:14:33
python的冒号在指定范围时是含左不含右的,这点跟matlab不一样。 例:在python中,X[:, m:n],即取矩阵X的所有行中的的第m到n-1列数据含左不含右 。 而在matlab中,X[:, m:n],即取矩阵X的所有行中的的第m到n列数据含左也含右 。 来源: CSDN 作者: Wen62598741 链接: https://blog.csdn.net/weixin_44623330/article/details/104010656

GCN & NE

牧云@^-^@ 提交于 2020-01-25 07:55:05
GCN & NE 学科前沿课程任务 前言 在深度学习中,CNN、RNN是我们非常熟悉的面孔,他们在计算机视觉、自然语言处理等领域有着十分出色的表现。但是CNN处理的对象是二维图片,RNN处理的对象是一维序列,(欧氏空间,都是结构规则的数据)。对于社交网络、生物网络等图结构数据(结构十分不规则,没有平移不变性),CNN、RNN就无法处理了。 于是为了处理图结构数据就涌现出一批方法,如GNN、DeepWalk、node2vec等等。其中GNN中的代表是GCN,DeepWalk和Node2Vec属于Network Embedding。下面分别介绍GCN和Network Embedding及两者之间的相同与区别。 GCN介绍 GCN首次提出于ICLR2017 SEMI-SUPERVISED CLASSIFICATION WITH GRAPH CONVOLUTIONAL NETWORKS 优点:使用切比雪夫多项式的1阶近似高效完成了图卷积架构 缺点:卷积需使用整个图的拉普拉斯矩阵,图不能扩展 GCN用来提取图结构数据的特征,从而使用这些特征去对图数据进行节点分类(node classification)、图分类(graph classification)、边预测(连接预测)(link prediction),还可以得到图的嵌入表示(graph embedding)。 图1 Multi