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

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

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

奇異值分解和矩陣分解傻傻分不清楚?一文幫你理清兩者差異!

電子工程師 ? 來(lái)源:lq ? 2019-05-05 11:26 ? 次閱讀

推薦系統(tǒng)的相關(guān)研究中,我們常常用到兩個(gè)相關(guān)概念:矩陣分解和奇異值分解。這兩個(gè)概念是同一種算法嗎??jī)烧叩降子惺裁床顒e?在本文中,作者梳理了兩種算法的概念、來(lái)源和內(nèi)容,并進(jìn)行了比較。通過(guò)對(duì)相關(guān)內(nèi)容的梳理,作者提出,矩陣分解是推薦系統(tǒng)中最初使用的概念,奇異值分解是對(duì)該方法的進(jìn)一步發(fā)展。在現(xiàn)在的討論中,一般將兩種方法統(tǒng)一成為奇異值分解。

在 Andrew Ng 教授的機(jī)器學(xué)習(xí)課程中,介紹推薦系統(tǒng)時(shí)經(jīng)常涉及矩陣分解、奇異值分解等數(shù)學(xué)知識(shí),這些概念并不是很好理解。在 Andrew Ng 教授的課程提到了一種稱(chēng)為稱(chēng)為 (低因子) 矩陣分解的方法,而在 Google 搜索會(huì)得到另一個(gè)名稱(chēng):奇異值分解。網(wǎng)絡(luò)資源中對(duì)于該算法的解釋和 Andrew Ng 教授存在差異,但很多人都認(rèn)為這兩個(gè)名稱(chēng)指的是同一種算法。為了更好的梳理這兩個(gè)概念,在本文中,我對(duì)兩者進(jìn)行了分別介紹,并對(duì)比了它們的不同。

推薦系統(tǒng)

推薦系統(tǒng) (Recommender Systems, RS) 是一種自動(dòng)化的針對(duì)用戶(hù)的內(nèi)容推薦方式,被廣泛用于電子商務(wù)公司,流媒體服務(wù) (streaming services) 和新聞網(wǎng)站等系統(tǒng)。根據(jù)用戶(hù)的喜好,推薦系統(tǒng)能夠投其所好,為用戶(hù)推薦一些合適的內(nèi)容,以便減少用戶(hù)篩選過(guò)程中一些不必要的麻煩。

推薦系統(tǒng)并不是一種全新的技術(shù),相關(guān)概念最晚在1990年就出現(xiàn)了。事實(shí)上,當(dāng)前的機(jī)器學(xué)習(xí)熱潮,一部分要?dú)w因于人們對(duì) RS 的廣泛關(guān)注。 在2006年,Netflix 贊助了一場(chǎng)為電影尋找最佳推薦系統(tǒng)的競(jìng)賽,在當(dāng)時(shí)引起了一片轟動(dòng),也讓推薦系統(tǒng)再次得到了廣泛的關(guān)注。

矩陣表示

我們可以有很多種方式來(lái)向別人推薦一部電影。其中一種效果較好的策略,是將用戶(hù)對(duì)電影的評(píng)分看做一個(gè)用戶(hù) x 電影矩陣,如下所示:

在該矩陣中,問(wèn)號(hào)代表用戶(hù)未評(píng)分的電影。隨后,只需要以某種方式預(yù)測(cè)來(lái)用戶(hù)對(duì)電影評(píng)分,并向用戶(hù)推薦他們可能喜歡的電影。

矩陣分解

在 Netflix 舉辦的比賽上,參賽者 Simon Funk 提出了一個(gè)很好的想法,即用戶(hù)對(duì)電影的評(píng)分不是隨給出的。用戶(hù)會(huì)基于一定的邏輯,針對(duì)電影中他所所喜歡的部分 (如特定的女演員或類(lèi)型) 和不喜歡的情節(jié) (長(zhǎng)時(shí)間或糟糕的笑話) 賦予不同的權(quán)重,并進(jìn)行加權(quán)計(jì)算,最后得到一個(gè)分?jǐn)?shù)作為該電影的評(píng)分。這個(gè)過(guò)程可以用如下公式表示:

其中 xm 是電影 m 特征值的一個(gè)列向量,而 θ? 是另一個(gè)列向量,表示用戶(hù) u 賦予每個(gè)電影特征的權(quán)重。每個(gè)用戶(hù)都有不同的權(quán)重集合,而每個(gè)電影的特征也對(duì)應(yīng)不同的特征集合。

事實(shí)證明,如果能夠任意地修改特征的數(shù)量并忽略所缺失的那部分電影評(píng)分,那么就可以找到一組權(quán)重和特征值,依據(jù)這些值所創(chuàng)建新矩陣與原始的評(píng)分矩陣是很接近的。這一過(guò)程可以通過(guò)梯度下降來(lái)實(shí)現(xiàn),且類(lèi)似于線性回歸中所使用的梯度下降,只不過(guò)我們需要同時(shí)優(yōu)化權(quán)重和特征這兩組參數(shù)。以上文提供的用戶(hù)-電影矩陣為例,優(yōu)化后得到的結(jié)果將生成如下新的矩陣:

值得注意的是,在大多數(shù)真實(shí)數(shù)據(jù)集中,生成的結(jié)果矩陣并不會(huì)精確地與原始矩陣保持一致。因?yàn)樵诂F(xiàn)實(shí)生活中,用戶(hù)不會(huì)對(duì)通過(guò)矩陣乘法和求和等操作對(duì)電影進(jìn)行評(píng)分。大多數(shù)情況下,用戶(hù)對(duì)電影進(jìn)行評(píng)分只是一種主觀性的行為,且可能受到各種外部因素的影響。盡管如此,這里所介紹的方法還是希望通過(guò)數(shù)學(xué)公式來(lái)表達(dá)用戶(hù)在電影評(píng)分時(shí)的主要邏輯。

通過(guò)上面的計(jì)算,現(xiàn)在我們已經(jīng)得到了一個(gè)近似矩陣,那該如何來(lái)預(yù)測(cè)缺失的電影評(píng)級(jí)呢?通過(guò)回顧上面的計(jì)算過(guò)程,我們可以發(fā)現(xiàn),為了構(gòu)建這個(gè)新矩陣,這里定義了一個(gè)公式來(lái)填充矩陣中的所有值,包括原始矩陣中的缺失值。因此,如果想要預(yù)測(cè)缺失的用戶(hù)電影評(píng)分,這里只需獲取該缺失電影的所有特征值,再乘以該用戶(hù)的所有權(quán)重并將所有內(nèi)容相加,就能得到用戶(hù)對(duì)該電影的評(píng)分。因此在這里,如果想要預(yù)測(cè)用戶(hù)2對(duì)電影1的評(píng)級(jí),可以通過(guò)以下計(jì)算:

? ? ?

為了簡(jiǎn)化表達(dá)式,在這里可以對(duì) θ 和 x 進(jìn)行分離,并將它們放入各自的矩陣(比如 P 和 Q)。

以上就是 Funk 所提出的矩陣分解方法,也是 Andrew Ng 教授在課上所提到的矩陣分解。該方法在當(dāng)時(shí) Netflix 競(jìng)賽中獲得第三名,引起了廣泛的關(guān)注,并在當(dāng)前許多應(yīng)用中仍被使用。

奇異值分解

下面介紹奇異值分解 (Singular Value Decomposition, SVD)。SVD 方法是將一個(gè)矩陣分解為三個(gè)矩陣的矩陣分解方法,即 A =UΣV?,且三個(gè)分解矩陣會(huì)具有一些較好的數(shù)學(xué)特性。

