我正在尝试从Wikipedia的Eigenface页面复制想法。从由数据矩阵$ \ bf X $表示的一百个样本图像(其中每个图像展平为长度为$ n $的向量,因此$ \ bf X $是$ 100 $ x $ n $矩阵),我计算出SVD分解:

\开始{等式}
\ bf X = U \ Sigma V ^ {T}
\ end {等式}

因此:

\开始{等式}
\ bf XX ^ {T} = U \ Sigma ^ 2 U ^ {T}
\ end {等式}

通过采用最大的$ q $本征模子集,我可以近似矩阵(让$ \ sigma_1 \ ge \ sigma_2 \ ge \ cdots $):

\ begin {等式}
{\ bf X} \ approx \ sigma_1 u_1 v_1 ^ {T} + \ sigma_2 u_2 v_2 ^ {T} + \ cdots + \ sigma_q u_q v_q ^ {T}
\ end {equation}

现在给定一个新的向量$ y $,它表示不在$ \ bf X $中的图像,如何确定$ q $特征向量$ \ bf U $的权重以最好地表示我的新图像图片$ y $?除病理情况外,此表示是否唯一?

简而言之,我想做的是这个操作(来自Wiki页面):


这些特征面现在可以用来表示现有的和新面孔:我们可以在特征面孔上投影新的(均值减去的)图像,从而记录新面孔与平均面孔的区别。


我该如何投影? br />

评论

将来的读者可能会发现此实现很有价值。

#1 楼

所谓的“投影”是矢量投影。要计算向量$ \ mathbf {a} $在向量$ \ mathbf {b} $上的投影,请使用两个向量的内积:

$$
\ mathbf {a_ {proj}} = \ langle \ mathbf {a},\ mathbf {b} \ rangle \ mathbf {b}
$$$

$ \ mathbf {a_ {proj}} $在这种情况下是$ \ mathbf {a} $的向量分量,位于$ \ mathbf { b} $。在欧几里得空间中,内积运算符定义为其点积:

$$
\ langle \ mathbf {a},\ mathbf {b} \ rangle = \ mathbf {a} \ cdot \ mathbf {b} = \ sum_ {i = 1} ^ {n} a_ib_i
$$

其中$ n $是向量$ \ mathbf {a} $和$ \ mathbf {b} $以及$ a_i $和$ b_i $的分量数向量$ \ mathbf {a} $和$ \ mathbf {b} $的$ i $分量。直观地,通过计算两个向量的内积,您会发现“多少”向量$ \ mathbf {a} $朝向量$ \ mathbf {b} $的方向移动。请注意,这是一个有符号的数量,因此负值将意味着两个向量之间的角度大于90度,如投影运算符的替代定义所示:

$$
\ mathbf {a_ {proj}} = | \ mathbf {a} | \ cos(\ theta)\ mathbf {b}
$$

其中$ \ theta $是两个向量之间的夹角。

因此,给定向量$ \ mathbf {a} $和一束在基本矢量$ \ mathbf {b_i} $中,可以发现“多少$ \ mathbf {a} $”在每个基本矢量的每个方向上移动。通常,那些基向量将全部相互正交。在您的情况下,SVD是正交分解,因此应满足此条件。因此,要完成您描述的内容,您将采用特征向量$ \ mathbf {U} $的矩阵,并使用矩阵的每个列计算候选向量$ \ mathbf {y} $的内积:

$$
p_i = \ mathbf {y} \ cdot \ mathbf {u_i}
$$

您从每个内积得到的标量值$ p_i $表示向量$ \ mathbf {y} $与第i个特征向量“对齐”的程度。由于特征向量是正交向量,因此您可以按如下方式重建原始向量$ \ mathbf {y} $:

$$
\ mathbf {y} = \ sum_ {i = 1} ^ n p_i \ mathbf {u_i}
$$

您问这种表示形式是否唯一;我不确定您的意思到底是什么,但是从一个给定的向量\\ mathbf {y} $可以通过投影到任意数量的正交基上可以分解的意义上来说,它并不是唯一的。矩阵$ \ mathbf {U} $中包含的特征向量就是一个这样的例子,但是您可以使用其他许多例子。例如,计算$ \ mathbf {y} $的离散傅立叶变换可以看作是将其投影到频率可变的复指数矢量的正交基础上。

评论


$ \ begingroup $
好的答案,谢谢!对于“唯一”,我指的是SVD给出的基础上的唯一。我猜想给定一个正交基准,那么您计算的$ \ bf y $必须是唯一的-但是如果该基准不是正交的,则可能不是唯一的(因为如果它们不是正交的,那么我们可以找到一个较小的基础集)?
$ \ endgroup $
–钩了
2012年5月1日15:39

$ \ begingroup $
仍不确定您要做什么。 $ \ mathbf {y} $是将新图像精简到的向量,因此它仅与原始图像一样独特,并且仅用于确定相应向量的过程。根据定义,向量空间基础由与线性无关的向量组成,这些向量强制具有相互正交性。您确实正确地注意到,如果将$ \ mathbf {y} $投影到一组非正交向量上,则如果向量跨越的空间的基础维数较小(基数较小),则可能会给出更紧凑的表示形式。
$ \ endgroup $
–Jason R
2012年5月2日,下午1:58