文章目录
- 矩阵和线性代数
- 矩阵
- SVD提法
- 举例
- 推导
- 代码
- 分解效果
- 方阵行列式
- 范德蒙行列式
- 作用
- 代数余子式
- 伴随矩阵
- 方阵的逆
- 矩阵乘法
- 模型
- 举例
- 概率转移矩阵
- 平稳分布:
- 向量乘法
- 矩阵的秩
- 秩与方程组的解
- 推论
- 向量组等价
- 系数矩阵
- 对C=AB重认识
- 正交阵
- 特征值和特征向量
- 性质
- 不同特征值对应特征向量
- 实对称阵
- 结论
- 漂白
- 正定阵
- 正定阵判定
- 标准正交基
- QR分解
- QR分解算特征值
- 代码
- LFM
- 矩阵求导
- 推导
- 推广
- 标量对向量求导
- 推导
- 标量对方阵求导
- 归纳 正交阵 正定阵 对称阵 对角阵 正交基
矩阵和线性代数
矩阵
SVD提法
1.奇异值分解是一种重要的矩阵分解方法,可以看作对称方阵在任意矩阵推广
1.1 Singular 突出的,奇特的,非凡的
1.2 似乎更应该称之为“优值分解”
2.假设A是一个
则存在一个分解使得:
通常将奇异值由大而小排列,这样,
3.与特征值,特征向量概念相对应:
举例
假设我们现在有矩阵A,需要对其做奇异值分解
然后分别对它们进行求特征向量得到U和V
求出其中特征值开根号由大到小排列得到
推导
抓大头,降维
代码
def restore(sigma,u,v,k): #奇异值,左特征向量,右特征向量print km=len(u)n=len(v[0])a=np.zeros((m,n))for k in range(k+1):for i in range(m):a[i]+=sigma[k]*u[i][k]*v[k]b=a.astype('uint8')Image.fromarray(b).save("svd_"+str(k)+".png")
分解效果
if __name__=="__main__":A=Image.open("son.png",'b'print Aoutput_path=r'.\SVD'if not os.path.exists(output_path):os.mkdir(output_path)a=np.array(A)print a.shapek=50u_r,sigma_r,v_r=np.linalg.svd(a[:,:,0]) u_g,sigma_g,v_g=np.linalg.svd(a[:,:,1])u_r,sigma_b,v_b=np.linalg.svd(a[:,:,2])plt.figure(figsize(10,10),facecolor='w')mp1.rcParams['font.sans-serif']=[u'simHei']mp1.rcParams['axes,unicode_minus']=Faisefor k in range(1,k+1):print kR=restorel(sigma_r,u_r,v_r,k)G=restorel(sigma_g,u_g,v_g,k) B=restorel(sigma_b,u_b,v_b,k)I=np.stack((R,G,B),axis=2)Image.fromarray(I).save('%s\\svd_%d.png'%(output_path,k))if k<=12:plt.subplot(3,4,k)plt.imshow(I)plt.axis('off')plt.title(u'奇异值个数:%d'%k)plt.suptitle(u'SVD与图像分解',fontsize=20)plt.tight_layout(0.3,rect=(0,0,1,0.92))plt.show()
方阵行列式
定义:方阵的行列式
1阶方阵行列式为元素本身
n阶方阵行列式等于它任一行(或列)各元素与其对应代数余子式乘积之和
范德蒙行列式
作用
证明矩阵是否有逆
:行列式为0或者非满秩时矩阵无逆。此时矩阵向量线性相关
代数余子式
伴随矩阵
如二阶(a,b) , (c,d)伴随矩阵为(d,-b),
(-c,a)即主对角线代数余子式不变,副对角线代数余子式交换位置
方阵的逆
主要方法是伴随矩阵法即在原矩阵基础上增加一个单位阵E增广矩阵,通过行变化得到左边为单位阵E而右边即为所求逆矩阵
矩阵乘法
模型
考虑某随机过程它的状态有n个,用1-n表示。记在当前时刻t时位于i状态,它在t+1时刻处于j状态概率P(i,j)=P(j|i):
即状态转移概率只依赖于前一个状态
马尔可夫模型
举例
假定按照经济状况将人群分成上、中、下三个阶层,用1、2、3表示。假定当前处于某阶层只和上一代有关,即:考察父代为第i阶层,则子代为第j阶层概率。假定如下转移概率矩阵:
概率转移矩阵
第n+1代中处于第j个阶层的概率为:
因此,矩阵P即为(条件)概率转移矩阵。
1.第i行元素表示:在上一个状态为i时分布概率,即:每一行元素和为1.
平稳分布:
当迭代足够多次的时候,多项分布至于转移矩阵有关而与初始概率无关。
从而,这是转移概率矩阵P的性质,而非初始分布的性质。事实上,上述矩阵P的n次幂,每行都是(0.286,0.489,0.225),n.>20
如果一个非周期马尔可夫随机过程具有转移概率矩阵P,且它的任意两个状态都是联通的,
事实上,下面两种写法等价:
同时,若某概率分布,说明
该多项分布是状态转移矩阵P的平稳分布;
线性方程xP=x的非负解为而唯一,因此是线性方程xP=x的唯一非负解
应用
向量乘法
A为mXn的矩阵,x为nX1的列向量,则Ax为mX1列向量,,
由于n维列向量和n维空间的点一一对应,上式实际给出了从n维空间点到m维空间点的线性变换
旋转,平移(齐次坐标下)
特殊的,若m=n 且Ax 完成了n维空间内线性变换
矩阵的秩
在mXn矩阵A中,任取k行k列,不改变这个元素在A中次序,得到k阶方阵,称为矩阵A的k阶子式。
显然,mXn矩阵A的k阶子式有个
设在矩阵A中有一个不等于0的r阶子式D,且所有r+1阶子式(如果存在的话)全等于0,那么D称为矩阵A最高阶非零子式,r称为矩阵A的秩,记作R(A)=r
- nXn可逆矩阵,秩为n
- 可逆矩阵称其为满秩矩阵,彼此列向量线性不相关,行列式不等于0
- 矩阵的秩等于列(行)向量组的秩
秩与方程组的解
对于n元线性方程组Ax=b
- 无解的充要条件是R(A)<R(A,b)
- 有唯一解充要条件是R(A)=R(A,b)=n
- 有无线多解充要条件是R(A)=R(A,b)<b
推论
Ax=0有非零解的充要条件是R(A)<n
Ax=b有解充要条件是R(A)=R(A,b)
向量组等价
能够相互线性表出
系数矩阵
对C=AB重认识
由此可知,若C=AXB,则矩阵C的列向量能由A的列向量线性表示,B即为这一表示的系数矩阵。
对偶的,若C=AXB,则矩阵C的列向量能由B的行向量线性表示,A即为这一表示的系数矩阵
正交阵
若n阶矩阵A满足A为正交矩阵,简称正交阵
A是正交阵的充要条件:A的列(行)向量都是单位向量,且两两正交
A是正交阵,x为向量,则Ax称作正交变换
正交变换不改变向量长度
特征值和特征向量
A是n阶矩阵,若数和n维非0列向量x满足,那么称其为A的特征值,x称为A对应于特征值的特征向量
性质
不同特征值对应特征向量
不同特征值对应特征向量,线性无关
实对称阵
性质:
元素以对角线为对称轴对应相等的矩阵。对称阵
实对称阵的特征值是实数
设复数λ为对称阵A的特征值,复向量x为对应的
特征向量,即Ax=λx(x≠0),
将实数λ带入方程组(A- λ I)x=0,该方程组为
实系数方程组,因此,实对称阵的特征向量
可以取实向量。
实对称阵不同特征值的特征向量正交
结论
设A为n阶对称阵,则必有正交阵P,使得
Λ是以A的n个特征值为对角元的对角阵。
对角矩阵(diagonal matrix)是一个主对角线之外的元素皆为0的矩阵。对角线上的元素可以为0或其他值。
该变换称为“合同变换”,A和Λ互为合同矩阵。
漂白
代码
def whitening(x):m=len(x)n=len(x[x])#计算x*x'xx=[[0.0]*n for tt in range(n)]for i in range(n):for j in range(i,n):s=0.0for k in range(m):s+=x[k][i]*x[k][j]xx[i][j]=sxx[j][i]=s#计算x*x'的特征值和特征向量lamda,egs=np.linalg.eig(xx)lamda=[1/math.sqrt(d)for d in lamda]#计算白化矩阵U'D^(-0.5)*Ut=[[0.0]*n for tt in range(n)]for i in range(n):for j in range(n):t[i][j]=lamda[j]*egs[i][j]whiten_matrix=[[0.0]*n for tt in range(n)]for i in range(n):for j in range(n):s=0.0for k in range(n):s+=t[i][k]*egs[j][k]whiten_matrix[i][j]=s#白化xwx=[0.0]*nfor j in range(m):for i in range(n):s=0.0for k in range(n):s+=whiten_matrix[i][k]*x[j][k]wx[i]=sx[j]=wx[:]
正定阵
对于n阶方阵A,若任意n阶向量x,都有
则称A是正定阵。
若条件变成,则A称作半正定阵
类似还有负定阵,半负定阵。
正定阵判定
对称阵A为正定阵;
A的特征值都为正;
A的顺序主子式大于0;
以上三个命题等价
顺序主子式
标准正交基
若向量空间的基是正交向量组,则称其为向量空间的正交基,若正交向量组的每个向量都是单位向量,则称其为向量空间的标准正交基
QR分解
对于m×n的列满秩矩阵A,必有:
其中(即列正交矩阵),R为非奇异上三角矩阵(类似方阵)。当要求R的对角线元素为正时,该分解唯一。
该分解为QR分解。可用于求解矩阵A的特征
值、A的逆等问题
QR分解算特征值
运用Q正交矩阵特点
代码
def is_same(a,b):n=len(a)for i in range(n):if math.fabs(a[i]-b[i])>1e-6:return Falsereturn Trueif __name__="__main__':a=np.array([0.65,0.26,0.07,0.15,0.67,0.18,0.12,0.36,0.52])n=math.sqrt(len(a))a=a.reshape((n,n))value,v=np.linalg.elg(a)times=0while(times==0)or(not is_same(np.diag(a),v):v=np.diag(a)q,r=np.linalg.qr(a)a=np.dot(r,q)times+=1print"正交阵:\n",qprint"三角阵:\n",rprint"近似阵:\n",aprint"次数:",times,"近似值:",np.diag(a)print"精确特征值:",value
LFM
def inverse(a):b=np.zeros_like(a)n=len(a)c=np.eye(n)alpha=1for times in range(200):for i in range(n):for j in range(n):err=c[i][j]for k in range(n):b[j][k]+=areturn b,k
矩阵求导
A为m×n的矩阵, x为n×1的列向量,则Ax
为m×1的列向量,
推导
推广
标量对向量求导
数对向量求导
推导
标量对方阵求导
归纳 正交阵 正定阵 对称阵 对角阵 正交基
对称阵:沿着对角线元素对称
对角阵:对角线有数据,其余为0