說明:資料都來至網路,收集起來方便自己看;
1、推薦演算法就是利用使用者的一些行為,通過一些數學演算法,推測出使用者可能喜歡的東西。
(1)基於內容的推薦基於內容的資訊推薦方法的理論依據主要來自於資訊檢索和資訊過濾;即根據使用者過去的瀏覽記錄來向使用者推薦其沒有接觸過的推薦項。
啟發式的方法就是使用者憑藉經驗來定義相關的計算公式,然後再根據公式的計算結果和實際的結果進行驗證,然後再不斷的是修改公式以達到最終目的。
模型的方法就是根據以往的資料作為資料集,然後根據這個資料集來學習出乙個模型。
一般的推薦系統中運用到的啟發式的方法就是使用tf-idf的方法來計算,跟還有tf-idf的方法計算出這個文件中出現權重比較高的關鍵字作為描述使用者特徵,並使用這些關鍵字作為描述使用者特徵的向量;然後再根據被推薦項的中的權重高的關鍵字來作為推薦項的屬性特徵,然後再將這個兩個向量最相近的(與使用者特徵的向量計算得分最高)的項推薦給使用者。在計算使用者特徵向量和被推薦項的特徵向量的相似性時,一般使用的是cosine方法,計算兩個向量之間夾角的cosine值。
(2)基於協同過濾的推薦
協同過濾演算法主要是通過對未評分項進行評分、**來實現的。
不同的協同過濾之間也有很大的不同。
基於使用者的協同過濾演算法 這種演算法基於乙個這樣的假設「跟你喜好相似的人喜歡的東西你也很有可能喜歡。」
所以基於使用者的協同過濾主要的任務就是找出使用者的最近鄰居,從而根據最近鄰 居的喜好做出未知項的評分**。
這種演算法主要分為3個步驟:
一、使用者評分。可以分為顯性評分和**評分兩種。
**評分就是通過評價或是購買的行為給專案評分 (例如在有啊購買了什麼東西)。
二、尋找最近鄰居。
這一步就是尋找與你距離最近的使用者,測算距離一般採用以下三種演算法:
1.皮爾森相關係數。
2.余弦相似性。
3調整余弦相似性。 調整余弦相似性似乎效果會好一些。
三、推薦。
產生了最近鄰居集合後,就根據這個集合對未知項進行評分**。把評分最高的n個項推薦給使用者。
這種演算法存在效能上的瓶頸,當使用者數越來越多的時候,尋找最近鄰居的複雜度也會大幅度的增長。
因而這種演算法無法滿足及時推薦的要求。基於項的協同過濾解決了這個問題。
基於項的協同過濾演算法 根基於使用者的演算法相似,只不過第二步改為計算項之間的相似度。
常見推薦演算法學習
協同過濾演算法 基於使用者的協同過濾演算法 推薦和你類似的人喜歡的商品 基於商品的協同過濾演算法 推薦喜歡這個商品的人也喜歡的商品 基於內容的過濾演算法 詞權 word2vec 聚類 基於模型的推薦演算法 多種機器學習演算法 基於矩陣分解的推薦演算法 lfm隱語義模型 混合演算法 結合多種推薦演算法...
演算法學習 1
插入排序是學習演算法時最先學到的乙個演算法,很簡單,也許看一遍就會理解,從而覺得自己掌握這個基本的演算法。但是很多人可能會像我一樣,過了一段時間,提筆來寫一下插入排序的偽 就很難寫出書本上如此優雅的偽 insertion sort a for j 2 to a.length key a j inse...
演算法學習 1
劍指offer演算法題 題目描述 給你一根長度為n的繩子,請把繩子剪成整數長的m段 m n都是整數,n 1並且m 1,m n 每段繩子的長度記為k 1 k m 請問k 1 x xk m 可能的最大乘積是多少?例如,當繩子的長度是8時,我們把它剪成長度分別為2 3 3的三段,此時得到的最大乘積是18。...