日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

推荐系统笔记:基于SVD的协同过滤

發布時間:2025/4/5 windows 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 推荐系统笔记:基于SVD的协同过滤 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 奇異值分解

????????奇異值分解(SVD)是矩陣分解的一種形式,其中U和V的列被約束為相互正交

????????相互正交的優點是概念之間可以完全獨立,并且可以用散點幾何解釋它們。

????????然而,這種分解的語義解釋通常比較困難,因為這些潛在的向量包含正的和負的量,并且受到它們與其他概念的正交性的限制。

????????對于完全指定的矩陣,利用特征分解方法進行奇異值分解是比較容易的。

? ? ? ? 考慮一個完全指定的矩陣R,可以使用如下方式來近似R(截斷SVD):

????????

? ? ? ? 其中k遠小于 min{m,n}(R的維度)

????????和分別是和?最大的k個特征值對應的特征向量組成的矩陣,是?(或者說)的最大的k個特征值的平方根組成的對角矩陣

? ? ? ? ?換句話說,包含了?最大特征值對應的那些特征向量,這是行空間的降維近似 所需的基。

? ? ? ??則表示在的基下,原始矩陣R的表示。

2 奇異值分解—>矩陣分解

????????于是我們可以把奇異值分解看成矩陣分解:

? ? ? ? (是一個對角矩陣,不會改變U各列向量的正交性質)?

????????此時我們也是用來預測觀測矩陣R,只不過此時用戶矩陣U和項目矩陣V各自的行向量兩兩正交。換言之,只要U和V各自的行向量兩兩正交,我們也可以將矩陣分解改寫成SVD分解的形式。

? ? ? ? 于是,SVD分解的目標函數可以寫成?

?????????很容易看出,SVD分解與無約束因子分解情況的唯一區別是SVD分解存在正交約束。

????????換句話說,與無約束矩陣分解相比,SVD分解使用相同的目標函數,但是在更小的解空間中被優化。

????????雖然看起來正交約束的存在會增加誤差近似的J。事實證明, 如果R矩陣是完全指定的,且不使用正則化的話,SVD分解和無限制的矩陣分解得到的最優目標J值是相同的。因此,對于完全指定的矩陣,奇異值分解的最優解是無約束矩陣分解的備選最優解之一。

????????在R沒有完全指定的情況下,這并不一定是真的,目標函數J 僅在有觀測的項上計算。在這種情況下,無約束矩陣分解通常會對觀察到的條目提供較低的誤差。然而,由于不同模型的可泛化程度不同,對未觀測條目的相對性能的優劣可能是不可預測的

?3 簡單的使用SVD進行 協同過濾的方法

????????在本小節中,我們討論如何解決矩陣 R 不完全指定時的情況。這是一種最簡單的方法

????????第一步是通過減去用戶 i 的平均評分 μi 來平均居中 R 的每一行。 這些逐行平均值需要存儲下來,因為最終將需要它們再加回到對應行的元素中,來重建缺失條目的原始評分。

????????令劇中后的矩陣由 Rc 表示。 然后,將 Rc 的缺失條目設置為 0。(將缺失條目設置為相應用戶目前的平均評分)

????????然后將 SVD 應用于 Rc 以獲得 分解。 由此產生的用戶矩陣和項目矩陣由給出。

????????設 U 的第 i 行是?k 維向量,V 的第 j 行是k 維向量。 然后,用戶 i 對項目 j 的評分 rij 估計為和 的點積,加上均值μi:

4? 改進:迭代SVD

????????這種方法的主要問題是用逐行均值替換缺失的條目會導致相當大的偏差。

推薦系統筆記: 基于鄰居的協同過濾問題 中的降維_UQI-LIUWJ的博客-CSDN博客

? ? ? ?

????????不同于那一章節,此時我們可以用另一種迭代的方法來解決這個問題,該方法通過改進對缺失條目的估計來迭代地減少偏差。 該方法使用以下步驟:

(1) 初始化

????????將 R 的第 i 行中缺失的條目初始化為該行的均值 μi 以創建 Rf 。

