1. 程式人生 > >推薦系統第一課 聽課記錄,邊聽邊打字模式

推薦系統第一課 聽課記錄,邊聽邊打字模式


推薦系統第一課

羅老師,神祕人物
推薦系統介紹
評估方法
實戰
冷啟動問題
課程安排
推薦系統怎麼產生的。資訊太多了,需要推薦演算法匹配人和資訊。買東西,商店裡面一眼都能看清楚,買飲料,直接拿走,不要推薦系統。去超市,需要導購員,去淘寶,需要搜尋,更大系統需要推薦系統挖掘資訊。未來更多資訊,推薦系統也可能無法滿足需求。
推薦和搜尋區別
推薦被動,搜尋主動
搜尋意圖明確,推薦比較模糊。推薦個性化很強。流量:搜尋,頭部流量很強。推薦讓小眾需求得到滿足。搜尋快速滿足,推薦持續服務。評估指標,搜尋簡明,推薦複雜。
搜尋和推薦的關聯。
推薦系統存在的理由:
資訊過載,使用者需求不明確
推薦系統目標:連結使用者和物品,發現商品,留住使用者和內容生產者,實現商業目標,頭條瀏覽新聞,投廣告賺錢。購買各種服務,最終目的都是實現商業目標。
推薦系統用於:日常日常生活中。用三個不同推薦系統為代表,頭條新聞產品,快手為代表,短視訊推薦,第三個淘寶為代表的商品推薦,最早從亞馬遜開始,Netflix影片推薦。每個章節會對比不同的區別。
第二部分:
評估指標,評估方法
使用者,網站,內容提供方。
使用者:滿足需求,獲取資訊,快樂,擴充套件視野。獲得認可感,很開心
內容提供方:獲取長尾流量,獲得互動和認可,獲得收益;淘寶就是為了獲得收益,
網站:留住使用者,實現商業目標,
常用的評估指標:準確性,信任度,滿意度,實時性,覆蓋率,魯棒性(系統不要崩潰,保證穩定),多樣性,可擴充套件性,新穎性,商業目標,精細度,使用者存留。
顯示反饋(電影評分,是否喜歡這個推薦),隱式反饋(點選就滿意,直接離開就不滿意)
準確性:顯示高,隱世低。
數量:顯示少,隱世多
獲取成本:顯示高,隱世低。
準確性(學術性):定義:評分預測:RMSE;MAE
topN推薦:精確率和召回率
工業界準確性:和產品有很大關係;頭條,點選了,說明對標題,圖片認可,閱讀-閱讀時長-》分享和評論-》關注和付費
快手:播放-》播放完成-》點贊和評論-》關注和跟拍
淘寶評估:點選-》瀏覽深度-》加入購物車和收藏-》購買-》重複購買和好評
覆蓋度:推薦出來的商品佔據所有商品的數目
資訊熵:衡量資訊不確定性,越高,越不確定;
基尼係數:經濟學領域,衡量財產分配平衡度的。小於1
分層流量佔比:按照銷量分層,大於1萬的佔比多少,大於5000的佔比等
多樣性:推薦列表中物品不同的種類,
新穎性:從來沒有關注過的類別,商品等,一直在看鞋子,突然推薦了其他東西。推薦結果的平均流行度
驚喜性:歷史不相似。但是很滿意;
這三個指標和使用者歷史偏好有關。
往往需要犧牲準確性;
Exploitation:選擇現在最佳的方案;
Exploration:選擇不確定的方案,未來可能有高收益。嘗試不同種類
Bandit演算法原理:Epsilon-greedy:以1-epsilon的概率選擇當前收益最大的臂,以epsilon的概率隨機選取一個臂做探索;
upper confidence bound:均值越大,標準差越小,被選中的概率會越來越大;
Thompson Sampling:每個臂維護一個beta(wins, lose)分佈,每次用現有的beta分佈產生一個隨機數,選擇隨機數最大的臂;
三種的區別:UCB演算法返回結果一樣的;TS取樣有隨機化策略;
下面直接拿Python程式碼開講:程式碼還是老師剛寫的。
Bandit演算法應用:興趣探索:老虎機收益最高。
冷啟動探索:新使用者來了,不知道使用者的口味,
LinUCB:加入特徵資訊。用user和item的特徵預估回報機器置信區間,選擇置信區間上界最大的item推薦,觀察回報後更新線性關係的引數,

