学习笔记DL004:标量、向量、矩阵、张量,矩阵、向量相乘,单位矩阵、逆矩阵

线性代数,面向连续数学,非离散数学。《The Matrix Cookbook》,Petersen and Pedersen,2006。Shilov(1977)。

标量、向量、矩阵、张量。

标量(scalar)。一个标量,一个单独的数。其他大部分对象是多个数的数组。斜体表示标量。小写变量名称。明确标量数类型。实数标量,令s∊ℝ表示一条线斜率。自然数标量,令n∊ℕ表示元素数目。

向量(vector)。一个向量,一列数。有序排列。次序索引,确定每个单独的数。粗体小写变量名称。向量元素带脚标斜体表示。注明存储在向量中元素类型。如果每个元素都属于R,向量有n个元素,向量属于实数集R的n次笛卡儿乘积构成集合,记ℝⁿ。明确表示向量元素,元素排列成一个方括号包围纵列。向量看作空间中点。每个元素是不同坐标轴上的坐标。索引向量元素,定义包含元素索引集合,集合写在脚标处。用符号-表示集合补集索引。

矩阵(matrix)。一个二维数组。每个元素由两个索引确定。粗体大写变量名称。如果实数矩阵高度为m,宽度为n,A∊ℝ⁽m*n⁾。表示矩阵元素,不加粗斜体形式名称,索引逗号间隔。A1,1表示A左上元素,Am,n表示A右下元素。“:”表示水平坐标,表示垂直坐标i中所有元素。Ai,:表示A中垂直坐标i上一横排元素,A的第i行(row)。右下元素。A:,i表示A的第i列(column)。明确表示矩阵元素,方括号括起数组。矩阵值表达式索引,表达式后接下标,f(A)i,j表示函数f作用在A上输出矩阵第i行第j列元素。

张量(tensor)。超过两维的数组。一个数组中元素分布在若干维坐标规则网络中。A表示张量“A”。张量A中坐标(i,j,k)元素记Ai,j,k。

转置(transpose)。矩阵转置,以对角线为轴镜像。左上角到右下角对角线为主对角线(main diagonal)。A的转置表为A⫟。(A⫟)i,j=Aj,i。向量可作一列矩阵。向量转置,一行矩阵。向量元素作行矩阵写在文本行,用转置操作变标准列向量来定义一个向量,x=[x1,x2,x3]⫟。标量可看作一元矩阵。标量转置等于本身,a=a⫟。
矩阵形状一样,可相加。对应位置元素相加。C=A+B,Ci,j=Ai,j+Bi,j。标量和矩阵相乘或相加,与矩阵每个元素相乘或相加,D=aB+C,Di,j=aBi,j+c。

深度学习,矩阵和向量相加,产生另一矩阵,C=A+b,Ci,j=Ai,j+bj。向量b和矩阵A每一行相加。无须在加法操作前定义一个将向量b复制到第一行而生成的矩阵。隐式复制向量b到很多位置方式,称广播(broadcasting)。

矩阵、向量相乘。

两个矩阵A、B矩阵乘积(matrix product)是第三个矩阵C。矩阵A列数必须和矩阵B行数相等。如果矩阵A的形状mn,矩阵B的形状是np,矩阵C的形状是mp。两个或多个矩阵并列放置书写矩阵乘法。C=AB。Ci,j=Sumk(Ai,kBk,j)。列乘行。两个矩阵对应元素乘积,元素对应乘积(element-wise product),Hadamard 乘积(Hadamard product),记A⊙B。两个相同维数向量x、y点积(dot product),矩阵乘积x⫟y。矩阵乘积C=AB计算Ci,j步骤看作A第i行和B的第j列间点积。矩阵乘积服务分配律(A(B+C)=AB+AC)、结合律(A(BC)=(AB)C)。不满足交换律(AB=BA)。两个向量点积满足交换律x⫟y=y⫟x。矩阵乘积转置 (AB)⫟=B⫟A⫟。两个向量点积结果是标量,标量转置是自身,x⫟y=(x⫟y)⫟=y⫟x。Ax=b,A∊ℝ⁽mn⁾是已知矩阵,b∊ℝ⁽m⁾是已知向量,x∊ℝⁿ是求解未知向量。向量x每个元素xi都未知。矩阵A第一行和b中对应元素构成一个约束。

单位矩阵、逆矩阵。

矩阵逆(matrix inversion)。单位矩阵(identity matrix),任意向量和单位矩阵相乘,都不会改变,保持n维向量不变的单位矩阵记In。In∊ℝ⁽n*n⁾。∀x∊ℝⁿ,Inx=x。单位矩阵结构简单,所有沿对角线元素都是1,其他位置所有元素都是0。矩阵A的矩阵逆记A⁽-1⁾,A⁽-1⁾A=In。求解式Ax=b,A⁽-1⁾Ax=A⁽-1⁾b,Inx=A⁽-1⁾b,x=A⁽-1⁾b。当逆矩阵A⁽-1⁾存在,能找到闭解形式。相同逆矩阵可用于多次求解不同向量b方程。逆矩阵A⁽-1⁾在数字计算机上只能表现出有限精度,有效用向量bt算法得到更精确x,逆矩阵A⁽-1⁾主要作理论工具。

参考资料:
《深度学习》

欢迎推荐上海机器学习工作机会,我的微信:qingxingfengzi
我有一个微信群,欢迎一起学深度学习。

上一篇:学习笔记CB001:NLTK库、语料库、词概率、双连词、词典


下一篇:学习笔记TF065:TensorFlowOnSpark