? (2) 迭代步驟

? ? ? ? (2.1)迭代步驟1:對Rf進行svd分解,用前k大的特征值近似Rf,

? ? ? ? (2.2)用2.1得到的 來更新 R中的缺失值

重復(2),直到收斂為止

????????當缺失條目的數量很大時,該方法可能會陷入局部最優。(收斂時的局部最優可能對初始化的選擇很敏感。)

? ? ? ? 我們可以使用推薦系統筆記:無任何限制的矩陣分解_UQI-LIUWJ的博客-CSDN博客中所述的方法,先學習到一個初始的B矩陣。然后有觀測值的條目減去相應的?,然后用0初始化未觀測值。 這種方法會得到一個更很好的結果,因為它初始化的方式相對來說更合理一些。

?5 投影梯度下降法

????????迭代方法非常昂貴,因為它適用于完全指定的矩陣。 對于較小的矩陣很容易實現,但在大規模設置中不能很好地擴展。(同時SVD分解的時間復雜度是,對于user和item數量都很大的數據來說是很致命的)

????????一種更有效的方法是在前面部分的優化模型中添加正交性約束。 ?令 S 為評級矩陣中指定條目的集合。 優化問題(帶正則化)表述如下:

????????該模型與無約束矩陣分解的主要區別在于增加了正交性約束,這使得問題更加困難。

????????可以使用投影梯度下降方法,其中 U 或 V? 某一列中的所有元素一次更新。 在投影梯度下降中,U(或 V )的第 p 列的更新后的方向,投影在與 前(p-1)列正交的方向上

?????????和?推薦系統筆記:無任何限制的矩陣分解_UQI-LIUWJ的博客-CSDN博客?中第五小節一樣,也是逐列逐列第更新。但不同的是,如果更新后的這一列不和前面的(p-1)列垂直,那么我們可以找到和前面(p-1)列垂直,同時離更新至最近的點,作為投影梯度下降法的更新值。

????????

比如假設我們已經更新得到了u1和u2,它們是正交的。我們現在通過增量潛在因子訓練,得到了u3,但是u3和u1,u2張成的平面不垂直。于是我們找u3的投影,作為u3的更新值

?6 外推推薦 out-of-sample recommendation

????????許多矩陣完成方法(如矩陣分解)只能對訓練時已包含在評分矩陣中的用戶和項目進行預測。

????????如果在分解時未將新用戶和項目包含在原始評分矩陣 R 中,則從因子 U 和 V 對新用戶和項目進行預測通常并不容易。

????????正交基向量的一個優點是可以更輕松地利用它們為新用戶和項目執行樣本外推薦。 這個問題也被稱為歸納矩陣完成。

????????推薦系統筆記:基于潛在因子模型的協同過濾(latent factor model)中提供的幾何解釋有助于理解為什么正交基向量有助于預測缺失的評分。

一旦獲得了潛在向量,就可以將指定評分中的信息投影到相應的潛在向量上; 當向量相互正交時,這要容易得多。 考慮 SVD 分別獲得潛在因子 U 和 V 的情況。 V 的列(基))定義了一個通過原點的 k 維超平面 H1。

????????在圖 3.6 中,潛在因子的數量為 1,因此顯示了單個潛在向量(即一維向量)。 基有兩個因子組成,它就會是二維平面。 ?

????????現在想象一個新用戶的評分已添加到系統中。 請注意,此新用戶未在 U 或 V 中的潛在因子中表示。

????????考慮新用戶指定了總共 h 個評分的場景。 該用戶未評分的這些電影的評分可能性空間是一個 (n - h) 維的超平面。

???????? 圖 3.6 展示了一個例子,其中斯巴達克斯的一個電影的打分是固定的,超平面定義在其他兩個維度上。 讓這個超平面用 H2 表示。

???????? 然后目標是確定 H2 上的點,該點盡可能接近 H1。

總結

以上是生活随笔為你收集整理的推荐系统笔记:基于SVD的协同过滤的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。