线性代数(机器学习基础)

一,奇异值分解

每个实对称矩阵A都可以进行特征值分解: 其中Q是正交矩阵,是对角矩阵。

据此可推出奇异值分解:

每个矩阵都可以表示成

其中A是m*n的矩阵,U是m*m的正交矩阵,D是m*n的对角矩阵,V是n*n的正交矩阵。

U的列向量叫A的左奇异向量,V的列向量叫A的右奇异向量,D的对角线上元素叫做A的奇异值。

如果一个方阵可以进行特征值分解,那么它的特征值分解和奇异值分解是相同的。

二,伪逆矩阵

1,伪逆矩阵

任意非0矩阵的伪逆矩阵:

用特征值分解可以得到它的等价定义:

其中对角矩阵 D 的伪逆矩阵是D的所有非零元素各自取倒数之后再转置得到的。

如果一个方阵有逆矩阵,那么它的逆矩阵和伪逆矩阵是相同的。

2,python求解

A = [[1,2,3]]
u,d,vt = linalg.svd(A)
print(u)
print(d)
print(vt)

输出;

[[-1.]] [3.74165739] [[-0.26726124 -0.53452248 -0.80178373] [-0.53452248 0.77454192 -0.33818712] [-0.80178373 -0.33818712 0.49271932]]

3,伪逆矩阵的性质

对于m行n列的矩阵A,如果n>=m,则

4,伪逆矩阵的应用——求方程组的解

如果方程组的秩小于变量个数,那么就有无穷多解,

用Ax=b表示方程组,用伪逆矩阵可以求出一个解

而且,这个解是所有解中,欧几里得范数最小的解。

三,向量微分

1,标量对向量的微分

假设有一个n维向量x,和一个n元函数y=f(x),y是标量

y对x的微分是列向量还是行向量,取决于x是列向量还是行向量。

比如x是列向量,则

2,向量对向量的微分

假设有一个n维向量x,和n维向量y,其中y的每个元素都是关于x的n个元素的n元函数,

用向量微积分表示dy/dx有两种方式:分子布局和分母布局。

分子布局是列向量/行向量,分母布局是行向量/列向量。

不妨设x和y都是列向量,分子布局就是

其中的每一个都是一行,即标量对行向量的微分

分母布局就是

其中的每一个都是一列,即标量对列向量的微分

3,向量微分的计算方法

如x是列向量:

经验分享 程序员 微信小程序 职场和发展