EE實踐:
興趣擴充套件:相似話題,搭配推薦,看優衣庫,直接擴充套件到無印良品
人群演算法:usercf,使用者聚類,相關性不強的人群聚類擴充套件,
Bandit演算法:
graph walking:
平衡個性化推薦和熱門推薦比例:平時不看娛樂,突然來個娛樂頭條,范冰冰出事了。這個演算法就是好演算法
隨機丟棄使用者行為歷史;
隨機擾動模型引數;

眼前的苟且和遠方的田野:
今天成交多少錢,使用者明天是否繼續買;
探索傷寒使用者體驗,頭條今天給我推薦很多不喜歡的娛樂新聞,我就刪除軟體了。
探索帶來的長期收益評估週期長,KPI壓力大。
如何平衡實時興趣和長期興趣。
如何平衡短期產品體驗和長期系統生態。
如何平衡大眾口味和小眾需求。
如何避免劣幣驅逐良幣。
休息5分鐘。

評估方法:
問卷調查:成本高
離線評估:在使用者看到過的候選集上做評估,且跟線上真實效果存在偏差;智慧評估少數指標;速度快,不損害使用者體驗。
線上評估:A/B testing
實踐:離線評估和線上評估相結合,定期做問卷調查

A/B testing:單層實驗:分流方法給每個實驗組分配一定流量。每個組配置不同的實驗引數。
三個組:UI測試,推薦實驗,廣告實驗。
只能支援少量實驗,不利於迭代;
實驗之間不獨立,策略可能相互影響;分流方式不靈活。
多層重疊實驗框架:保留單層實驗框架易用,快速優點同時,增加可擴充套件性。
核心思路:
分配函式如何設計?保證分配的均勻性和正交性。
如何處理實驗樣本的過濾?
分配多大流量可以使實驗置信?

推薦系統架構:
2013 NETFLIX:出租影像DVD,類似愛奇藝,視訊的推薦。06年舉辦了百萬大獎的比賽,推進了演算法的進化。
offline,一天跑一次,online層輕量級,要快,用了邏輯迴歸。
淘寶2015年的推薦系統架構:底層儲存如何,
2016 youtube架構

推薦系統發展階段:
1.0 關聯規則,熱門推薦等統計方法。啤酒喝尿布放一起。
2.0 矩陣分解,協同過濾,離線推薦列表計算
3.0 召回+ learning to rank重排序。比較成熟時代2014年以後大規模使用了。
4.0 召回和排序實時化。
5.0 end2end深度學習,一切都是embedding
6.0 智慧化推薦系統
比如,手機被其他人用了,是否推薦內容要變化。
頭條和快手已經到了5.0.阿里和騰訊滯後了一點,為啥?因為抖音全部依賴於推薦,淘寶不那麼依賴推薦,而且新公司歷史包袱比較小。

發展趨勢:單一模組到多模組;單一目標到多目標;單個場景到多場景;離線計算到實時計算;人工規則到人工智慧;淺度模型到深度模型;

推薦系統架構:資料收集,學習,服務過程,還有反饋過程。
學術和工業差距:
資料量從百萬到百億
資料分佈:學術穩定,工業變化;
研究問題:學術:定義清晰;工業複雜;
關注點:學術追求精度極致;工業考慮價效比;
評估指標:學術單一,工業多個目標
評估方法:學術離線;工業:線上和問卷調查

召回,預估,排序
學習資料:推薦系統實踐,比較老舊,今日頭條程式設計師看書一週,然後搭建系統,推薦系統
三篇論文:
item-based collaborative filtering recommendation algorithms
factorization meets the neighborhood:
matrix factorization techniques for recommender systems;有原始碼
上面三篇文章一定要看,因為課程會講這些。

工業實踐學習資料:
Facebook實踐:recommending items to more than a billion people。需要翻牆
quora是如何做推薦的?
real-time personalization using embeddings for search ranking at airbnb
deep neural networks for youtube recommendations
wide& deep learning for recommender systems
ad click prediction: a view from the trenches

認識你是我們的緣分,同學,等等,學習人工智慧,記得關注我。

 

 

微信掃一掃
關注該公眾號

《灣區人工智慧》

回覆《人生苦短,我用Python》便可以獲取下面的超高清電子書和程式碼