奇異值分解(SVD)與主成分分析(PCA)

在線性代數(shù)中,奇異值分解(SVD)是實或復(fù)矩陣的分解,它在信號處理和統(tǒng)計學(xué)中有許多有用的應(yīng)用。[In linear algebra, the singular value decomposition (SVD) is a factorization of a real or complex matrix, with many useful applications in signal processing and statistics.]
形式上來說,mn階的實或復(fù)矩陣M的奇異值分解是形式如下的分解:[Formally, the singular value decomposition of an m×n real or complex matrix M is a factorization of the form]

[Singular Value Decomposition]

其中,U是一個m
m階的實或復(fù)單位陣,Σ是一個mn階的矩形對角陣,在對角線上有非負(fù)的實數(shù)值。V(V的共軛轉(zhuǎn)置)是一個nn的實或復(fù)單位陣。Σ的對角項Σij稱之為M的奇異值。U的m個列以及對應(yīng)的V的n個列被分別稱為M的左奇異矢量和右奇異矢量。[where U is anΣ的對角項 m×m real or complex unitary matrix, Σ is an m×n rectangular diagonal matrix with nonnegative real numbers on the diagonal, and V (the conjugate transpose of V) is an n×n real or complex unitary matrix. The diagonal entries Σi,iof Σ are known as the singular values of M. The m columns of U and the n columns of V are called the left-singular vectors and right-singular vectors of M, respectively.]
奇異值分解和特征值分解密切相關(guān),即:[The singular value decomposition and the eigendecomposition are closely related. Namely:]

  • M的左奇異矢量是MM的特征矢量。[The left-singular vectors of M are eigenvectors of MM.]
  • M的右奇異矢量是MM的特征矢量。[The right-singular vectors of M are eigenvectors of MM.]
  • M的非零奇異值(可在Σ的對角項上找到)是MM以及MM特征值的非零平方根。[The non-zero-singular values of M (found on the diagonal entries of Σ) are the square roots of the non-zero eigenvalues of both MM* and MM*.]
    采用SVD的應(yīng)用包括計算偽逆局陣、數(shù)據(jù)的最小平方擬合、矩陣逼近以及確定矩陣的秩、range以及null space等。[Applications which employ the SVD include computing the pseudoinverse, least squares fitting of data, matrix approximation, and determining the rank, range and null space of a matrix.]

關(guān)于SVD的具體原理,這里有一篇非常好的中文文章,細(xì)致地推導(dǎo)了整個過程——SVD原理詳解

主成分分析PCA

PCA(Principal Components Analysis)即主成分分析,是圖像處理中經(jīng)常用到的降維方法,大家知道,我們在處理有關(guān)數(shù)字圖像處理方面的問題時,比如經(jīng)常用的圖像的查詢問題,在一個幾萬或者幾百萬甚至更大的數(shù)據(jù)庫中查詢一幅相近的圖像。這時,我們通常的方法是對圖像庫中的圖片提取響應(yīng)的特征,如顏色,紋理,sift,surf,vlad等等特征,然后將其保存,建立響應(yīng)的數(shù)據(jù)索引,然后對要查詢的圖像提取相應(yīng)的特征,與數(shù)據(jù)庫中的圖像特征對比,找出與之最近的圖片。這里,如果我們?yōu)榱颂岣卟樵兊臏?zhǔn)確率,通常會提取一些較為復(fù)雜的特征,如sift,surf等,一幅圖像有很多個這種特征點,每個特征點又有一個相應(yīng)的描述該特征點的128維的向量,設(shè)想如果一幅圖像有300個這種特征點,那么該幅圖像就有300*vector(128維)個,如果我們數(shù)據(jù)庫中有一百萬張圖片,這個存儲量是相當(dāng)大的,建立索引也很耗時,如果我們對每個向量進(jìn)行PCA處理,將其降維為64維,是不是很節(jié)約存儲空間???

主成分分析一般過程

特征抽取的目標(biāo)是根據(jù)原始的d個特征的組合形成k個新的特征,即將數(shù)據(jù)從d維空間映射到k維空間。在文本分析領(lǐng)域常用的降維方法是主成分分析(Principal Component Analysis, PCA)和奇異值分解(Singular Value Decomposition, SVD)。 在下文的敘述中,將沿襲機器學(xué)習(xí)的常用符號,使用x表示一個列向量,它是樣本x在d維空間中的點。而由n個樣本構(gòu)成的數(shù)據(jù)集可以表示為一個d×n的矩陣XPCA PCA背后的數(shù)學(xué)基礎(chǔ)是特征值分析,即Σv=λv,v是特征向量,λ是特征值。PCA的目標(biāo)是最大化數(shù)據(jù)間累積方差。PCA的一般過程是:

  • 去除平均值:means;
  • 計算X的協(xié)方差矩陣Σ;
  • 計算Σ的特征向量和特征值(特征向量用列向量v_d×1表示);
  • 將特征值從大到小排序;
  • 保留最上面的k個特征向量(這k個特征向量保證了數(shù)據(jù)映射到特征值最大的特征向量的方向時,數(shù)據(jù)間的累積方差最大,數(shù)據(jù)映射到第二大的特征向量時,數(shù)據(jù)間的累積方差次之,且特征向量之間保持正交)構(gòu)成的特征向量矩陣V_d×k;
  • 將數(shù)據(jù)轉(zhuǎn)換到上述k個特征向量構(gòu)建的新空間中(V^TX=A*_k×n + means,A是一個k×n的矩陣)。

我想用一個簡單的例子來說明主成分分析的能力:

主成分分析簡單實例(從博客上扣的圖)

關(guān)于SVD和PCA這里我只是通過做一個簡單的介紹,如果大家感興趣可以參考以下更多的博文和資料:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容