:线性代数

Posted HERODING23

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了:线性代数相关的知识,希望对你有一定的参考价值。

深度学习——第二章:线性代数

前言

深度学习(deep learning)作为深度学习领域的殿堂级作品,囊括了数学领域包括线性代数、概率论、信息论等知识,以及机器学习中的相关内容,同时还介绍了工业界实践者用到的深度学习技术,是深度学习领域最为全面、权威的著作,笔者对于这本书早有耳闻,但是因为其内容充实、数学公式较多一直未敢涉足,借这个夏天的空闲时光,拜读这部作品,希望有所收获。本篇博客内容涉及花书第二章内容,主要介绍机器学习的重要的数学武器——线性代数。


线性代数

线性代数广泛应用于科学和工程中。面向连续数学,是学习机器学习相关知识的必备武器。

1. 标量、向量、矩阵和张量

标量: 一个单独的数,通常用斜体表示。
向量: 一列数,有序排列。通常用小写粗体表示,如x。如果向量中每个元素都属于 R \\mathbbR R,并且该向量有n个元素,那么该向量属于实数集 R \\mathbbR R的n次笛卡尔乘积构成的集合,记为 R n \\mathbbR^n Rn。向量也可以看做空间上的点,每个元素是不同坐标轴的坐标。符号-表示补集索引, x − 1 x_-1 x1表示除了 x 1 x_1 x1外的所有元素。
矩阵: 二维数组,每个元素由两个索引确定。通常赋予矩阵粗体的大写变量名称,比如 A A A。如果一个实数矩阵高宽为m和n,那么就说 A ∈ R m × n A\\in \\mathbbR^m\\times n ARm×n。“:”表示某行或者某列的所有元素。
张量: 一个数组中的元素分布在若干维坐标的规则网格中,称之为张量。

转置操作是矩阵重要操作。以对角线为轴镜像。
矩阵的形状如果相同,可以进行标量加法,标量乘法就是矩阵每个位置的元素与标量相乘。
在深度学习中,允许矩阵和向量相加,产生另一个矩阵,换言之,即向量和矩阵的每一行相加,这种隐式复制向量到很多位置的方式称为广播

2. 矩阵和向量相乘

两个矩阵 A A A B B B相乘,为了使乘法可被定义,矩阵 A A A的列数一定要和矩阵 B B B的行数相等。如果 A A A的形状是 m × n m \\times n m×n B B B的形状是 n × p n \\times p n×p,那么乘积结果矩阵 C C C的形状是 m × p m \\times p m×p
C = A B C=AB C=AB
具体地,乘法操作定义为:
C i , j = ∑ k A i , k B k , j C_i,j=\\sum_kA_i,kB_k,j Ci,j=kAi,kBk,j
元素对应元素乘积: 又称Hadamard乘积,与两个矩阵标准乘积不同,表示为 A ⊙ B A\\odot B AB
两个相同维度的向量点积,可以看做矩阵乘积 x ⊤ y x^\\top y xy

矩阵乘积满足的数学规律:

  • 分配律
  • 结合律
  • 不满足交换律,但是两个向量的点积满足交换律 x ⊤ y = y ⊤ x x^\\top y=y^\\top x xy=yx
  • 矩阵乘积的转置 ( A B ) ⊤ = B ⊤ A ⊤ (AB)^\\top=B^\\top A^\\top (AB)=BA

3. 单位矩阵和逆矩阵

单位矩阵: 任意向量和单位矩阵相乘,都不会改变。将n维向量不变的单位矩阵记作 I n I_n In。形式上, I n ∈ R n × n I_n\\in \\mathbbR^n\\times n InRn×n
∀ x ∈ R n , I n x = x \\forall x\\in \\mathbbR^n,I_nx=x xRn,Inx=x
单位矩阵的结构很简单,所有沿主对角线的元素都是1,其他位置的所有元素都是0,如下图所示:

逆矩阵: 记作 A − 1 A^-1 A1,其定义的矩阵满足如下条件:
A − 1 A = I n A^-1A=I_n A1A=In
逆矩阵的用法在于计算线性方程组 A x = b Ax=b Ax=b中的向量 x x x

当然,前提条件是能否找到逆矩阵 A − 1 A^-1 A1

2.4 线性相关和生成子空间

如果逆矩阵 A − 1 A^-1 A1存在,那么式 A x = b Ax=b Ax=b肯定对于每个向量b恰好存在一个解。但对于方程组而言,对于b的某些值,可能不存在解,可能无限多个解,但不存在多于一个解但少于无限多个解的情况。这是因为如果 x x x y y y都是某方程组的解, 那么 z = α x + ( 1 − α ) y z=\\alpha x+(1-\\alpha)y z=αx+(1α)y也是方程组的解( α \\alpha α取任意实数),z的形式可以很多种。

A的列向量可以看做从原点出发的不同方向,从而确定有多少种方法可以达到向量b。在这种观点下,向量 x x x中的每个元素表示我们应该沿着这些方向走多远,即 x i x_i xi表示我们需要沿着第 i i i个向量方向走多远。
A x = ∑ i x i × A : , i Ax=\\sum_ix_i \\times A_:,i Ax=ixi×A:,i
这种操作称为线性组合。形式上,一组向量的线性组合,是指每个向量乘以对应标量系数之后的和,即
∑ i c i v ( i ) \\sum_ic_iv^(i) iciv(i)
一维向量的生成子空间,是原始向量线性组合后所能抵达的点的集合。

所以确定 A x = b Ax=b Ax=b是否有解,即确定向量 b b b是否在 A A A的列向量生成子空间中。这个特殊的生成子空间又称为 A A A的列空间或者 A A A的值域。

为了使方程\\mathbbR^m对于任意向量 b ∈ R m b\\in \\mathbbR^m bRm都存在解,要求 A A A的列向量空间构成整个 R m \\mathbbR^m Rm。如果 R m \\mathbbR^m Rm中的某一个点不在 A A A的列向量空间中,那么该点对应的 b b b无解。这就要求 A A A至少有m列,否则 A A A的列空间维度小于m。 n ⩾ m n\\geqslant m nm仅是方程对每一点都有解的必要条件,因为向量可能相同,出现冗余,这种冗余即线性相关

线性无关: 如果一组向量中的任意一个向量都不能表示成其他向量的线性组合,则成为线性无关,反之为线性相关。

充要条件: 因此,如果一个矩阵的列空间涵盖整个 R m \\mathbbR^m Rm,那么该矩阵必须包含至少一组m个线性无关的向量。这才是 A x = b Ax=b Ax=b有解的充要条件。

可逆条件: 需要保证 A x = b Ax=b Ax=b对于每个 b b b至多一个解,为此,要确保该矩阵至多有m个列向量。

最终成立条件: 矩阵为方阵,并且所有列向量线性无关,这种矩阵称为非奇异矩阵

2.5 范数

范数用来衡量向量的大小。形式上, L p L^p Lp范数定义如下:
∣ ∣ x ∣ ∣ p = ( ∑ i ∣ ∣ x i ∣ ∣ p ) 1 p ||x||_p=(\\sum_i||x_i||^p)^\\frac1p ∣∣xp=(i∣∣xip)矩阵的迹相关性质

线性代数中的各种量理解:标量向量矩阵张量

线性代数总结

线性代数笔记:标量向量矩阵求导

矩阵的乘积/复合变换- 图解线性代数 05

机器学习中的线性代数