0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

SVD的數(shù)據(jù)壓縮原理

lviY_AI_shequ ? 來源:lp ? 2019-04-02 15:16 ? 次閱讀

前言

奇異值分解(SVD)在降維,數(shù)據(jù)壓縮,推薦系統(tǒng)等有廣泛的應(yīng)用,任何矩陣都可以進行奇異值分解,本文通過正交變換不改變基向量間的夾角循序漸進的推導(dǎo)SVD算法,以及用協(xié)方差含義去理解行降維和列降維,最后介紹了SVD的數(shù)據(jù)壓縮原理 。

1. 正交變換

正交變換公式:

上式表示:X是Y的正交變換,其中U是正交矩陣,X和Y為列向量 。

下面用一個例子說明正交變換的含義:

假設(shè)有兩個單位列向量a和b,兩向量的夾角為θ,如下圖:

現(xiàn)對向量a,b進行正交變換:

的模:

由上式可知的模都為1。

的內(nèi)積:

由上式可知,正交變換前后的內(nèi)積相等。

的夾角

比較(2)式和(3)式得:正交變換前后的夾角相等,即:

因此,正交變換的性質(zhì)可用下圖來表示:

正交變換的兩個重要性質(zhì):

1)正交變換不改變向量的模。

2)正交變換不改變向量的夾角。

如果向量是基向量,那么正交變換的結(jié)果如下圖:

上圖可以得到重要結(jié)論:基向量正交變換后的結(jié)果仍是基向量?;蛄渴潜硎鞠蛄孔詈啙嵉姆椒ǎ蛄吭诨蛄康耐队熬褪撬诨蛄康淖鴺?biāo),我們通過這種思想去理解特征值分解和推導(dǎo)SVD分解。

2. 特征值分解的含義

對稱方陣A的特征值分解為:

其中U是正交矩陣,是對角矩陣。

為了可視化特征值分解,假設(shè)A是2×2的對稱矩陣,,。(2.1)式展開為:

用圖形表示為:

由上圖可知,矩陣A沒有旋轉(zhuǎn)特征向量,它只是對特征向量進行了拉伸或縮短(取決于特征值的大?。?,因此,對稱矩陣對其特征向量(基向量)的變換仍然是基向量(單位化)。

特征向量和特征值的幾何意義:若向量經(jīng)過矩陣變換后保持方向不變,只是進行長度上的伸縮,那么該向量是矩陣的特征向量,伸縮倍數(shù)是特征值。

3. SVD分解推導(dǎo)

我們考慮了當(dāng)基向量是對稱矩陣的特征向量時,矩陣變換后仍是基向量,但是,我們在實際項目中遇到的大都是行和列不相等的矩陣,如統(tǒng)計每個學(xué)生的科目乘積,行數(shù)為學(xué)生個數(shù),列數(shù)為科目數(shù),這種形成的矩陣很難是方陣,因此SVD分解是更普遍的矩陣分解方法。

先回顧一下正交變換的思想:基向量正交變換后的結(jié)果仍是基向量。

我們用正交變換的思想來推導(dǎo)SVD分解:

假設(shè)A是M*N的矩陣,秩為K,Rank(A)=k。

存在一組正交基V:

矩陣對其變換后仍是正交基,記為U:

由正交基定義,得:

上式展開:

∴ (3.2)式得:

即假設(shè)成立 。

圖形表示如下:

正交向量的模:

單位化正交向量,得:

結(jié)論:當(dāng)基向量是。

用矩陣的形式表示(3.3)式:

V是N*K矩陣,U是M*K矩陣,是M*K的矩陣,需要擴展成方陣形式:

將正交基擴展空間的正交基,即U是M*M方陣 。

將正交基擴展成空間的正交基,其中是矩陣A的零空間,即:

對應(yīng)的特征值=0,是M*N對角矩陣,V是N*N方陣

因此(3.4)式寫成向量形式為:

得:

(3.5)式寫成向量形式:

令:

則:

A = XY

因為X和Y分別是列滿秩和行滿秩,所以上式是A的滿秩分解。

(3.5)式的奇異矩陣的值特征值的平方根,下面推導(dǎo)奇異值分解的U和V:

即V是的特征向量構(gòu)成的矩陣,稱為右奇異矩陣。

即U是的特征向量構(gòu)成的矩陣,稱為左奇異矩陣 。

小結(jié):矩陣A的奇異值分解:

其中U是的特征向量構(gòu)成的矩陣,V是的特征向量構(gòu)成的矩陣,奇異值矩陣的值是特征值的平方根 。

3. 奇異值分解的例子

本節(jié)用一個簡單的例子來說明矩陣是如何進行奇異值分解的。矩陣A定義為:

4. 行降維和列降維

本節(jié)通過協(xié)方差的角度去理解行降維和列降維,首先探討下協(xié)方差的含義:

單個變量用方差描述,無偏方差公式:

兩個變量用協(xié)方差描述,協(xié)方差公式:

多個變量(如三個變量)之間的關(guān)系可以用協(xié)方差矩陣描述:

相關(guān)系數(shù)公式:

由上式可知,協(xié)方差是描述變量間的相關(guān)關(guān)系程度:

1)協(xié)方差cov(x,y) > 0時,變量x與y正相關(guān);

