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

来源:互联网 发布:数据可视化图片 编辑:程序博客网 时间:2024/05/22 14:14

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


1 线性方程组

1.1 线性方程组

a1x1+a2x2++anxn=b

其中x1,x2,,xn是未知数,a1,a2,,anb是实数或者复数

1.2 向量

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

u1u2un

1.3 线性组合

  • 给定Rn中向量ν1,ν2,,νp和标量c1,c2,,cp,向量
    y=c1ν1+c2ν2++cpνp

    称为向量ν1,ν2,,νpc1,c2,,cp为权的线性组合。
  • Am×n矩阵,它的各列为a1,a2,,an,若xRn中的向量,则Ax的积,记为Ax,就是A的各列以x中对应元素为权的线性组合,即:
    Ax=[a1a2an]x1x2xn=x1a1+x2a2++xnan

1.4 Span

  • 若向量ν1,ν2,,νpRn中的向量,则ν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}的集合意义,若RnR3,那么前者是三维空间的一条直线,后者是三维空间一个平面。

1.5 线性变换

RnRm的一个变换(或称函数、映射)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的乘法逆是31,满足方程331=1313=1

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

    AC=ICA=I

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

    AA1=IA1A=I

    一个例子:

2.5 LU分解

  • 定义
    如下所示:

    A=1010010001000000000

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

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

    {Ly=bUx=y

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

2.6 行列式

  • 克拉默法则
    看下例子,解如下方程组:
    {3x12x2=65x1+4x2=8

    按照Ax=b型,得如下:
    A=[3524]A1(b)=[6824]A2(b)=[3568]
    由于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=[65],则:

Au=[1562][65]=[2420]=4[65]=4u

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

4.3 三角矩阵特征值

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

AλI=a1100a12a220a13a23a33λ000λ000λ=a11λ00a12a22λ0a13a23a33λ

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

A=300600862,B=425013004

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

4.4 应用

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

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


5 正交性

5.1 内积

u=u1u2unv=v1v2vn

内积就是:
uv=uTv=[u1u2un]v1v2vn=u1v1+u2v2++unvn

5.2 向量的长度(范数)

  • 向量v的长度,也就是范数,是非负数v,定义为:
    v=vv=v21+v22++v2nv2=vv
  • 假若vR2中的向量,v的值和平面到内原点v的线段的长度一直。
  • L0范数:向量中非0的元素的个数
  • L1范数:向量中各个元素绝对值之和,也有个美称叫“稀疏规则算子”
    x1=|x1|+|x2|++|xn|
  • L2范数:
    x2=(|x21|+|x22|++|x2n|)1/2

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

5.3 Rn空间中的距离

  • 向量uv的距离,记作dist(u,v)=uv
  • 距离的定义和欧几里得空间中点的距离公式一致,其中二维空间,dist(u,v)=uv=(u1v1)2+(u2v2)2
  • 三维空间:
    dist(u,v)=uv=(u1v1)2+(u2v2)2++(u3v3)2

5.4 正交性

如果uv=0,则两个向量uv相互正交


6 正交投影

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

    y=ŷ +z

    此处ŷ 属于W且z属于W,实际上,如果{u1,u2,,up}是W的任意正交基,那么:
    ŷ =yu1u1u1u1++yupupupup

  • 正交投影几何解释:
    如下图R3空间,y的正交投影就是y1+y2的投影。


7 格拉姆-施密特法则

  • Rn中子空间的一个基{x1,x2,,xp},定义
    v1=x1
    v2=x2x2v1v1v1v1

    vp=xpxpv1v1v1v1xpvp1vp1vp1vp1
    那么{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̂ 使得

bAx̂ bAx

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


10 奇异值分解

通过一个例子来学习吧,偷懒截图了。求

A=122122
的一个奇异值分解:
这里写图片描述
这里写图片描述
这里写图片描述

点击这里讲得很好


总算断断续续把线性代数看了下,不过还是看得有些似懂非懂,等以后遇到了再继续看吧,不能一个问题死磕,把学习机器学习的劲头都搞没了,是不?主要还是了解概念,后续反正也会用python的数学库,加上机器学习的一些框架来玩。

原创粉丝点击