矩阵转置

机器学习 矩阵的基本运算

自作多情 提交于 2020-02-13 03:54:39
矩阵的基本概念 假设 a i j ∈ R , 其中 i = 1 , 2 , . . . , m ; j = 1 , 2 , . . . , n . 我们定义如下的行列式: A = ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ a 11 a 21 ⋮ a m 1 a 12 a 22 ⋮ a m 2 ⋯ ⋯ ⋯ a 1 n a 2 n ⋮ a m n ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ 是一个维数为 m × n 的实数矩阵。有时候我们会用如下的表达式来表示一个矩阵: A = [ a i j ] , i = 1 , 2 , . . . , m ; j = 1 , 2 , . . . , n 这表示一个 m 行 n 列的矩阵,下标的第一个数 i 表示行,第二个数 j 表示列。 列向量定义: 一个向量可以看成是只有一列的矩阵,所以,这里讨论的所有向量都默认为列向量。 符号定义: 矩阵用大写的粗体字母表示,比如矩阵 A , B , X , 而向量用小写的粗体字母表示,比如向量 a , b , x . 矩阵的转置: 矩阵 A 的转置为 A T . 矩阵的逆: 如果一个矩阵 A 存在逆矩阵,则该逆矩阵表示为 A − 1 . 矩阵的 determinant: 如果一个矩阵 A 是一个方阵,则它的determinant表示为 | A | 单位矩阵 表示为 I , 零矩阵 或 空矩阵 表示为 0 。 矩阵的迹: 如果一个矩阵是 n ×

R 基本函数总结

我只是一个虾纸丫 提交于 2020-02-11 09:49:05
基本 一、数据管理 vector:向量 numeric:数值型向量 logical:逻辑型向量 character;字符型向量 list:列表 data.frame:数据框 c:连接为向量或列表 length:求长度 subset:求子集 seq,from:to,sequence:等差序列 rep:重复 NA:缺失值 NULL:空对象 sort,order,unique,rev:排序 unlist:展平列表 attr,attributes:对象属性 mode,typeof:对象存储模式与类型 names:对象的名字属性 二、字符串处理 character:字符型向量 nchar:字符数 substr:取子串 format,formatC:把对象用格式转换为字符串 paste,strsplit:连接或拆分 charmatch,pmatch:字符串匹配 grep,sub,gsub:模式匹配与替换   三、复数 complex,Re,Im,Mod,Arg,Conj:复数函数   四、因子 factor:因子 codes:因子的编码 levels:因子的各水平的名字 nlevels:因子的水平个数 cut:把数值型对象分区间转换为因子 table:交叉频数表 split:按因子分组 aggregate:计算各数据子集的概括统计量 tapply:对“不规则”数组应用函数 数学 一、计算 +,

R语言:常用函数【转】

橙三吉。 提交于 2020-02-11 09:48:40
数据结构 一、数据管理 vector:向量 numeric:数值型向量 logical:逻辑型向量 character;字符型向量 list:列表 data.frame:数据框 c:连接为向量或列表 length:求长度 subset:求子集 seq,from:to,sequence:等差序列 rep:重复 NA:缺失值 NULL:空对象 sort,order,unique,rev:排序 unlist:展平列表 attr,attributes:对象属性 mode,typeof:对象存储模式与类型 names:对象的名字属性 二、字符串处理 character:字符型向量 nchar:字符数 substr:取子串 format,format C:把对象用格式转换为字符串 paste,strsplit:连接或拆分 charmatch,pmatch:字符串匹配 grep,sub,gsub:模式匹配与替换 三、复数 complex,Re,Im,Mod,Arg,Conj:复数函数 四、因子 factor:因子 codes:因子的编码 levels:因子的各水平的名字 nlevels:因子的水平个数 cut:把数值型对象分区间转换为因子 table:交叉频数表 split:按因子分组 aggregate:计算各数据子集的概括统计量 tapply:对“不规则”数组应用函数 数学相关计算 一、计算

R语言常用函数

元气小坏坏 提交于 2020-02-11 09:42:11
数据结构 一、数据管理 vector:向量 numeric:数值型向量 logical:逻辑型向量 character;字符型向量 list:列表 data.frame:数据框 c:连接为向量或列表 length:求长度 subset:求子集 seq,from:to,sequence:等差序列 rep:重复 NA:缺失值 NULL:空对象 sort,order,unique,rev:排序 unlist:展平列表 attr,attributes:对象属性 mode,typeof:对象存储模式与类型 names:对象的名字属性 二、字符串处理 character:字符型向量 nchar:字符数 substr:取子串 format,format C:把对象用格式转换为字符串 paste,strsplit:连接或拆分 charmatch,pmatch:字符串匹配 grep,sub,gsub:模式匹配与替换 三、复数 complex,Re,Im,Mod,Arg,Conj:复数函数 四、因子 factor:因子 codes:因子的编码 levels:因子的各水平的名字 nlevels:因子的水平个数 cut:把数值型对象分区间转换为因子 table:交叉频数表 split:按因子分组 aggregate:计算各数据子集的概括统计量 tapply:对“不规则”数组应用函数 数学相关计算 一、计算

matlab 基础

旧街凉风 提交于 2020-02-07 21:12:43
说明:用matlab语言编写的程序,称为M文件。M文件分为脚本文件和函数文件,扩展名均为.m。 注释:%注释文本 不等号:~= 它是一个易用的一元函数绘图函数 。特别是在绘制含有符号变量的函数的图像时,ezplot要比 plot 更方便。因为plot绘制图形时要指定自变量的范围,而ezplot无需数据准备,直接绘出图形。 Inf:∞无穷大 Nan:not a number不是数 符号说明 逗号:用来将矩阵中的行元素分开。(可用空格代替) 分号:用来将矩阵中的行分开。(可用回车键代替) 中括号[]:界定数组的首与尾。 小括号():表示指定的元胞。 大括号{}:表示元胞的内容。 冒号:相当于文字中的省略号。 数组 行数组:A=[1,2,3,4] 列数组:A=[1;2;3;4] 矩阵:A=[1,2,3;4,5,6;7,8,9] 创建数组 zeros(m) m阶全零方阵 zeros(m,n) m×n阶全零方阵 ones(m) m阶全1方阵 ones(m,n) m×n阶全1方阵 eye(m) m阶单位阵 定步长 生成法: x=a:t:b,t是步长,省略是为1。 定数 线性采样法: x=linspace(a,b,n),a与b是数组的第一个和最后一个元素,n是采样的总点数。 注意:1、 生成的都是行向量 2、linspace(a,b,n) 与 a:(b-a)/(n-1):b 等价 选取数组 A(

模型,视图,投影,平移,旋转,缩放六大矩阵

蹲街弑〆低调 提交于 2020-02-06 20:07:14
模型矩阵ModelMatrix 在Unity中,每一个GameObject上面都会有一个Transform,用来记录这个Object的position,rotation和scale. 这可以用另外三个矩阵表示。 视图矩阵ViewMatrix 视图矩阵用来将物体从世界坐标系转变为摄像机坐标系。 投影矩阵ProjectionMatrix 投影矩阵用来将物体从摄像机坐标系转变为屏幕坐标系。 --------------- 以上三个变换矩阵,取首字母就是mvpmatrix。这些矩阵实际计算每个需要再分解为3个矩阵,即平移,旋转,缩放。 其中旋转矩阵是正交矩阵。The orthogonal matrix,如果一个矩阵满足以下几个条件,则此矩阵就是正交矩阵: (1)是一个方阵 (2)转置矩阵等于逆矩阵 如果A为一个正交矩阵,则A满足以下条件: A的各行是单位向量且两两正交 A的各列是单位向量且两两正交 参考 https://blog.csdn.net/silangquan/article/details/50987196 https://blog.csdn.net/silangquan/article/details/50984641 https://blog.csdn.net/charlee44/article/details/102063461 http://www.opengl

matlab考试重点详解

谁说我不能喝 提交于 2020-02-06 09:56:22
  此帖是根据期末考试复习重点补充完成, 由于使用word编辑引用图片和链接略有不便, 所以开此贴供复习及学习使用。侵删 复习要点 第一章 Matlab的基本概念,名称的来源,基本功能,帮助的使用方法 1.基本概念和名称来源: MATLAB [1] 是美国 MathWorks 公司出品的商业 数学软件 , 用于算法开发、数据可视化、数据分析以及 数值计算 的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。 MATLAB是matrix&laboratory两个词的 组合 ,意为矩阵工厂(矩阵实验室) 2.基本功能:   2.1数值计算和符号计算功能   MATLAB以矩阵作为数据操作的基本单位,还提供了十分丰富的数值计算函数。   2.2绘图功能,matlab提供了两个层次的绘图操作。一种是对图形句柄,进行底层绘图操作。另一种是建立在低层绘图操作之上的高层绘图操作。   2.3编程语言   MATLAB具有程序结构控制、函数调用、数据结构、输入输出、面向对象等程序语言特征,而且简单易学、编程效率高   2.4MATLAB工具箱   MATLAB包含两部分内容:基本部分和各种可选的工具箱。   MATLAB工具箱分为两大类:功能性工具箱和学科性工具箱。 3.帮助的使用方法   3.1 帮助命令   MATLAB帮助命令包括help命令和lookfor命令。

17-正交矩阵和Gram-Schmidt正交化

橙三吉。 提交于 2020-02-02 19:27:41
一、正交矩阵  定义:Orthogonal Matrix (必为方阵) 如果$A^TA=AA^T=I$,则$n$阶实矩阵$A$称为正交矩阵  性质:   1)$A^T$是正交矩阵   2)$A$的各行是单位向量且两两正交   3)$A$的各列是单位向量且两两正交   4)|A|=1或-1   举例: 二、标准正交矩阵的优势   1)求解投影矩阵    在 投影矩阵章节 我们已经知道投影矩阵为: $P=A\left(A^{T} A\right)^{-1} A^{T}$   当矩阵A为标准正交矩阵Q时 ,由于正交矩阵与其转置的乘积为单位矩阵,则上式可以转化为: $P=QQ^{T}$   这样就将投影矩阵简单化了。   2)求解$Ax=b$    在 投影矩阵章节 我们已经知道: $\hat{x}=\left(A^{T} A\right)^{-1} A^{T} b$    当矩阵A为标准正交矩阵Q时 ,由于正交矩阵与其转置的乘积为单位矩阵,则上式可以转化为: $\hat{x}=Q^{T} b$ 三、Gram-Schmidt正交化   1) 二维情况    假设原来的矩阵为[a,b],a,b为 线性无关的二维向量 ,下面我们通过Gram-Schmidt正交化获得 标准正交矩阵   假设正交化后的矩阵为Q=[A,B],我们可以令$A=a$,$B$垂直于$A$,根据我们 在 前面所讲的投影

