您的位置:首页 > 其它

机器学习笔记(三)矩阵和线性代数

2016-03-09 17:00 543 查看
@(Machine Learning)[线性代数]

1.行列式

1×11\times1方阵的行列式为该元素本身。

A=(a11)A=(a_{11}) |A|=a11|A| = a_{11}

2×22\times2方阵,其行列式用主对角线元素乘积减去次对角线元素的乘积。

A=(a11a21a12a22)A=\begin{equation}
\left(
\begin{array}{ccc}
a_{11} & a_{12} \\
a_{21} & a_{22}
\end{array}
\right)
\end{equation}

|A|=a11a22−a12a21|A| = a_{11} a_{22}- a_{12} a_{21}

3×33\times3阶方阵

A=⎛⎝⎜a11a21a31a12a22a32a13a23a33⎞⎠⎟A=\begin{equation}
\left(
\begin{array}{ccc}
a_{11} & a_{12}& a_{13} \\
a_{21} & a_{22} & a_{23}\\
a_{31} & a_{32}& a_{33}
\end{array}
\right)
\end{equation}

三阶矩阵发现a12a_{12}的对角线少一部分(也就是a23a_{23}的右下部分缺失)。一种方法是copy三个完全一样的矩阵做补充。



行列式计算方法是一样的:

|A|=a11a22a33+a12a23a31+a13a21a32−a11a23a32−a12a21a33−a13a22a31|A|=a_{11}a_{22}a_{33}+a_{12}a_{23}a_{31}+a_{13}a_{21}a_{32}-a_{11}a_{23}a_{32}-a_{12}a_{21}a_{33}-a_{13}a_{22}a_{31}

另一种方式就是利用代数余子式来计算

在一个nn阶行列式AA中,把(i,j)(i,j)元素aija_{ij}所在的第ii行和第jj列划去后,留下的n−1n-1阶方阵的行列式叫做元素aija_{ij}的余子式,记作MijM_{ij}。

代数余子式:Aij=(−1)i+jMijA_{ij}=(-1)^{i+j}M_{ij}

注意:代数余子式是个数值!

下图方框里计算的值便是a11a_{11}a12a_{12}的代数余子式M11M_{11},M12M_{12}





n阶的行列式等于它的任意一行(或列)的各元素与其对应的代数余子式乘积之和。

对于任意一列∀≤j≤n,|A|=∑i=1naij(−1)i+jMij\forall \leq j\leq n, |A| = \sum_{i=1}^n a_{ij}(-1)^{i+j}M_{ij}

对于任意一行∀≤i≤n,|A|=∑j=1naij(−1)i+jMij\forall \leq i\leq n, |A| = \sum_{j=1}^n a_{ij}(-1)^{i+j}M_{ij}

所以上面三阶方阵的行列式A就是:|A|=a11(a22a33−a23a32)+a12(a21a33−a23a31)+a13(a21a32−a23a31)|A|=a_{11}(a_{22}a_{33}-a_{23}a_{32})+a_{12}(a_{21}a_{33}-a_{23}a_{31})+a_{13}(a_{21}a_{32}-a_{23}a_{31})

2.伴随矩阵

对于n×nn\times n方阵的任意元素a_{ij}都有各自的代数余子式Aij=(−1)i+jMijA_{ij}=(-1)^{i+j}M_{ij},构造n×nn\times n的方阵A∗A^*:

A=⎛⎝⎜⎜⎜A11A12...A1nA21A22...A2n............An1An2...Ann⎞⎠⎟⎟⎟A=\begin{equation}
\left(
\begin{array}{ccc}
A_{11} &A_{21}&...& A_{n1} \\
A_{12} & A_{22}&... & A_{n2}\\
... & ...&... & ...\\
A_{1n} & A_{2n}&...& A_{nn}
\end{array}
\right)
\end{equation}

A∗A^*称为AA的伴随矩阵

注意:A12 A_{12}的位置和前面的是相反的,Aij A_{ij}位于A∗A^*的第jj行第ii列

3.方阵的逆A⋅A∗=|A|⋅IA\cdot A^* = |A|\cdot I

由前面的结论∀≤i≤n,|A|=∑j=1naij(−1)i+jMij\forall \leq i\leq n, |A| = \sum_{j=1}^n a_{ij}(-1)^{i+j}M_{ij}

根据:

