通俗理解「推薦演算法」(一)

2021-08-24 23:15:48 字數 1136 閱讀 9196

對博文機器學習入門--協同過濾演算法[推薦演算法])中,電影推薦示例的通俗理解。

業務描述:

1、有"小明","小花","小美","小張","小李"這5個使用者。

2、有"電影1","電影2","電影3","電影4","電影5","電影6","電影7"這7部電影。

3、每個使用者可以對看過的電影打整數分值,最低分1分,最高分5分,0分表示沒有看過該電影。收集的打分資料如下:

,表示小明對電影1至電影5的打分,小明沒有看過電影6和電影7,下同。

4、只為使用者推薦他/她未看過的電影。

不說那些嚇人的演算法理論!!!

中國有句古語「人以類聚,物以群分」。小明的朋友非常喜歡的電影,小明應該也喜歡。小明的朋友有哪些,或者說他平時和誰「走的最近呢」?聯想到大學裡學的空間兩個點的距離計算公式,點a的三維空間座標為(x1, y1, z1),點b的座標為(x2, y2, z2),ab的距離等於

同理,ac、ad、ae。。。等的距離都可以計算出來。距離越近表示和a點越「志同道合」、「趣味相投」。

回到本例,可以將小明對7部電影的打分看作他在「電影藝術空間」裡的座標。分別計算小明與小花、小美等的距離,分別為:

小明與小花的「距離」:8.18535277187245

小明與小美的「距離」:6.244997998398398

小明與小張的「距離」:4.123105625617661

小明與小李的「距離」:9.0

顯然,小明依次與小張、小美「走的最近」,是好朋友(注:暫時只取兩位好友)。小張、小美對每部電影的喜好,或者量化為打分,將影響到系統為小明的推薦結果。那就綜合一下小張、小美的電影打分,按如下公式計算每部電影的推薦度:

不難理解,推薦度越高,且小明沒有看過的電影,應該被推薦給小明,應該是電影6。

考慮一些特殊情況。

1、如果小張從未對電影進行過打分,即第一次使用該推薦系統,則別人打分值較高的電影應該被推薦。經過計算測試就是這種效果,比較符合一般人的常識。

2、如果某電影剛剛上映不久,雖然口碑非常好,如《戰狼2》,但打分的人數較少,上述演算法就有缺陷。

3、如果某電影已上映好幾年了,但由於某些原因,打分的人數寥寥無幾,上述演算法也會有缺陷。

通俗理解EM演算法

如果使用基於最大似然估計的模型,模型中存在隱變數,就要用em演算法做引數估計。個人認為,理解em演算法背後的idea,遠比看懂它的數學推導重要。idea會讓你有乙個直觀的感受,從而明白演算法的合理性,數學推導只是將這種合理性用更加嚴謹的語言表達出來而已。打個比方,乙個梨很甜,用數學的語言可以表述為糖...

推薦演算法一 基礎概念理解

隨著人工智慧的不斷發展,機器學習這門技術也越來越重要,很多人都開啟了學習機器學習,本文就介紹了機器學習的基礎內容。扯犢子,想轉行學 推薦演算法,記錄一下學習歷程!1.讓使用者更快更好地獲取到自己需要的內容 2.讓內容更好更快的被推薦到喜歡它的使用者 3.讓 平台 更有效的保留使用者資源 1.知你所想...

通俗理解RxJS(一)

自學 rx 快有乙個周了,它非常適合處理複雜的非同步場景。結合自己所學,決定寫系列教程。我認為,rx 中強大的地方在於兩處 在 rx 中,我們先預裝好管道,通過管道流通資料 這些管道的 多種,create from,fromevent,of 通過操作符將管道 拼接,合併,對映.形成最終的資料模型 對...