SVD 方法具有廣泛的應(yīng)用,其中之一就是主成分分析(Principal Component Analysis, PCA) ,該方法能夠?qū)⒕S度 n 的數(shù)據(jù)集減少到 k 個(gè)維度 (k

這里不再展開(kāi)介紹 SVD 方法的詳細(xì)信息。我們只需要記住,奇異值分解與矩陣分解的處理方式不同。使用SVD 方法會(huì)得到三個(gè)分解矩陣,而 Funk 提出的矩陣分解方式只創(chuàng)建了兩個(gè)矩陣。

那為什么在每次搜索推薦系統(tǒng)時(shí)總會(huì)彈出 SVD 的相關(guān)內(nèi)容呢? Luis Argerich 認(rèn)為原因在于:

事實(shí)上,矩陣分解是推薦系統(tǒng)中首先使用的方法,而 SVD++ 可視為是對(duì)它的一種擴(kuò)展形式。正如 Xavier Amatriain 所說(shuō)的那樣:

而 Wikipedia 在對(duì)矩陣分解(推薦系統(tǒng))的相關(guān)條目中也有類(lèi)似的表述:

最后,簡(jiǎn)單進(jìn)行一下總結(jié):

奇異值分解(SVD)是一種相對(duì)復(fù)雜的數(shù)學(xué)技術(shù),它將矩陣分解為三個(gè)新的矩陣,并廣泛應(yīng)用于當(dāng)前許多的應(yīng)用中,包括主成分分析(PCA)和推薦系統(tǒng)(RS)。

Simon Funk 在2006年的 Netflix 競(jìng)賽中提出并使用了一個(gè)非常好的策略,改方法將矩陣分解為兩個(gè)權(quán)重矩陣,并使用梯度下降來(lái)找到特征和權(quán)重所對(duì)應(yīng)的的最優(yōu)值。實(shí)質(zhì)上,這是不同于 SVD 方法的另一種技術(shù),將其稱(chēng)為矩陣分解更為合適。

隨著這兩種方法的廣泛應(yīng)用,研究者并沒(méi)有嚴(yán)謹(jǐn)?shù)卦谛g(shù)語(yǔ)上區(qū)分這兩種方法,而是統(tǒng)一將其稱(chēng)為 SVD。

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

    關(guān)注

    0

    文章

    418

    瀏覽量

    34453
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8323

    瀏覽量

    132171
  • 奇異值分解
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    6347

原文標(biāo)題:一文幫你梳理清楚:奇異值分解和矩陣分解 | 技術(shù)頭條