A=⎛⎝⎜⎜⎜a11a21...an1a12a22...an2............a1na2n...ann⎞⎠⎟⎟⎟A=\begin{equation}\left(\begin{array}{ccc}a_{11} &a_{12}&...& a_{1n} \\a_{21} & a_{22}&... & a_{2n}\\... & ...&... & ...\\a_{n1} &a_{n2}&...& a_{nn}\end{array}\right)\end{equation} <> A∗=⎛⎝⎜⎜⎜A11A12...A1nA21A22...A2n............An1An2...Ann⎞⎠⎟⎟⎟ A^*=\begin{equation}\left(\begin{array}{ccc}A_{11} &A_{21}&...& A_{n1} \\A_{12} & A_{22}&... & A_{n2}\\... & ...&... & ...\\A_{1n} & A_{2n}&...& A_{nn}\end{array}\right)\end{equation}

- 两式相乘,其中AA的第一行与A∗A^*第一列相乘就是上面通式的a1j×M1ja_{1j} \times M_{1j}结果为|A||A|

所以A⋅A∗=⎛⎝⎜⎜⎜⎜|A|0...00|A|...0......|A|...00...|A|⎞⎠⎟⎟⎟⎟=|A|⋅I=>A−1=1|A|A∗A\cdot A^* =\begin{equation}
\left(
\begin{array}{ccc}
|A| &0&...& 0 \\
0& |A| &... & 0\\
... & ...&|A| & ...\\
0& 0&...&|A|
\end{array}
\right)
\end{equation}=|A|\cdot I=>A^{-1}=\frac{1}{|A|}A^*

A−1=1|A|A∗A^{-1}=\frac{1}{|A|}A^*仅当A有逆的时候成立

4.范德蒙行列式Vandermonde

给定nn个点,可以用(n−1)(n-1)阶的表达式把所有点都表示出来。



5.矩阵的乘法

AA为m∗sm*s阶的矩阵,BB为s∗ns*n阶的矩阵,那么,C=A∗BC=A*B是m∗nm*n阶的矩阵,其中cij=∑k=1saijbkjc_{ij}=\sum_{k=1}^s a_{ij}b_{kj}

我们把矩阵乘法的过程想象成:

cij=c_{ij} = 当前状态aija_{ij} * 它下一刻的状态bkjb_{kj}

bkjb_{kj}就看作是一个
状态转移矩阵


数学解释:

设一个初始概率分布π\pi(只是一个向量)

- 第n+1n+1代中处于第jj个阶层的概率为:

π(Xn+1=j)=∑i=1kπ(Xn=i)⋅P(Xn+1=j|Xn=i)\pi(X_{n+1}=j)=\sum_{i=1}^{k}\pi(X_n=i)·P(X_{n+1}=j | X_n = i)

=>πn+1=πn⋅P=>\pi^{n+1} = \pi^{n} · P

全概率公式:

第nn代处于1,2...n1,2...n个阶层 * 第i(1,2...n)i(1,2...n)层下第n+1n+1代为j的改率 得到一个n+1代处于第j个阶层的概率

因此,矩阵P即为(条件)概率转移矩阵。

第i行元素表示:在上一个状态为i时的分布概率。每一行元素的和为1.

这就可以看成矩阵乘法的一个解释。并且结论证

明,π\pi的初始分布对矩阵的计算影响不大,

矩阵和向量的乘法

AA为m∗nm*n阶的矩阵,XX为n∗1n*1阶的矩阵,则AxAx 为m∗1m*1的列向量,记y⃗ =A⋅x⃗ \vec y = A · \vec x

由于nn维列向量和n维空间的点一一对应,上式实际给出了从nn维空间的点到mm维空间的的线性变换。

旋转、平移

6.矩阵的秩

在m∗nm*n的矩阵A中,任取kk行kk列,不改变这k2k^2个元素在AA中的次序,得到kk阶方阵,称为矩阵AA的k阶子式

设在矩阵A中有一个
不等于
00的rr阶子式DD,且所有r+1r+1阶子式全等于00(如果存在的话),那么DD称为矩阵AA的最高阶非零子式,rr称为矩阵AA的秩,记作R(A)=rR(A) = r

如果一个矩阵|A|≠0|A| \neq 0那么可以说这个矩阵式满秩的

n∗nn * n的可逆矩阵,秩为n

矩阵的秩等于它的行列
向量组
的秩

6.1秩和线性方程组的解的关系



对于n元线性方程组Ax = b:

无解的充要条件是R(A)<R(A,b)R(A)

唯一解的充要条件是R(A)=R(A,b)=nR(A)=R(A,b)=n

Ax= 0的只有零解的充要条件是R(A)=nR(A)=n

无穷解的充要条件是R(A)=R(A,b)<nR(A)=R(A,b)

Ax= b有解的充要条件是R(A)=R(A,b)R(A)=R(A,b)

Ax= 0的非零解的充要条件是R(A)<nR(A)

6.2向量组

向量b能由向量组A:a1,a2,...,amA:a_1,a_2,...,a_m线性表示的充

要条件是矩阵A=(a1,a2,...am)A=(a_1,a_2,...a_m)的秩等于矩阵

B=(a1,a2,...am,b)B=(a1,a2,...am,b)的秩。

因为有解的条件是秩相等。

B=(a1,a2,...am,b)B=(a1,a2,...am,b) = (λ1a1,λ2a2,...λnam)(\lambda_1 a_1,\lambda_2 a_2,...\lambda_n a_m)

若向量组A与向量组B能相互线性表示,则称两个向量组等价。

6.3系数矩阵

将向量组A和B所构成的矩阵依次记做

A=(a1,a2,...,am)A=(a1,a2,...,am)和B=(b1,b2,...,bn)B=(b1,b2,...,bn),BB组能由AA组线性表示,即对每个向量bj,存在k1j,k2j,...kmjk_{1j} ,k_{2j},...k_{mj}使得

bj=k1ja1+k2ja2+⋯+kmjam=(a1 a2...am)⎛⎝⎜⎜⎜⎜⎜k1jk2j⋮kmj⎞⎠⎟⎟⎟⎟⎟b_j = k_{1j}a_1+k_{2j}a_2+\dots+ k_{mj}a_m=(a_1 ~~a_2...a_m)\left(
\begin{array}{c}
k_{1j} \\
k_{2j} \\
\vdots \\
k_{mj}
\end{array}
\right)

从而得到**系数矩阵**K(b1 b2…bn)=(a1 a2...am)⎛⎝⎜⎜⎜⎜k11 k12…k1nk21 k22…k2n⋮km1 km2…kmn⎞⎠⎟⎟⎟⎟(b_1~~ b_2 \dots b_n) = (a_1 ~~a_2...a_m) \left(
\begin{array}{c}
k_{11}~~k_{12} \dots k_{1n} \\
k_{21}~~k_{22} \dots k_{2n}\\
\vdots \\
k_{m1}~~k_{m2} \dots k_{mn}
\end{array}
\right)

由此可知,若C=A×BC=A\times B,则矩阵C的列向量能由A的列向量线性表示,B即为这一表示的系数矩阵。

对偶的,行向量也是如此

向量组B: b1,b2,...,bnb_1,b_2,...,b_n能由向量组A:a1,a2,...,amA: a_1,a_2,...,a_m线性表示的充要条件是矩阵A=(a1,a2,...,am)A=(a_1,a_2,...,a_m)的秩等于矩阵(A,B)=(a1,a2,...,am,b1,b2,...,bn)(A,B)=(a_1,a_2,...,a_m,b_1,b_2,...,b_n )的秩,即:R(A)=R(A,B)。R(A)=R(A,B)。

7.正交阵

若nn阶矩阵A满足ATA=IA^TA=I,称A为正交矩阵,简称正交阵。

AA是正交阵的充要条件:A的列(行)向量都是单位向量,且两两正交

AA是正交阵,X为向量,则Ax称作正交变换。

正交变换不改变向量长度。

7.1特征值和特征向量

A是n阶矩阵,若数λ\lambda和n维非0列向量满足Ax=λxAx = \lambda x,那么,数称为A的特征向值,x称为A的对应于特征值的λ\lambda特征向量。

根据定义,立刻得到(A−λI)x=0(A-λI)x = 0,令关于λλ 的多项式|A−λI||A-λI|为0,方程|A−λI|=0|A-λI|=0的根为AA的特征值;将根λ0λ_0带入方程组(A−λI)x=0(A-λI)x = 0 ,求得到的非零解,即λ0λ_0对应的特征向量。

设nn阶矩阵A=(aij)A=(aij)的特征值为λ1,λ2,...λnλ_1,λ_2,...λ_n,则

λ1+λ2+...+λn=a11+a22+…+annλ_1+λ_2+...+λ_n=a_11+a_22+…+a_nn