MATLAB入门(向量与矩阵基本操作)

旧街凉风 提交于 2020-02-01 10:14:16
MATLAB向量的创建 1、行向量 行向量有两种表示方法 %示例1 R1 = [1 2 3 4 5] R2 = [1,3,5,7,9] R = R1 + R2 %结果1 R1 = 1 2 3 4 5 R2 = 1 3 5 7 9 R = 2 5 8 11 14 2、列向量 %示例2 C = [9;1;8;2;7;3] %结果2 C = 9 1 8 2 7 3 矩阵 MATLAB的功能极其强大,其强大功能之一便是可以直接处理向量与矩阵。 %矩阵的创建 %3*3矩阵 X=[1 2 3;4 5 6;7 8 9] X = 1 2 3 4 5 6 7 8 9 %矩阵的转置 X1=X' >> X' ans = 1 4 7 2 5 8 3 6 9 %求矩阵的逆 %way1 I=[1 1 1]; I=diag(I) X2=I/X %way2 X2=inv(X) %矩阵转化为列向量 X3=X(:) >> X(:) ans = 1 4 7 2 5 8 3 6 9 来源: CSDN 作者: Yao_ch 链接: https://blog.csdn.net/weixin_43416601/article/details/104129261

推荐系统相关算法(1):SVD

一世执手 提交于 2020-02-01 06:41:30
http://www.cnblogs.com/FengYan/archive/2012/05/06/2480664.html 1. SVD简介 假如要预测Zero君对一部电影M的评分,而手上只有Zero君对若干部电影的评分和风炎君对若干部电影的评分(包含M的评分)。那么能预测出Zero君对M的评分吗?答案显然是能。最简单的方法就是直接将预测分定为平均分。不过这时的准确度就难说了。本文将介绍一种比这个最简单的方法要准上许多,并且也不算复杂的算法。 SVD(Singular Value Decomposition)的想法是 根据已有的评分情况,分析出评分者对各个因子的喜好程度以及电影包含各个因子的程度,最后再反过来根据分析结果预测评分 。电影中的因子可以理解成这些东西:电影的搞笑程度,电影的爱情爱得死去活来的程度,电影的恐怖程度。。。。。。SVD的想法抽象点来看就是将一个N行M列的评分矩阵R(R[u][i]代表第u个用户对第i个物品的评分),分解成一个N行F列的用户因子矩阵P(P[u][k]表示用户u对因子k的喜好程度)和一个M行F列的物品因子矩阵Q(Q[i][k]表示第i个物品的因子k的程度)。用公式来表示就是 R = P * T(Q) //T(Q)表示Q矩阵的转置 下面是将评分矩阵R分解成用户因子矩阵P与物品因子矩阵Q的一个例子。R的元素数值越大,表示用户越喜欢这部电影