推薦系統中的基本問題

2022-08-18 17:51:11 字數 1873 閱讀 3702

什麼是推薦系統?

1. 能做什麼?

2. 需要什麼?

需要已經存在的 user 和 item 之間的連線記錄

3. 怎麼做?

**使用者評分和偏好(機器推薦和人工推薦)

什麼時候需要推薦系統?

1. 符合產品的目的。(比如工具類產品就肯定不需要,但社群類產品就需要)

比如可以計算  δconnection / (δuser * δitem),如果值較小,說明增加的連線數主要靠增加的活躍使用者數和物品數貢獻,不適合加入推薦;反之說明連線數已經有自發增長的趨勢了,適合用推薦系統來加速。

推薦系統的問題模式

評分**:

提前**乙個使用者對每個物品會打多少分,比如1~5分,然後找出那些他可能打高分但是還沒消費的物品,推過去就好了

但怎麼衡量**分數和實際分數之間的誤差呢?(機器學習模型的優化多是誤差驅動)—— 其實就是個回歸問題,用均方誤差

評分**常見問題:

1. 資料不易收集,使用者給出對乙個物品給出評分,意味著他已經完成前面整個消費行為了

2. 資料質量難以保證,偽造評分資料容易、門檻低,但是獲得真實評分資料又不易、門檻高

3. 評分分布不穩定,不同時期整體評分差別大,個人評分在不同時期也會變化,不同人之間評分標準差別也很大

所以評分這種資料,就是使用者提供的顯式反饋。但其實還存在隱式反饋,通常是各類使用者行為,這就引出了下面一類問題

行為**:

從使用者登陸重新整理,到購買收藏,這類自覺自願產生的行為,一是資料量很大、二是相對真實。在整個消費流程中,使用者行為(比如購買、建立社交關係、完整消費長內容)常呈漏斗關係,從登陸重新整理開始,逐層經歷流失。推薦系統就是要讓完整的使用者行為越多越好。

**方式有兩種:直接**行為本身發生的概率(ctr 預估);**物品的相對排序

隱式反饋相比顯式反饋的優勢:

1. 資料更加稠密(評分資料總體上很稀疏)

2. 更能代表使用者的真實想法

3. 和模型的目標函式關聯更密切,更容易在 ab 測試中和測試指標掛鉤

行為**常見問題:

2. 探索與利用(ee 問題)。假設已經知道使用者的喜好,比較科學的方式是大部分推薦他感興趣的,小部分嘗試去探索新的興趣。如何平衡這兩者就是要處理好的問題。

推薦系統構成元素的相對重要性、思維模式

四個關鍵元素:1. ui 和 ue;2. 資料;3. 領域知識;4. 演算法。重要性遞減(演算法其實反而不怎麼重要?)

最先優化的一定是人機互動設計和使用者體驗設計,顏值即正義,互動邏輯要簡潔明瞭;其次就是資料,沒有歷史資料積累,別的都是白扯;再來就是所處領域的常識和通識,比如電商產品普通使用者更在意**、新聞類產品必須更新很快、沒必要給乙個歌手的骨灰粉再推薦該歌手的歌...等等。最後才是演算法的作用,各種演算法原理也是一定要掌握的,演算法的左右沒那麼大,但也不可或缺。

目標思維和不確定性思維

推薦系統是乙個資訊過濾系統,要解決的問題是如何讓資訊流通更有效率,追求指標的增長,背後思想強調是目標和不確定性:並不能很確定每個人將會看到什麼,也不一定能復現一些操作。但只要能讓目標指標增長即可。

輸出值在增長就說明修改有效,繼續沿著那個方向做下去,一旦無效或反作用就滾回去。

換句話說,要搞清楚做推薦系統的終極目標是什麼。在這個過程中,量化就非常重要,推薦的精準性要量化,優化改進動作也要量化。

不用因果邏輯嚴絲合縫的推演,而用概率的眼光看待結果。為什麼要有這種不確定思維?1. 大多數推薦演算法本來就是概率視角;2. 追求的是不擇手段增長目標,而不是糾結一兩個case;3. 為個別問題修改模型,付出和收益比;4. 本來出現意外的推薦也可能是有益的(ee問題)

mysql 的基本問題 MySQL 基本問題整理

整理 mysql 安裝部署運維問題解決優化記錄。1 安裝 系統為 centos7 1 rpm 包方式安裝yum install wget wget wget 解壓到某個路徑,安裝全部的 rpm 包yum install mysql rpm 2 yum 庫方式安裝 可參考官網切換版本 rpm ivh ...

C 基本問題

一 編譯為程式集 編譯c 源 檔案將得到程式集檔案,例如 乙個程式集檔案包含 4部分 pe表頭 clr表頭 元資料和 il pe表頭是 windows 作業系統要求的標準資訊 clr表頭專門用於那些需要 clr才能執行的模組 元資料實際上就是一塊二進位制資料,其中包含著一些表,我們可以將元資料表劃分...

DVB DVB基本問題

1 在進行節目搜尋時,nit搜尋,手動搜尋以及全頻段搜尋都要用到那些表,什麼順序?答 先收nit,找到頻點列表,依次搜每乙個頻點。如果是全頻段搜尋,自己建乙個頻點列表開始搜。在乙個頻點上,先收pat,然後收pmt,就可以把節目搜出來了,再搜sdt找到頻道名稱.2 為什麼不先搜尋sdt在搜尋pat p...