λ1 λ2… λn=|A|λ_1~~λ_2…~λ_n=|A|

矩阵A的主行列式的元素和,称作矩阵A的迹

推论:

不同特征值对应的特征向量,线性无关。

实对称阵的特征值也是实数。

实对称阵不同的特征值的特征向量正交:

证明:

令是对称矩阵为A, 它的两个不同的特征值λ1,λ2\lambda_1,\lambda_2对应的特征向量分别是μ1,μ2\mu_1,\mu_2;其中,λ1,λ2,μ1,μ2\lambda_1,\lambda_2,\mu_1,\mu_2都是实数或是实向量。

- 则有:Aμ1=λ1μ1 , Aμ2=λ2μ2A\mu_1 = \lambda_1\mu_1~,~A\mu_2 = \lambda_2\mu_2

- (Aμ1)T=(λ1μ1)T(A\mu_1)^T = (\lambda_1\mu_1)^T , 从而μT1A=λ1μT1\mu_1^TA=\lambda_1\mu_1^T对称阵转置还是本身

- 同乘μ2\mu_2: μT1Aμ2=λ1μT1μ2\mu_1^TA\mu_2=\lambda_1\mu_1^T\mu_2

- μT1Aμ2=μT1(Aμ2)=μT1λ2μ2=λ2μT1μ2\mu_1^TA\mu_2=\mu_1^T(A\mu_2)=\mu_1^T\lambda_2\mu_2=\lambda_2\mu_1^T\mu_2

- 所以:λ1μT1μ2\lambda_1\mu_1^T\mu_2=λ2μT1μ2=\lambda_2\mu_1^T\mu_2

- 故:(λ1−λ2)μT1μ2=0(\lambda_1-\lambda_2)\mu_1^T\mu_2=0

- 故λ1≠λ2\lambda_1 \neq \lambda_2 , 所以μT1μ2=0\mu_1^T\mu_2=0,所以μ1,μ2\mu_1 , \mu_2正交

####最终结论:

####设A为n阶对称阵,则必有正交阵P,使得P−1AP=PTAP=ΛP^{-1}AP=P^TAP = \Lambda

#####Λ \Lambda是以A的n个特征值为对角元的
对角阵


#####改变还称为“合同变换”,A和 Λ\Lambda互为合同矩阵。

7.2漂白/白化whitening

x=x=


计算观测数据x的n×n的对称阵的特征值和特征向量,用特征值形成对角阵D,特征向量形成正交阵U,则:x⋅xT=UTDUx\cdot x^T=U^TDU

- 解:令:x˜=UTD−0.5U⋅x\widetilde{x}= U^TD^{-0.5}U\cdot x

- 则:x˜⋅x˜T=(UTD−0.5U⋅x)(UTD−0.5U⋅x)T\widetilde{x} \cdot \widetilde{x}^T=(U^TD^{-0.5}U\cdot x)(U^TD^{-0.5}U\cdot x)^T

- =(UTD−0.5U⋅x)(xTUTD−0.5U)=(U^TD^{-0.5}U\cdot x)(x^TU^TD^{-0.5}U)对角阵D转置还是本身

- =UTD−0.5U⋅(xxT)UTD−0.5U=U^TD^{-0.5}U\cdot (xx^T)U^TD^{-0.5}U

- =UTD−0.5U⋅UTDU⋅UTD−0.5U=U^TD^{-0.5}U\cdot U^TDU\cdot U^TD^{-0.5}U

- =1=1

8.正定阵

对于nn阶方阵AA,若任意nn阶向量xx,都有xTAx>0x^TAx>0,则称AA是正定阵。

由一阶推广而来:x⋅a⋅x=ax2>0−−>a>0x\cdot a\cdot x = ax^2>0-->a>0

若条件变成xTAx≥0x^TAx \geq 0,则AA称作半正定矩阵。

正定阵的判定:

- 对称阵A为正定阵;

- A的特征值都为正;

- A的顺序主子式大于0;

思考:对于任意m×nm\times n的矩阵AA,证明ATAA^TA一定是半正定方阵。 —形成方阵

9.向量的导数

AA为m×nm\times n的矩阵,xx为n×1n\times 1的列向量,则AxAx为m×1m\times 1的列向量,记y⃗ =A⋅x⃗ \vec y = A \cdot \vec x

思考:∂y∂x= ?\frac{\partial y}{\partial x}=~?



结论的直接推广:

∂Ax⃗ ∂x⃗ =AT\frac{\partial A\vec x}{\partial\vec x}=A^T

∂Ax⃗ ∂x⃗ T=A\frac{\partial A\vec x}{\partial\vec x^T} = A

∂(xTA)∂x⃗ T=A\frac{\partial(x^TA)}{\partial\vec x^T} = A

9.2标量对向量的导数

A为n×nn\times n的矩阵,xx为n×1n\times 1的列向量

记 y=x⃗ T⋅A⋅x⃗ y = \vec x^T \cdot A \cdot \vec x (y没有箭头)

同理可得:∂y∂x=∂(x⃗ T⋅A⋅x⃗ )∂x⃗ =(AT+A)⋅x⃗ \frac{\partial y}{\partial x}= \frac{\partial(\vec x^T \cdot A \cdot \vec x)}{\partial \vec x}=(A^T+A)\cdot \vec x

若A为对称阵,则有∂(x⃗ Ax⃗ )∂x⃗ =2Ax⃗ \frac{\partial(\vec xA\vec x)}{\partial \vec x} = 2A\vec x

理论推导:

A=⎡⎣⎢⎢⎢a11a21…an1a12a22…an2…………a1na2n…ann⎤⎦⎥⎥⎥ x⃗ =⎛⎝⎜⎜⎜⎜x1x2⋮xn⎞⎠⎟⎟⎟⎟\begin{equation}
A=\left[
\begin{matrix}
a_{11}&a_{12}&\dots&a_{1n}&\\
a_{21}&a_{22}&\dots&a_{2n}\\
\dots&\dots&\dots&\dots\\
a_{n1}&a_{n2}&\dots&a_{nn}&
\end{matrix}
\right]
~~~~\vec x = \left(
\begin{array}{c}
x_{1} \\
x_{2} \\
\vdots \\
x_{n}
\end{array}
\right)
\end{equation}

有x⃗ T⋅A⋅x⃗ =(x1,x2.....xn)⋅(∑j=1na1jxj ∑j=1na2jxj ...∑j=1nanjxj)T\vec x^T \cdot A \cdot \vec x=(x_1,x_2.....x_n)\cdot(\sum_{j=1}^na_{1j}x_j~\sum_{j=1}^na_{2j}x_j~...\sum_{j=1}^na_{nj}x_j)^T

=∑ni=1⟮⟮∑nj=1aijxj⟯xi⟯=∑ni=1∑nj=1aijxixj=\sum_{i=1}^n\lgroup\lgroup\sum_{j=1}^na_{ij}x_j\rgroup x_i\rgroup=\sum_{i=1}^n\sum_{j=1}^na_{ij}x_ix_j

则:∂(x⃗ T⋅A⋅x⃗ )∂x⃗ =⟮∑j=1aijxj⟯+⟮∑j=1aijxj⟯=∑nj=1(aij+aji)xj\frac{\partial(\vec x^T \cdot A \cdot \vec x)}{\partial \vec x}=\lgroup \sum_{j=1} a_{ij}x_j\rgroup+\lgroup \sum_{j=1} a_{ij}x_j\rgroup = \sum_{j=1}^n(a_{ij}+a_{ji})x_j

也可以看成dax2dx=2ax\frac{dax^2}{dx}=2ax同理dxTAxdx=2Ax\frac{dx^TAx}{dx}=2Ax如果A是对称阵的话。

9.3标量对方阵求导数

A为n×nn\times n的矩阵,|A|为A的行列式,试计算∂|A|∂A\frac{\partial|A|}{\partial A}

解:

根据等式|A|=∑nj=1aij(−1)i+jMij|A|=\sum_{j=1}^na_{ij}(-1)^{i+j}M_{ij}

∂|A|∂A=∂(∑nj=1aij(−1)i+jMij)∂aij=(−1)i+jMij=A∗ji\frac{\partial|A|}{\partial A}=\frac{\partial (\sum_{j=1}^na_{ij}(-1)^{i+j}M_{ij})}{\partial a_{ij}} = (-1)^{i+j}M_{ij} = A^*_{ji}

可以看出对方阵求导就是解A的伴随矩阵

从而:∂|A|∂A=(A∗)T=|A|(A−1)T\frac{\partial|A|}{\partial A}=(A*)^T=|A|(A^{-1})^T

- 根据A⋅A∗=|A|⋅IA \cdot A^* = |A|\cdot I,第二个等式成立。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: