【机器学习】汇总详解:矩阵基本知识以及矩阵求导

1.矩阵的基本概念

1.1矩阵的迹(matrix trace)

存在方阵A=(aij)n×n,其主对角线上的所有元素的和,称为此方阵的迹,记作tr(A)

tr(A)=a11+a22+……+ann

tr(A)=∑aii,i=1,....,n

注:n阶方阵A,tr(A)也等于方阵A的所有特征值的和

1.2矩阵的代数余子式(alebraic cofactor)

    

1.3伴随矩阵A*(adjoint matrix)

    存在方阵A=(aij)n×n,则矩阵A*=(Aij)n×n称为矩阵A的伴随矩阵,

    【机器学习】汇总详解:矩阵基本知识以及矩阵求导_第1张图片

1.4行列式(determinant)

存在n阶方阵A=(aij)n×n,则其行列式可记作D=|A|=detA=det(aij)

1.5线性方程组有唯一解法则

又称克拉默法则,如果线性方程组的系数行列式不等于零,则此线性方程组有唯一解!

1.6零矩阵

如果一个矩阵的元素都是零,则此矩阵就是零矩阵。注:不同型的零矩阵不相等

1.7单位矩阵E

如果一个矩阵的主对角线上的元素都为1,而其他位置上的元素都为零,则此矩阵称为单位矩阵

E=diag(1,1,……,1)

1.8对角矩阵

如果一个矩阵的对角线上的不为零,而其他位置上的元素都为零,则此矩阵称为对角矩阵

对角矩阵=diag(λ1,λ2,……,λn),其中λi≠0。

1.9矩阵的幂

对象:n阶方阵A=(aij)n×n

k个n阶方阵A的乘积,可以表达为矩阵A的k次幂,记作AAA=A^3,AAAA=A^4等

1.10转置矩阵

对象:m×n的普通矩阵A=(aij)m×n

转置:把矩阵A的行换成同序数的列,得到的新矩阵就是A的转置矩阵,记作A^T,博客里为了方便表达记作A'

性质:

 A''=A

(A+B)'=A'+B'

(λA)'=λA'

(AB)'=B'A'

1.11对称阵

对象:n阶方阵A=(aij)n×n

概念:如果n阶方阵A的所有元素,以对角线为对称轴对称的元素相等,则称n阶方阵为对称阵。

记作:如果A'=A,则A为n阶对称阵

1.12n阶方阵的行列式

对象:n阶方阵A=(aij)n×n

性质:

1)|A'| = |A|

2)|λA| = λ^n|A|

3)|AB| = |A||B|,其中A和B都为n阶方阵矩阵A=(aij)n×n,B=(bij)n×n

4)对于n阶矩阵A和B,一般来说AB≠BA,但是总是有:|AB|=|BA|=|A||B|

5)AA*=A*A=|A|E,其中A*为伴随矩阵,E为n阶单位矩阵

6)|E|=1,单位矩阵的行列式等于1

1.13逆矩阵

对象:n阶方阵A和B,A=(aij)n×n,B=(bij)n×n

概念:如果AB=BA=E,其中E为n阶单位矩阵,则称A是可逆的,B为A的逆矩阵,简称逆阵,记作A^(-1)

性质:

1)可逆n阶方阵A的逆矩阵只有一个,因为B=BE=B(AC)=(BA)C=EC=C,所以B=C,所以A只有一个可逆矩阵

2)什么样的方阵可逆?

       如果|A|≠0,则n阶方阵A是可逆的。

3)逆阵A和伴随矩阵的关系?

        A^-1=A*/|A|

4)若A和B是同阶方阵且均可逆,则AB也可逆,并且:

        (AB)^(-1)=B^(-1)A^(-1)

5)若A可逆,则A'也可逆,且:

        (A')^(-1) = (A^(-1))'

6)若A可逆,则A*也可逆,且:

        (A*)^(-1) = (A^(-1))*

1.14奇异矩阵

|A|=0时,A称为奇异矩阵。

