基础概念
矩阵在机器学习算法中经常作为辅助计算的存在,除此以外矩阵论本身就是一门独立的学科,在推荐场景下使用尤其广泛,这里有机会从头看看矩阵的相关知识,分享给代价,勾起大学的青葱回忆?
本节中我们将介绍一些矩阵的基础知识,和一些常用的表达,其实我们经常看论文会发现一些表达上比较生涩,我们很难看懂,导致我们整个论文都比较懵懵懂懂,所以这里的基础知识还是比较重要的,可能看着眼熟,但是就是想起不起是干什么的?这里也尽量的提醒大家,从大家走出校园的那一天就和理论知识老死不相往来了,因为工作中我们希望短平快的解决问题,希望大家有机会还能回到书本中,找到自己做事的依据,废话不多说咱们开始吧。
基础矩阵
主对角线的元素不为0,其他元素都为0的矩阵叫做**对角矩阵**,记作
$$D=diag(d_1, d_2,..., d_n)$$
如果对角线上的元素都为1, 那么它就是**单位矩阵**,一般使用符号$I$来表示,而对于所有元素都为0的矩阵为**零矩阵**,一般我们使用符号$O$.
对于一个列向量,只有一个元素为1,其他元素皆为0的元素我们称为**基本向量**
$n\times n$的单位向量可以使用n个基本向量来表示。$I=[e_1,e_2,...,e_n]$
矩阵切片
对于一个完整的矩阵来讲,如果表示某行某列呢?使用过numpy的同学肯定会有这样的困惑,总是截取不到自己想要的元素,其实在矩阵定义的时候已经说明了这一点了。
$A(i,:)$ : A的第i行
$A(:,j)$: A的第j列
$A(p:q,r:s)$: A的p行到q行,第r列到第s列组成的子矩阵。
矩阵的基本运算
矩阵加法
$$A+B= a[i][j]+b[i][j] $$
假设$\alpha$是一个标量,那么有如下标量与矩阵的乘法的计算公式
$$\alpha A=\alpha \times a_{ij}$$
矩阵乘法
一个矩阵是$m\times n$维矩阵A,和$r\times s$维矩阵B,如果矩阵A和矩阵B能够相乘的必要条件是$n=r$,并且相乘的结果为$m\times s$维。
$$a=a_{ik}$$
$$b=b_{kj}$$
$$AB=\sum_{k=1}^{n} ab$$
矩阵计算定律
$$A+B=B+A$$
$$A+B+C=A+(B+C)$$
$$ABC=A(BC)$$
$$(A+B)C=AC+BC$$
$$\alpha(A+B)=\alpha A + \alpha B$$
逆矩阵和转置矩阵
如果$A$矩阵可逆,是可以找到另一个矩阵$A^{-1}$,使得
$$AA^{-1}=I$$
对于A矩阵的共轭矩阵表示为$A^{C}$,共轭转置表示为$A^{H}$,矩阵的转置表示$A^{T}$,那么会有如下计算规则。
$$(A+B)^{C}=A^{C}+B^{C}$$
$$(A+B)^T=A^T+B^T$$
$$(A+B)^{H}=A^H+B^H$$
$$(AB)^T=B^TA^T$$
$$(AB)^H=B^HA^H$$
$$(AB)^{-1}=B^{-1}A^{-1}$$
幂等矩阵
如果$A$是一个幂等矩阵,那么$A$将满足如下条件,若$$A^2=AA=A$$,则有如下条件成立
$$A^n=A$$
$I-A$也是幂等矩阵
$A^H$是幂等矩阵
$I-A^H$是幂等矩阵
如果有一个幂等矩阵$B$,并且$AB=BA$,那么AB也是幂等矩阵
$A(I-A)=O$,$O$为零矩阵
函数$f(sI+tA)=(I-A)f(s)+Af(s+t)$
对合矩阵
如果矩阵$A$是对合矩阵或是幂单矩阵,若$$A^2=AA=I$$
若A是对合矩阵那么有如下性质。
$$f(sI+tA)=\frac{1}{2} [I+A] f(s+t)+(I-A)f(s-t)$$
幂等矩阵合和对合矩阵有什么关系呢?
如果矩阵A是对合矩阵,当且仅当$\frac{1}{2}(A+I)$是幂等矩阵
向量的线性无关性
如果表达式$a_1x_1+a_2x_2+..+a_nx_n=b$,写成矩阵的表达形式为$Ax=b$,若只有零解,$a_1=a_2=..=a_n=0$成立,那么就称向量$a$和$x$线性无关,反之则成为线性相关。
对于$n\times n$的矩阵$A$,如果$Ax=0$是非奇异的,当且仅当$Ax=0$只有一个零解,$x=0$。如果存在非零解,则是奇异的。