掌握好线性导数对于理解和从事机器学习算法相关工作是很有必要的,尤其是对于深度学习算法而言。本文将会介绍机器学习中最常用到的线性代数知识
标量、向量、矩阵和张量
标量:一个标量就是一个单独的数,通常用斜体表示,并被赋予小写的变量名称 向量:一个向量是一列数。这些数是有序排列的。通过次序中的索引,可以确定每个单独的数。通常赋予向量粗体的小写变量名称,比如** $x$
**
矩阵:矩阵时一个二维数组,其中每一个元素都由两个索引所确定
张量:在某些情况下,我们会讨论超过两维的数组。一般的,一个数组中的元素分布在若干维坐标的规则网络中,称之为张量
转置是矩阵的重要操作之一。矩阵的转置是以对角线为轴的镜像,这条从左上角到右下角的对角线被称之为主对角线。矩阵A的转置通常被记为
向量可以看作只有一列的矩阵。对应地,向量的转置可以看作只有一行的矩阵。标量可以看作只有一个元素的矩阵,标量的转置等于它本身
只要矩阵的形状一样,介意把两个矩阵相加。两个矩阵相加是指对应位置的元素相加
标量和矩阵相乘,或者和矩阵相加时,只需将其与矩阵的每个元素相乘或相加,比如
在深度学习中,有时候会使用一些不那么常规的符号。比如,允许矩阵和向量相加,产生另一个矩阵:
矩阵和向量相乘
两个矩阵A和B的矩阵乘积是第三个矩阵C。为了使乘法可被定义,矩阵A的列数必须和矩阵B的行数相等。如果矩阵的形状是
矩阵乘积服从分配律:
服从结合律:
但不满足交换律,即下式并非总是满足:
矩阵乘积的转置:
单位矩阵和逆矩阵
任意向量和单位矩阵相乘,都不会改变,通常记为
矩阵A的逆矩阵记作
现在,可以通过以下步骤来求解方程:
线性相关和生成子空间
可以将方程A的列向量看作从原点出发的不同方向,确定有多少种方法可以到达向量b。在这个观点下,向量x中的每个元素表示应该沿着这些方向走多远,即
一般而言,这种操作称为线性组合
一组向量的生成子空间是原始向量线性组合后所能达到的点的集合
确定
为了使向量
不等式
要想矩阵可逆,还需要保证对于每一个b值至多有一个解。为此,需要确保该矩阵至多有m个列向量;否则,该方程会有不止一个解。也就是说,该矩阵必须是一个方阵,即m=n,并且所有列向量都是线性无关的。一个列向量线性相关的方阵被称为是奇异的
范数
在机器学习中,经常使用范数的函数来衡量向量大小。形式上,
其中,
直观上来说,向量
当p=2时,
平方
另外一个在机器学习中出现的范数是
在深度学习中,经常使用Frobenius范数,类似于向量的
两个向量的点击可以用范数来表示:
其中,
特殊类型的矩阵和向量
对角矩阵只在主对角线上含有非零元素,其它位置都是零。对角矩阵受到关注的部分原因是对角矩阵的乘法计算很高效。计算乘法
对称矩阵是转置和自己相等的矩阵,即:
单位向量是具有单位范数的向量,即:
如果
正交矩阵指行向量和列向量分别是标准正交的方阵,即
正交矩阵收到关注是因为求逆计算代价非常小
特征分解
特征分解是使用最广的矩阵分解之一,即将矩阵分解成一组特征向量和特征值。方阵A的特征向量是指与A相乘后相当于对该向量进行缩放的非零向量
其中标量
假设矩阵
不是每一个矩阵都可以分解成特征值和特征向量。在某些情况下,特征分解存在,但是会涉及复数而非实数。具体来讲,每个实对称矩阵都可以分解成实特征向量和实特征值:
其中,
虽然任意一个实对称矩阵
矩阵是奇异的,当且仅当含有零特征值
所有特征值都是正数的矩阵称为正定;所有特征值都是非负数的矩阵称为半正定。同样地,所有特征值都是负数的矩阵称为负定;所有特征值都是非正数的矩阵称为半负定。半正定矩阵受到关注是因为它们保证
奇异值分解
还有另一种分解矩阵的方法,叫做奇异值分解,是将矩阵分解为奇异向量和奇异值。每个实数矩阵都有一个奇异值分解,但不一定都有特征分解。例如,非方阵的矩阵没有特征分解,这是只能用奇异值分解
奇异值分解和特征分解类似,将矩阵
假设
对角矩阵
Moore-Penrose伪逆
对于非方阵而言,其逆矩阵是没有定义的。但可以计算伪逆
其中,矩阵
当矩阵A的列数多余行数时,使用伪逆求解线性方程式众多可能解法中的一种。特别地,当
迹运算
迹运算返回的是矩阵对角元素的和
多个矩阵相乘得到的方阵的迹,和将这些矩阵中的最后一个挪到最前面之后相乘的迹是相同的:
即使循环置换后矩阵乘积得到的矩阵形状变了,迹运算的结果依然不变
行列式
行列式,记作
行列式计算方法:主对角线元素乘积与副对角线元素乘积的差