2)協(xié)方差cov(x,y)<0時,變量x與y負相關(guān);

3)協(xié)方差cov(x,y)=0時,變量x與y不相關(guān);

變量與協(xié)方差關(guān)系的定性分析圖:

現(xiàn)在開始討論的含義:

假設(shè)數(shù)據(jù)集是n維的,共有m個數(shù)據(jù),每一行表示一例數(shù)據(jù),即:

表示第i個樣本,表示第i個樣本的第j維特征?。

由上式可知,是描述各特征間相關(guān)關(guān)系的矩陣,所以的正交基V是以數(shù)據(jù)集的特征空間進行展開的。

數(shù)據(jù)集A在特征空間展開為:

由上一篇文章可知,特征值表示了在相應(yīng)特征向量的信息分量。特征值越大,包含矩陣的信息分量亦越大。

若我們選擇前r個特征值來表示原始數(shù)據(jù)集,數(shù)據(jù)集A在特征空間展開為:

(4.2)式對列進行了降維,即右奇異矩陣V可以用于列數(shù)的壓縮,與PCA降維算法一致。

行降維:

由上式可知:是描述樣本數(shù)據(jù)間相關(guān)關(guān)系的矩陣,因此,左奇異矩陣U是以樣本空間進行展開,原理與列降維一致,這里不詳細介紹了 。

若我們選擇前r個特征值來表示原始數(shù)據(jù)集,數(shù)據(jù)集A在樣本空間展開為:

因此,上式實現(xiàn)了行降維,即左奇異矩陣可以用于行數(shù)的壓縮。

5. 數(shù)據(jù)壓縮

本節(jié)介紹兩種數(shù)據(jù)壓縮方法:滿秩分解和近似分解

矩陣A的秩為k,A的滿秩分解:

滿秩分解圖形如下:

由上圖可知,存儲X和Y的矩陣比存儲A矩陣占用的空間小,因此滿秩分解起到了數(shù)據(jù)壓縮作用。

若對數(shù)據(jù)再次進行壓縮,需要用到矩陣的近似分解。

矩陣A的奇異值分解:

若我們選擇前r個特征值近似矩陣A,得:

如下圖:

我們用灰色部分的三個小矩陣近似表示矩陣A,存儲空間大大的降低了。

6. SVD總結(jié)

任何矩陣都能進行SVD分解,SVD可以用于行降維和列降維,SVD在數(shù)據(jù)壓縮、推薦系統(tǒng)和語義分析有廣泛的應(yīng)用,SVD與PCA的缺點一樣,分解出的矩陣解釋性不強 。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 矩陣
    +關(guān)注

    關(guān)注

    0

    文章

    418

    瀏覽量

    34451
  • 向量
    +關(guān)注

    關(guān)注

    0

    文章

    55

    瀏覽量

    11643
  • SVD
    SVD
    +關(guān)注

    關(guān)注

    0

    文章

    21

    瀏覽量

    12146

原文標(biāo)題:奇異值分解(SVD)原理總結(jié)

文章出處:【微信號:AI_shequ,微信公眾號:人工智能愛好者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    【TL6748 DSP申請】井下數(shù)據(jù)壓縮技術(shù)

    申請理由:我是中石油渤海鉆探工程公司定向井分公司的儀器工程師,目前我在研發(fā)一項科研項目,主要是關(guān)于數(shù)據(jù)壓縮算法以及數(shù)據(jù)編解碼方面技術(shù)研究。需要利用數(shù)據(jù)處理芯片來實現(xiàn)井下數(shù)據(jù)壓縮及編解碼
    發(fā)表于 09-10 11:09

    基于FPGA的高性能無損數(shù)據(jù)壓縮IP

    LZOAccel-CLZO Data Compression CoreLZOAccel-C是一個無損數(shù)據(jù)壓縮引擎的FPGA硬件實現(xiàn),兼容LZO 2.10標(biāo)準(zhǔn)。Core接收未壓縮的輸入數(shù)據(jù)塊,產(chǎn)生
    發(fā)表于 12-21 23:10

    MapReduce數(shù)據(jù)壓縮的基本原則

    黑猴子的家:MapReduce數(shù)據(jù)壓縮
    發(fā)表于 05-24 12:45

    LZO Data Compression Core/無損數(shù)據(jù)壓縮IP Core

    基于LZO的高性能無損數(shù)據(jù)壓縮IP
    發(fā)表于 12-21 07:14

    數(shù)據(jù)壓縮技術(shù)

    一、數(shù)據(jù)壓縮的必要性二、多媒體數(shù)據(jù)壓縮的可能性三、壓縮方案應(yīng)滿足的要求四、編碼方案分類五、數(shù)據(jù)壓縮(編碼)的主要步驟六、一些基本的壓縮技術(shù)七
    發(fā)表于 03-25 13:19 ?35次下載

    高速數(shù)據(jù)壓縮與緩存的FPGA實現(xiàn)

    本文設(shè)計了一種以 FPGA 為數(shù)據(jù)壓縮數(shù)據(jù)緩存單元的高速數(shù)據(jù)采集系統(tǒng),其主要特點是對高速采集的數(shù)據(jù)進行實時壓縮,再將
    發(fā)表于 11-30 15:32 ?20次下載

    傳真機的數(shù)據(jù)壓縮系統(tǒng)

    傳真機的數(shù)據(jù)壓縮系統(tǒng)         
    發(fā)表于 12-29 16:51 ?637次閱讀

    JPEG2000數(shù)據(jù)壓縮的FPGA實現(xiàn)

    高性能的數(shù)據(jù)壓縮可以有效的減少數(shù)據(jù)對存儲空間和通信帶寬的要求,降低通信成本。為解決圖像數(shù)據(jù)的高壓縮性能問題,本文提出了基于JPEG2000標(biāo)準(zhǔn)的數(shù)據(jù)
    發(fā)表于 04-16 10:39 ?47次下載
    JPEG2000<b class='flag-5'>數(shù)據(jù)壓縮</b>的FPGA實現(xiàn)

    JAVA教程之數(shù)據(jù)壓縮與傳輸

    JAVA教程之數(shù)據(jù)壓縮與傳輸,很好的JAVA的資料,快來學(xué)習(xí)吧
    發(fā)表于 04-11 17:28 ?10次下載

    小波算法在監(jiān)測數(shù)據(jù)壓縮中的應(yīng)用

    小波算法在監(jiān)測數(shù)據(jù)壓縮中的應(yīng)用
    發(fā)表于 02-07 18:22 ?16次下載

    基于運動狀態(tài)改變的GPS軌跡數(shù)據(jù)壓縮算法

    針對基于偏移量計算的軌跡數(shù)據(jù)壓縮算法中對于關(guān)鍵點的評估不足以及基于在線軌跡數(shù)據(jù)壓縮算法中累積誤差和對偏移量考慮不足的問題,提出一種基于運動狀態(tài)改變的在線全球定位系統(tǒng)( GPS)軌跡數(shù)據(jù)壓縮算法限定
    發(fā)表于 12-26 18:55 ?1次下載

    數(shù)據(jù)壓縮的重要性

    數(shù)據(jù)壓縮是指在不丟失有用信息的前提下,縮減數(shù)據(jù)量以減少存儲空間,提高其傳輸、存儲和處理效率,或按照一定的算法對數(shù)據(jù)進行重新組織,減少數(shù)據(jù)的冗余和存儲的空間的一種技術(shù)方法。
    的頭像 發(fā)表于 02-28 10:45 ?1.4w次閱讀

    數(shù)據(jù)壓縮算法計算步驟及過程

    一種非常簡單的壓縮方法是行程長度編碼,這種方法使用數(shù)據(jù)數(shù)據(jù)長度這樣簡單的編碼代替同樣的連續(xù)數(shù)據(jù),這是無損數(shù)據(jù)壓縮的一個實例。這種方法經(jīng)常用
    的頭像 發(fā)表于 02-28 10:51 ?1.2w次閱讀
    <b class='flag-5'>數(shù)據(jù)壓縮</b>算法計算步驟及過程

    有趣!史記:數(shù)據(jù)壓縮算法列傳

    簡單地說,如果沒有數(shù)據(jù)壓縮技術(shù),我們就沒法用 WinRAR 為 Email 中的附件瘦身;如果沒有數(shù)據(jù)壓縮技術(shù),市場上的數(shù)碼錄音筆就只能記錄不到20 分鐘的語音;如果沒有數(shù)據(jù)壓縮技術(shù)
    的頭像 發(fā)表于 11-11 15:21 ?701次閱讀

    高性能無損數(shù)據(jù)壓縮FPGA IP,LZO無損數(shù)據(jù)壓縮IP

    LZOAccel-C是一個無損數(shù)據(jù)壓縮引擎的FPGA硬件實現(xiàn),兼容LZO 2.10標(biāo)準(zhǔn)。 Core接收未壓縮的輸入數(shù)據(jù)塊,產(chǎn)生壓縮后的數(shù)據(jù)
    的頭像 發(fā)表于 01-25 13:39 ?408次閱讀
    高性能無損<b class='flag-5'>數(shù)據(jù)壓縮</b>FPGA IP,LZO無損<b class='flag-5'>數(shù)據(jù)壓縮</b>IP