奇异值分解(Singular Value Decomposition,SVD)可以用于降维算法中特征分解,还可以用于推荐系统以及自然语言处理等领域。
特征值和特征向量
如下面公式所示,如果A是一个n*n的方阵,x是一个n维向量,则我们称 λ 是矩阵 A 的一个特征值,而x是特征值 λ 对应的特征向量。
因而,可以利用特征值和特征向量对矩阵进行特征分解。如果我们求出了矩阵A的n个特征值 λ1 ~ λn,以及这n个特征值对应的特征向量{w1,..., wn},如果n个特征向量线性无关,那么矩阵A可以表示为:
其中,W是n个特征向量组成的n*n维矩阵,而∑为这n个特征值为主对角线的n*n维矩阵。一般会把W的n个特征向量标准化,此时W的n个特征向量为标准正交基,也就是说W为酉矩阵。这样上面的公式可以表示为:
进行特征值分解时,矩阵A必须为方阵,如果A不是方阵,即行列数不同,我们可以借助SVD来操作。
SVD
SVD也是对矩阵进行分解,但其不要求被分解的矩阵必须为方阵,假设A是一个m*n的矩阵,那么其SVD分解形式为
其中,U是一个m*m的矩阵,∑是一个m*n的矩阵,除了主对角线上的元素,其它元素全为0,主对角线上的每个元素都称为奇异值,V是一个n*n的矩阵。U和V都是酉矩阵。其图形表示如下图。具体的计算过程参见https://www.cnblogs.com/pinard/p/6251584.html
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。