|A|≠0 与 A可逆 是充分必要条件,即可逆矩阵就是非奇异矩阵。

1.5线性方程组

a11x1 + a12x2 + ……+a1jxj+……+a1nxn = b1

a21x1 + a22x2 + ……+a2jxj+……+a2nxn = b2

                ……

am1x1 + am2x2 + ……+amjxj+……+amnxn = bm

1.16系数矩阵

线性方程组中系数组成的矩阵,A=(aij)m×n,称为系数矩阵

可简单记作A=(a1, a2, …ai…,an),其中ai为单列矩阵(ai1, ai2, ai3,……,ain)

1.17未知数向量

线性方程组中自变量x组成的列向量,X=(x1, x2, ……,xn)称为未知数向量

1.18常数项向量

线性方程组中最后端的常熟组成的列向量b=(b1, b2, ……,bm),称为常数项向量

1.19增广矩阵

B=(系数矩阵,常数项矩阵)=(A, b) = (a1, a2, ……,anb),即:

a11 a12 a13 …… a1n b1

a21 a22 a23 …… a2n b2

            ……

am1 am2 am3 …… amn bm

1.20梯度矩阵

标量y对矩阵Xm×n的导数,得到的就是梯度矩阵

dy/dX=(∂y/∂xij)m×n,i=1,2,……,m,j=1,2,……,n

展开就是

        ∂f/∂x11    ∂f/∂x12    ∂f/∂x13     ……    ∂f/∂x1n

      ∂f/∂x21    ∂f/∂x22    ∂f/∂x23     ……    ∂f/∂x2n

        ……        ……        ……        ……    ……

      ∂f/∂xm1    ∂f/∂xm2    ∂f/∂xm3   ……    ∂f/∂xmn

2.函数的基本概念

2.1实值函数

    如果一个函数f(x)的值域在实数范围内,则此函数f(x)称为是实函数,也叫实值函数。

2.2矩阵值函数

    如果一个矩阵A(x)m×n的每个元素a(x)ij都属于实数范围(a,b)内,则此矩阵A(x)m×n称为矩阵值函数。

    一般记A(x)m×n是实数区间(a,b)上m×n阶矩阵值函数,矩阵值函数中每个元素都满足:a(x)ij∈(a,b)

2.3向量值函数

    如果一个矩阵A(x)m×1的元素a(x)i1都属于实数范围(a,b)内,则此矩阵A(x)m×1称为向量值函数

    可知向量值函数是矩阵值函数的列等于1时的函数。

2.4矩阵函数(matrix function)

    如果一个函数的定义域和值域都是方阵,则此函数称为矩阵函数

3矩阵值函数的导数运算

如果一个矩阵A(x)m×n的每个元素a(x)ij都属于实数范围(a,b)内,则此矩阵A(x)m×n称为矩阵值函数

假设有矩阵值函数A(x),B(x),下面简单记作A,B,并用符号d(A)表示对矩阵值函数A进行x求导!

1)A(x)是常数矩阵的 充分必要条件是 dA(x)/dx = 0

2)d(A + B) = dA + dB

3)d(AB)= (dA)B + A(dB)

4.多元函数f(X)对矩阵X求导

如果f=f(X)作为X∈R^(p×q)的多元函数,且f是可微的,则多元函数f对矩阵X的导数为:

df/dX = (∂f/∂xij)p×q=

             ∂f/∂x11    ∂f/∂x12    ∂f/∂x13     ……    ∂f/∂x1q

              ∂f/∂x21    ∂f/∂x22    ∂f/∂x23    ……      ∂f/∂x2q

                 ……      ……        ……        ……      ……

              ∂f/∂xp1    ∂f/∂xp2    ∂f/∂xp3    ……     ∂f/∂xpq

也就是:X矩阵大小不变p×q,xij每个元素都换成f(X)对xij求导,得到的新矩阵,就是df/dX~~~~

此时得到的导数就是梯度矩阵~~~~~

