您的位置:首页 > 其它

机器学习笔记--线性代数

2017-08-15 21:26 363 查看
谈到线性代数,只知道什么矩阵啊,向量啊,啥特征值,特征分解啊之类,也就知道些公式怎么用,概念也已经有些许模糊了。这里慢慢整理,吸收吧,毕竟线性代数对于后续的机器学习算法的理解还是非常重要的。

1 线性方程组

1.1 线性方程组

a1x1+a2x2+⋯+anxn=b

其中x1,x2,⋯,xn是未知数,a1,a2,⋯,an和b是实数或者复数

1.2 向量

仅含一列的矩阵称为列向量,简称向量.若n是正整数,Rn表示所有n个实数数列的集合,通常写成nx1列矩阵的形式:

⎡⎣⎢⎢⎢⎢u1u2⋮un⎤⎦⎥⎥⎥⎥

1.3 线性组合

给定Rn中向量ν1,ν2,⋯,νp和标量c1,c2,⋯,cp,向量

y=c1ν1+c2ν2+⋯+cpνp

称为向量ν1,ν2,⋯,νp以c1,c2,⋯,cp为权的线性组合。

若A是m×n矩阵,它的各列为a1,a2,⋯,an,若x是Rn中的向量,则A和x的积,记为Ax,就是A的各列以x中对应元素为权的线性组合,即:

Ax=[a1a2⋯an]⎡⎣⎢⎢⎢⎢x1x2⋮xn⎤⎦⎥⎥⎥⎥=x1a1+x2a2+⋯+xnan

1.4 Span

若向量ν1,ν2,⋯,νp是Rn中的向量,则ν1,ν2,⋯,νp的所有线性组合所成的集合用记号Span{ν1,ν2,⋯,νp}表示,称为由ν1,ν2,⋯,νp所生成(张成)的Rn的子集。

要判断向量b是否属于Span{ν1,ν2,⋯,νp},判断如下方程是否有解。x1ν1+x2ν2+⋯+xpνp=b

Span{ν} 和 Span{ν,u}的集合意义,若Rn是R3,那么前者是三维空间的一条直线,后者是三维空间一个平面。

1.5 线性变换

由Rn到Rm的一个变换(或称函数、映射)T是一个规则,它把Rn中每个向量x对应以Rm中的一个向量T(x).集Rn称为T的定义域,Rm称为T的余定义域(或取值空间)。对于Rn中的向量x,Rm中向量T(x)称为x(在T作用下)的像,所有像T(x)的集合称为T的值域。



2 矩阵运算

2.1 矩阵乘法

看下例子比较容易理解



2.2 矩阵的乘幂:

若A是n×n矩阵,k是正整数,则Ak表示k个A的乘积。其中A0是单位矩阵。

2.3 矩阵的转置

用AT表示,它的列由A的对应的行构成的,



2.4 矩阵的逆

实数3的乘法逆是3−1,满足方程3⋅3−1=1和3−1⋅3=1。

矩阵也需要类似两个方程都成立,一般n×n矩阵A可逆,存在AC=I且CA=I

I=In是n×n的单位矩阵,若A可逆,逆是唯一的,于是有:

AA−1=I且A−1A=I

一个例子:



2.5 LU分解

定义

如下所示:

A=⎡⎣⎢⎢⎢⎢1∗∗∗01∗∗001∗0001⎤⎦⎥⎥⎥⎥⎡⎣⎢⎢⎢⎢◼000∗◼00∗∗00∗∗◼0∗∗∗0⎤⎦⎥⎥⎥⎥

A=LU,其中L是m×m下三角矩阵,U是一个等价的 m×n阶梯矩阵。

当A=LU时,方程Ax=b可写成L(Ux)=b,把Ux写成y,求解:

{Ly=bUx=y

LU分解算法

偷个懒,不想写矩阵的公式了,太多了,就直接截个例子图吧,那些定义看着头疼,例子比较清晰

求矩阵的LU分解:







2.6 行列式

克拉默法则

看下例子,解如下方程组:

{3x1−2x2=6−5x1+4x2=8

按照Ax=b型,得如下:

A=[3−5−24],A1(b)=[68−24],A2(b)=[3−568]

由于A的行列式为detA=2,根据克拉默法则解得:

⎧⎩⎨⎪⎪x1=detA1(b)detA=24+162=20x2=detA2(b)detA=24+302=27

可以得出:

xi=detAi(b)detA,i=1,2,...,n

3 向量空间

一个向量空间是由一些被称为向量的对象构成的非空集合V

3.1 向量子空间

一个向量空间是由一个大的向量空间中适当的向量的子集所构成的。

列空间:A的各列的线性组合的集合,记作:ColA

零子空间:都是零向量组成的集合,写成:{0}

3.2 子空间的基

生成子空间的一个最小的有限集合就是基,Rn中的子空间H的一组基是H中一个线性无关集。

3.3向量的秩

矩阵A的秩是A的列向量的维数,记做rankA

3.4 马尔科夫链

概率向量:一个具有非负分量且各分量的数值相加等于1的向量,如:x0=[0.20.8]

随机矩阵:各列向量为概率向量的方阵

马尔科夫链:一个概率向量序列x0,x1,x2,⋯和一个随机矩阵P,使得x1=Px0,x2=Px1,x3=Px2,⋯可得一阶微分方程:xk+1=Pxk,k=0,1,2,⋯

4 特征向量与特征值

4.1 定义

A为n×n矩阵,x为非零向量,若存在数λ使Ax=λx成立,则称为λ为A的特征值,x称为对应于λ的特征向量。

4.2 例子

若A=[1562],u=[6−5],则:

Au=[1562][6−5]=[−2420]=−4[6−5]=−4u

故u是特征值为-4的特征向量。

4.3 三角矩阵特征值

三角矩阵的主对角线的元素是其特征值

A−λI=⎡⎣⎢⎢a1100a12a220a13a23a33⎤⎦⎥⎥−⎡⎣⎢⎢λ000λ000λ⎤⎦⎥⎥=⎡⎣⎢⎢a11−λ00a12a22−λ0a13a23a33−λ⎤⎦⎥⎥

(A−λI)=0有非平凡解,A的特征值为a11,a22,a33。

A=⎡⎣⎢⎢300600−862⎤⎦⎥⎥,B=⎡⎣⎢⎢4−25013004⎤⎦⎥⎥

由上述可知A的特征值为3,0,2;B的特征值为4,1。

4.4 应用

图像处理中的PCA方法,选取特征值最高的k个特征向量来表示一个矩阵,从而达到降维分析以及特征显示的方法,还有图像压缩的K-L变换。再比如很多人脸识别,数据流模式挖掘分析等方面。

知乎关于特征向量特征值的解释

5 正交性

5.1 内积

u=⎡⎣⎢⎢⎢⎢u1u2⋮un⎤⎦⎥⎥⎥⎥和v=⎡⎣⎢⎢⎢⎢v1v2⋮vn⎤⎦⎥⎥⎥⎥

内积就是:

u⋅v=uTv=[u1u2⋯un]⎡⎣⎢⎢⎢⎢v1v2⋮vn⎤⎦⎥⎥⎥⎥=u1v1+u2v2+⋯+unvn

5.2 向量的长度(范数)

向量v的长度,也就是范数,是非负数∥v∥,定义为:

∥v∥=v⋅v‾‾‾‾√=v21+v22+⋯+v2n‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾√且∥v∥2=v⋅v

假若v是R2中的向量,∥v∥的值和平面到内原点v的线段的长度一直。

L0范数:向量中非0的元素的个数

L1范数:向量中各个元素绝对值之和,也有个美称叫“稀疏规则算子” ∥x∥1=|x1|+|x2|+⋯+|xn|

L2范数:∥x∥2=(|x21|+|x22|+⋯+|x2n|)1/2

关于L0.L1.L2范数点击此更详细

5.3 Rn空间中的距离

向量u和v的距离,记作dist(u,v)=∥u−v∥

距离的定义和欧几里得空间中点的距离公式一致,其中二维空间,dist(u,v)=∥u−v∥=(u1−v1)2+(u2−v2)2‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾√

三维空间:

dist(u,v)=∥u−v∥=(u1−v1)2+(u2−v2)2++(u3−v3)2‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾√

5.4 正交性

如果u⋅v=0,则两个向量u和v相互正交

6 正交投影

若W是Rn的一个子空间,那么Rn中每一个向量y可以唯一表示

y=ŷ +z

此处ŷ 属于W且z属于W⊥,实际上,如果{u1,u2,⋯,up}是W的任意正交基,那么:ŷ =y⋅u1u1⋅u1u1+⋯+y⋅upup⋅upup

正交投影几何解释:

如下图R3空间,y的正交投影就是y1+y2的投影。



7 格拉姆-施密特法则

对Rn中子空间的一个基{x1,x2,⋯,xp},定义

v1=x1

v2=x2−x2⋅v1v1⋅v1v1



vp=xp−xp⋅v1v1⋅v1v1−⋯xp⋅vp−1vp−1⋅vp−1vp−1

那么{v1,v2,⋯,vp}是W的一个正交基。

标准正交基:就是把正交基给单位化。

8 矩阵的QR分解

如果m×n矩阵A的列线性无关,那么A可以分解为A=QR,其中Q是一个m×n矩阵,其列形成Col A的一个标准正交基,R是一个n×n上三角可逆矩阵且对角线上的元素为正数。

举个例子偷个懒,截个图:





9 最小二乘

如果m×n矩阵A和向量b属于Rm,Ax=b的最小二乘解是Rn中的x̂ 使得

∥∥b−Ax̂ ∥∥⩽∥b−Ax∥

看下知乎的解释:貌似还要结合概率的协方差,还没看到概率呢。

10 奇异值分解

通过一个例子来学习吧,偷懒截图了。求A=⎡⎣⎢⎢1−22−12−2⎤⎦⎥⎥的一个奇异值分解:







点击这里讲得很好

总算断断续续把线性代数看了下,不过还是看得有些似懂非懂,等以后遇到了再继续看吧,不能一个问题死磕,把学习机器学习的劲头都搞没了,是不?主要还是了解概念,后续反正也会用python的数学库,加上机器学习的一些框架来玩。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: