參考鏈接:https://github.com/datawhalechina/fun-rec
一挑豌、掌握數(shù)據(jù)分析方法
數(shù)據(jù)分析的價值主要在于熟悉了解整個數(shù)據(jù)集的基本情況包括每個文件里有哪些數(shù)據(jù)焚刺,具體的文件中的每個字段表示什么實際含義,以及數(shù)據(jù)集中特征之間的相關(guān)性浑劳,在推薦場景下主要就是分析用戶本身的基本屬性拌汇,文章基本屬性酌泰,以及用戶和文章交互的一些分布晒来。
常用的數(shù)據(jù)分析方法有描述統(tǒng)計肛度、假設(shè)檢驗、信度分析谷饿、列聯(lián)表分析惶我、相關(guān)分析、方差分析博投、回歸分析绸贡、聚類分析、判別分析、主成分分析听怕、因子分析捧挺、時間序列分析、生存分析尿瞭、典型相關(guān)分析闽烙、ROC分析等。不是所有的分析方法都需要用到声搁,不同的場景使用不同的方法進行分析黑竞。
二、了解多路召回策略
召回負責(zé)從百萬級物品中粗選出千級數(shù)量物品疏旨,常用算法有協(xié)同過濾很魂、用戶畫像等,有時候也叫粗排層檐涝。
所謂的多路召回策略遏匆,就是指采用不同的策略、特征或簡單模型谁榜,分別召回一部分候選集幅聘,然后把候選集混合在一起供后續(xù)排序模型使用∏灾玻可以明顯的看出喊暖,“多路召回策略”是在“計算速度”和“召回率”之間進行權(quán)衡的結(jié)果。其中撕瞧,各種簡單策略保證候選集的快速召回陵叽,從不同角度設(shè)計的策略保證召回率接近理想的狀態(tài),不至于損傷排序效果丛版。如圖1是多路召回的一個示意圖巩掺,在多路召回中,每個策略之間毫不相關(guān)页畦,所以一般可以寫并發(fā)多線程同時進行胖替,這樣可以更加高效。
圖1只是一個多路召回的例子豫缨,通扯懒睿可以使用多種不同的策略來獲取用戶排序的候選商品集合,而具體使用哪些召回策略其實是與業(yè)務(wù)強相關(guān)的 好芭,針對不同的任務(wù)就會有對于該業(yè)務(wù)真實場景下需要考慮的召回規(guī)則燃箭。例如新聞推薦,召回規(guī)則可以是“熱門視頻”舍败、“導(dǎo)演召回”招狸、“演員召回”敬拓、“最近上映“、”流行趨勢“裙戏、”類型召回“等乘凸。
三、了解冷啟動策略
冷啟動問題可以分成三類:文章冷啟動累榜,用戶冷啟動营勤,系統(tǒng)冷啟動。
- 文章冷啟動:對于一個平臺系統(tǒng)新加入的文章壹罚,該文章沒有任何的交互記錄葛作,如何推薦給用戶的問題。(場景可以認為是渔嚷,日志數(shù)據(jù)中沒有出現(xiàn)過的文章都可以認為是冷啟動的文章)
- 用戶冷啟動:對于一個平臺系統(tǒng)新來的用戶,該用戶還沒有文章的交互信息稠曼,如何給該用戶進行推薦形病。(場景就是,測試集中的用戶是否在測試集對應(yīng)的log數(shù)據(jù)中出現(xiàn)過霞幅,如果沒有出現(xiàn)過漠吻,那么可以認為該用戶是冷啟動用戶。但是有時候并沒有這么嚴格司恳,我們也可以自己設(shè)定某些指標來判別哪些用戶是冷啟動用戶途乃,比如通過使用時長,點擊率扔傅,留存率等等)
- 系統(tǒng)冷啟動:就是對于一個平臺剛上線耍共,還沒有任何的相關(guān)歷史數(shù)據(jù),此時就是系統(tǒng)冷啟動猎塞,其實也就是前面兩種的一個綜合试读。
四、了解常見的排序模型
排序負責(zé)對召回層召回的千級物品進行精細排序荠耽,也叫精排層钩骇。
常見的排序方法有冒泡排序、選擇排序铝量、插入排序倘屹、希爾排序、快速排序慢叨、歸并排序和堆排序纽匙。
五、了解模型融合
在每個召回排序策略后都得到了一些候選集后拍谐,然后按照順序哄辣、平均法等完成加權(quán)融合请梢。
六、總結(jié)
推薦系統(tǒng)需要學(xué)習(xí)的東西很多力穗,代碼超多而且很復(fù)雜毅弧,召回與排序只是冰山一角,但是掌握它的基礎(chǔ)和適用場景能解決很多問題当窗。