5.多元函数f(x)对向量x的求导

如果f=f(x)是向量x∈R^n的多元函数,且f是可微的,则f对向量x的导数为:

df/dx = (∂f/∂x1,∂f/∂x2,∂f/∂x3,……,∂f/∂xn)

6标量y对标量x的求导

    直接写作:dy/dx

6标量y对矩阵X的求导

一般情况下,只用到标量对矩阵的求导~~~


7.向量A对标量x的求导

记作A=(a1, a2, a3,……,an),则向量A对标量x的求导为:

dA/dx=∂ai/∂x,i=1,2,……,n

dA/dx=(∂a1/∂x,∂a2/∂x,……,∂an/∂x)

8.矩阵对标量x的求导

矩阵A,标量x,则矩阵A的每个元素分别对标量x求导

dA/dx=∂aij/∂x,i=1,2,……,m,j=1,2,……,n

展开就是

        ∂a11/∂x    ∂a12/∂x    ……    ∂a1n/∂x

        ∂a21/∂x    ∂a22/∂x    ……    ∂a2n/∂x

        ……        ……        ……    ……

        ∂am1/∂x    ∂am2/∂x    ……    ∂amn/∂x

9.向量Y对向量X的求导

Y=(y1, y2, ……,ym),X=(x1,x2,……,xn)

dY/dX=(∂yi/∂xj)m×n,i=1,2,……,m,j=1,2,……,n

展开就是:

         ∂y1/∂x1    ∂y1/∂x2    ……    ∂y1/∂xn

         ∂y2/∂x1    ∂y2/∂x2    ……    ∂y2/∂xn

         ∂y3/∂x1    ∂y3/∂x2    ……    ∂y3/∂xn

         ……        ……        ……    ……

         ∂ym/∂x1    ∂ym/∂x2    ……    ∂ym/∂xn

10.矩阵Y关于向量X的求导

Y=(yij)m×n对向量X=xk,k=1,2,……,n的求导

dY/dX=(∂yij/∂xj)m×n,i=1,2,……,m,j=1,2,……,n

展开就是:

         ∂y11/∂x1    ∂y12/∂x2    ……    ∂y1n/∂xn

         ∂y21/∂x1    ∂y22/∂x2    ……    ∂y2n/∂xn

          ……         ……        ……  ……

         ∂yi1/∂x1      ∂yi2/∂x2    ……      ∂yin/∂xn

          ……        ……        ……    ……

         ∂ym1/∂x1    ∂ym2/∂x2    ……    ∂ymn/∂xn

11.常用导数总结

 假设有:a是实数,X、β是向量、A、B、C是和X无关的矩阵

 且X'、β'、A'、B'、C'分别表示各自矩阵的转置矩阵,这是为了方便表示用'替代了T

注释:为了方便书写博客,d(f(X))表示∂(f(X))/∂X,即f(X)对X的导数。

        1)d(β'X)=β,其中β'是β的转置矩阵

        2)d(X') = E

        3)d(XX') = 2X

        4)d(AD(X)B) = Ad(D(X))B

        5)d(X'AX)  = (A'+A)X

尝试用的矩阵的迹的公式有:

        1)tr(a) = a

        2)tr(AB) = tr(BA)

        3)tr(ABC) = tr(BCA) = tr(CAB)

        4)tr(A) = tr(A')

        5)dtr(AB) = dtr(BA) = B',            此处dtr(AB)含义是∂tr(AB)/∂A

        6)dtr(A'XB'))= dtr(BX'A))= AB,    其中A、B、X在此处都是矩阵,且A、B和矩阵X无关

        7)dtr(ABA'C)= CAB + C'AB',       此处dtr(ABA'C) 含义是∂tr(ABA'C)/∂A

        8)dtr(AXBX) = AX'B'  + B'X'A',    此处dtr(AXBX)含义是dtr(AXBX)/∂X

(end)

你可能感兴趣的:(人工智能,机器学习,跟我一起学机器学习,Machine,Learning)