文章出處:【微信號(hào):rgznai100,微信公眾號(hào):rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    MATLAB線性方程和特征奇異命令

    逆 特征奇異 Eig 求特征和特征向量 Poly 求特征多項(xiàng)式 Hess Hes***erg形式 Qz 廣義特征 Cdf
    發(fā)表于 09-22 16:01

    工業(yè)互聯(lián)網(wǎng)和工業(yè)4.0傻傻分不清楚?

    工業(yè)互聯(lián)網(wǎng)是什么?工業(yè)互聯(lián)網(wǎng)的網(wǎng)速快嗎?工業(yè)互聯(lián)網(wǎng)是物聯(lián)網(wǎng)概念的重新包裝么?工業(yè)互聯(lián)網(wǎng)和工業(yè)4.0,傻傻分不清楚?工業(yè)互聯(lián)網(wǎng)已經(jīng)滲透到了哪些領(lǐng)域?
    發(fā)表于 07-12 06:51

    不要再對(duì)各種電機(jī)、舵機(jī)傻傻分不清楚了 精選資料分享

    你是否和木木樣,想要自己diy個(gè)機(jī)器人,卻對(duì)電機(jī)、舵機(jī)、步進(jìn)電機(jī)、伺服電機(jī)、數(shù)字舵機(jī)、模擬舵機(jī)、串行總線舵機(jī)……大堆名詞傻傻分不清楚?
    發(fā)表于 09-01 08:31

    基于改進(jìn)奇異值分解的人耳識(shí)別算法研究

    提出了基于特征矩陣和改進(jìn)的奇異值分解的人耳識(shí)別算法。采用特征矩陣及Fisher最優(yōu)鑒別分析方法將原始樣本向最優(yōu)鑒別矢量投影,有效地降低了維數(shù),再進(jìn)行奇異值分解后所得
    發(fā)表于 06-29 08:53 ?18次下載

    采用奇異值分解的數(shù)字水印嵌入算法

    提出種新的數(shù)字水印嵌入算法,采用奇異值分解(SVD)算法對(duì)數(shù)據(jù)進(jìn)行分解變換。利用正交矩陣作為容器進(jìn)行水印嵌入,并通過(guò)參數(shù)的選擇和糾錯(cuò)碼的使用提高水印的隱蔽性和魯棒性
    發(fā)表于 07-30 14:30 ?29次下載

    基于整體與部分奇異值分解的人臉識(shí)別

    針對(duì)原有奇異值分解的不足,本文將圖像矩陣進(jìn)行投影,并對(duì)整體與三組局部奇異結(jié)合進(jìn)行改進(jìn),再利用BP 神經(jīng)網(wǎng)絡(luò)進(jìn)行分類(lèi)識(shí)別,對(duì)該文提出的方法進(jìn)行了人臉識(shí)別實(shí)驗(yàn)。結(jié)
    發(fā)表于 01-13 14:36 ?10次下載

    基于奇異值分解的車(chē)牌特征提取方法研究

    研究了基于小波分析的車(chē)牌圖像定位、分割、大小歸化方法,并分析了奇異值分解算法的數(shù)學(xué)原理和算法。利用奇異值分解作為代數(shù)特征提取方法,獲得圖像的有效特征描述。以Mat
    發(fā)表于 10-17 11:08 ?28次下載
    基于<b class='flag-5'>奇異值分解</b>的車(chē)牌特征提取方法研究

    基于FPGA的高光譜圖像奇異值分解降維技術(shù)

    基于FPGA的高光譜圖像奇異值分解降維技術(shù)
    發(fā)表于 08-30 15:10 ?2次下載

    科普:石墨烯電池、石墨烯基電池二有何不同?別傻傻分不清

    很多吃瓜群眾是不是已經(jīng)對(duì)“石墨烯電池”和“石墨烯基電池”傻傻分不清楚了。
    發(fā)表于 01-23 15:40 ?5348次閱讀

    基于BP神經(jīng)網(wǎng)絡(luò)和局部與整體奇異值分解的人臉識(shí)別

    基于BP神經(jīng)網(wǎng)絡(luò)和局部與整體奇異值分解的人臉識(shí)別matlab
    發(fā)表于 07-29 13:46 ?24次下載

    基于矩陣分解的手機(jī)APP推薦

    (包括奇異值分解(SVD)和非負(fù)矩陣分解(NMF))的推薦算法、奇異值分解推薦算法以及因子分解機(jī)推薦算法進(jìn)行手機(jī)App推薦。實(shí)驗(yàn)表明,因子
    發(fā)表于 12-22 16:43 ?0次下載

    芯片、半導(dǎo)體、集成電路還在傻傻分不清楚

    芯片,半導(dǎo)體,集成電路,傻傻分不清楚? 很多人都會(huì)有這樣的煩惱,希望今天分享的文章能幫助到大家~起學(xué)習(xí)!起進(jìn)步! 、什么是芯片? 芯片
    的頭像 發(fā)表于 09-28 17:13 ?3w次閱讀

    基于奇異值分解的時(shí)空序列分解模型ST-SVD

    針對(duì)傳統(tǒng)時(shí)空序列建模過(guò)程中估計(jì)空間權(quán)重矩陣時(shí)難度較髙的冋題,提岀種基于奇異值分解(SVD)的時(shí)空序列分解模型ST-sSVD。對(duì)原始時(shí)空序列矩陣
    發(fā)表于 03-23 16:39 ?19次下載
    基于<b class='flag-5'>奇異值分解</b>的時(shí)空序列<b class='flag-5'>分解</b>模型ST-SVD

    基于奇異值分解和引導(dǎo)濾波的低照度圖像增強(qiáng)

    基于奇異值分解和引導(dǎo)濾波的低照度圖像增強(qiáng)
    發(fā)表于 06-18 11:53 ?4次下載

    別再傻傻分不清楚光纖和網(wǎng)線了

    目前網(wǎng)線和光纖就成為了網(wǎng)絡(luò)信號(hào)傳輸中最重要的種載體,如何選擇你清楚吧?這兩者的區(qū)別你了解嗎?下面就看看clan通訊小編的解答吧。
    的頭像 發(fā)表于 12-20 09:54 ?5883次閱讀