学习笔记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

我有一个微信群,欢迎一起学深度学习。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏各种机器学习基础算法

K-NN算法与K-Means算法的原理与区别(附带源码示例)

KNN算法 K-Means算法 目标  确定某个元素所属的分类 将已存在的一系列元素分类 算法类别 监督的分类算法 无监督的聚类算法 ...

2887
来自专栏编程

图像处理基础

作者简介 本文来自鲍骞月的投稿,主要讲解图像处理基础,欢迎大家积极留言,提出你的疑问或者建议,与投稿小伙伴交流。 GitHub地址:https://github...

1996
来自专栏李智的专栏

Python针对图像的基础操作

5. 返回目录中所有JPG 图像的文件名列表,直方图均衡化,平均图像,主成分分析等

1022
来自专栏刁寿钧的专栏

使用 Tensorflow 构建 CNN 进行情感分析实践

本次实验参照的是 Kim Yoon 的论文,代码放在我的 github 上,可直接使用。

2.4K1
来自专栏视觉求索无尽也

【Python】Numpy使用指南

Numpy是用来存储和处理大型矩阵,比Python自身的嵌套列表结构要高效的多,本身是由C语言开发。这个是很基础的扩展,其余的扩展都是以此为基础。

932

从程序员的角度看神经网络的激活功能

这篇文章是系列文章的第二部分,讨论使用Java以简单易懂的方式编程神经网络的方法。

2007
来自专栏素质云笔记

keras系列︱Sequential与Model模型、keras基本结构功能(一)

不得不说,这深度学习框架更新太快了尤其到了Keras2.0版本,快到Keras中文版好多都是错的,快到官方文档也有旧的没更新,前路坑太多。 到发文为止...

2.2K8
来自专栏PaddlePaddle

【进阶篇】RNN配置

编写|PaddlePaddle 排版|wangp 本教程将指导你如何在 PaddlePaddle 中配置循环神经网络(RNN)。本教程中,您将了解如何: 配置循...

4048
来自专栏机器之心

教程 | 从字符级的语言建模开始,了解语言模型与序列建模的基本概念

选自imaddabbura 机器之心编译 你有没有想过 Gmail 自动回复是如何进行的?或者手机在你输入文本时如何对下一个词提出建议?生成文本序列的通常方式是...

3125
来自专栏用户2442861的专栏

聚类算法原理及python实现

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haluoluo211/article/d...

704

扫码关注云+社区