📜  特征向量计算和低秩近似

📅  最后修改于: 2022-05-13 01:58:06.993000             🧑  作者: Mango

特征向量计算和低秩近似

先决条件:特征值和特征向量

在深入研究涉及特征向量的计算背后的数学之前,让我们简要讨论一下特征值和特征向量究竟是什么。

特征值和特征向量:

“特征”这个词的意思是“特征”。一般而言,特征值和特征向量给出了矩阵或向量的特征。

特征向量它是由矩阵 X 表示的向量,当 X 与任何矩阵 A 相乘时,所得矩阵的方向与向量 X 保持相同。仔细观察图 1以查看特征向量的图形表示。

图 1:特征向量表示

在图 1 中,我们观察到以下标量变换:



\vec{v_1'} = 1.5 (\vec{v_1}) \\ \vec{v_2'} = 0.5 (\vec{v_2})

应用这些变换后,向量 v 1 ' 和 v 2 ' 与 v 1和 v 2 的方向相同。因此,根据我们的定义,这些被视为特征向量。但是合成向量 v 3 ' 与 v 3 的方向不同。因此它不能被视为特征向量。

特征值:它告诉我们特征向量被拉伸或缩小的程度。
在上述情况下,特征值将为1.50.5

计算特征向量

我们可以使用矩阵的特征方程(如先决条件文章中所述)计算任何矩阵的特征值,即:

|A - \lambda I|= 0

上述方程的根(即 λ的值)为我们提供了特征值。

使用获得的 λ 值,我们可以使用下面给出的等式找到相应的特征向量。

At\ \lambda=i\\ [A-iI ]X_i = 0


示例问题

为了更好地理解,请考虑以下示例。设一个 3×3 矩阵 X 定义为:

A = \begin{bmatrix}     1 & 0 & -1\\1 & 2 & 1\\2 & 2 & 3 \end{bmatrix}

找到与矩阵 A 对应的特征值和特征向量。

解决方案

1. 寻找特征值。

\\ det(A-\lambda I) = det(\begin{bmatrix}     1-\lambda & 0 & -1\\1 & 2-\lambda & 1\\2 & 2 & 3-\lambda \end{bmatrix}) = 0 \\ \implies (\lambda^3 - 6\lambda^2 +11\lambda -6) = 0 \\ \implies (\lambda - 1)( \lambda - 2)(\lambda -3) = 0 \\ \implies \lambda = 1,2,3

因此,获得的特征值为 1、2 和 3。

2. 寻找特征向量。

使用以上给出的公式中,我们将计算相应的本征矢量X Iλi各自值。

At\ \lambda = 1 \\ [A - (1)I]X_1 = 0 \\ \implies \begin{bmatrix}   1-1  & 0 & -1\\1 & 2-1 & 1\\2 & 2 & 3-1 \end{bmatrix} \begin{bmatrix}   x_1\\x_2\\x_3 \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \\ 0 \end{bmatrix} \\ \implies \begin{bmatrix}     0 & 0 & -1\\1 & 1 & 1\\2 & 2 & 2 \end{bmatrix} \begin{bmatrix}     x_1\\x_2\\x_3 \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \\ 0 \end{bmatrix} \\ On\ solving,\ we\ get\ the\ following\ equations: \\ x_3 = 0 (x_1) \\ x_1 + x_2 = 0 \implies x_2 = -x_1  \\ \therefore X_1 = \begin{bmatrix}   x_1\\-x_1\\ 0(x_1) \end{bmatrix} \\ \implies X_1 = \begin{bmatrix}   1\\-1\\0 \end{bmatrix}


Similarly, \\ for\ \lambda = 2 \\ X_2 = \begin{bmatrix}   -2\\1\\2 \end{bmatrix} \\ and \\ for\ \lambda = 3 \\ X_3 = \begin{bmatrix}   1\\-1\\-2 \end{bmatrix}

因此,我们获得了对应于每个 λ 值的特征向量 X 1 、X 2 、X 3 。

矩阵的秩:

(mxn) 矩阵的秩由矩阵中存在的线性独立行的数量决定。考虑下面给出的示例以便更好地理解。

A = \begin{bmatrix}     1 & 0 & 0\\0 & 1 & 0\\0 & 0 & 1 \end{bmatrix}

矩阵 A 的所有 3 行都是线性无关的。因此,等级 ( A ) = 3

B = \begin{bmatrix}     2 & 1 & 3\\3 & 2 & 0\\5 & 3 & 3 \end{bmatrix} \\

Rank (B) = 2。这是因为第 3 行依赖于 R 1和 R 2[R 3 <- R 1 + R 2 ]

一些重要的属性:

对于任何形状为 mxn 的矩阵 A,以下秩属性适用:

  1. 等级 (A) = 等级 (A T )
  2. Rank (BAC) = Rank (A) 条件是 B 和 C 是可逆矩阵。
  3. 等级(AB) ≤ min{ 等级(A) + 等级(B) }

在进入低秩近似之前,了解以下内容很重要:

  • 矩阵分解

任何具有秩 (A) = r 的形状为 mxn 的矩阵 A 在采用以下形式时都被称为因式分解:



A = BC^T
where, the shapes of the matrices are:
 
mat(A) -> m x n
mat(B) -> m x r 
mat(C) -> n x r
  • 低等级

如果 r << min {m,n} ,我们说矩阵 A 具有低秩。

低秩近似 (LRA)

基于以上两种讨论的方法,我们将 LRA 定义为:

对于形状为 mxn 且秩 (A) << min {m, n} 的矩阵 A,A 的低秩近似是找到另一个矩阵 B,使得秩 (B) ≤ 秩 (A)。直观上,我们倾向于看到矩阵 B 与输入矩阵 A 的线性相似程度。在数学上,LRA 是一个最小化问题,我们测量给定矩阵(数据)和近似矩阵(优化变量)之间的拟合。

上帝抵抗军的动机

让我们假设 3 个维度分别为 (50 x 40)、(50 x 10)、(40 x 10) 的矩阵 X、Y、Z,其中 rank(X) = 10。因此,根据矩阵分解,这三个矩阵是形式 A = BC T 。我们观察到:

Amxn = BmxrCTrxn

No of elements/pixels in mat(A) = (50 x 40) = 2000
while
No of elements/pixels in mat(BCT) = (50 x 10) + (10 x 40) = 900.

因此,通过使用低秩近似,我们可以大量减少输入数据的像素数量。 (在上述情况下,比输入图像少 1100 个像素)

LRA的应用

这种方法通常用于图像处理任务,其中输入图像(数据)非常大,需要在任何处理任务之前进行压缩。观察下面给出的同一个人的两张图像。

在 LRA 图像与输入图像之后

应用LRA后,我们可以通过丢弃一些不重要的像素来获得与原始图像非常相似的图像,从而也减小了图像的尺寸。这样做之后,处理如此大的数据集并对其执行各种预处理任务变得更加容易。