遷移學(xué)習(xí)與跨域推薦,以及解決跨域推薦的方法
本文主要是詳細(xì)介紹一下跨域推薦,包含但不局限于以下幾個部分:
-
遷移學(xué)習(xí)
-
跨域推薦
-
跨域推薦可以怎么做
-
冷啟動的其他一些方法
-
-
可以參考的論文有哪些
1. 遷移學(xué)習(xí)
以下內(nèi)容參考【推薦系統(tǒng)中的多任務(wù)學(xué)習(xí)-盧明冬】進(jìn)行修改和介紹,更多詳細(xì)內(nèi)容可以閱讀:https://lumingdong.cn/multi-task-learning-in-recommendation-system.html。
1.1 遷移學(xué)習(xí)介紹
遷移學(xué)習(xí)(Transfer Learning,TL)**是屬于機(jī)器學(xué)習(xí)的一種研究領(lǐng)域。它專注于存儲已有問題的解決模型,并將其利用在其他不同但相關(guān)問題上。比如說,用來辨識汽車的知識(或者是模型)也可以被用來提升識別卡車的能力。
ML vs TL
遷移學(xué)習(xí)設(shè)計(jì)用于解決這些相互隔離的學(xué)習(xí)方式,可以利用先前訓(xùn)練模型中的知識(即特征,權(quán)重等)訓(xùn)練新的模型,實(shí)現(xiàn)從其它任務(wù)獲取的知識去解決相關(guān)的問題,甚至可以解決諸如新任務(wù)具有較少數(shù)據(jù)等問題。
1.2 遷移學(xué)習(xí)可以解決哪些問題
-
大數(shù)據(jù)與少標(biāo)注的矛盾:雖然有大量的數(shù)據(jù),但很多都是沒有標(biāo)簽的,這些數(shù)據(jù)應(yīng)用無監(jiān)督模型會比較好,但是當(dāng)使用有監(jiān)督模型時就不太友好了,而如果選擇人工標(biāo)注則會耗時耗力
-
大數(shù)據(jù)與弱計(jì)算的矛盾:普通人無法擁有龐大的數(shù)據(jù)量與計(jì)算資源。因此需要借助于模型的遷移,比如圖像識別中進(jìn)行對訓(xùn)練好的模型進(jìn)行 fine-tuning 完成自己的任務(wù)
-
普適化模型與個性化需求的矛盾:即使是在同一個任務(wù)上,一個模型也往往難以滿足每個人的個性化需求,比如特定的隱私設(shè)置。這就需要在不同人之間做模型的適配
-
特定應(yīng)用(如冷啟動)的需求
遷移學(xué)習(xí)中還有三個比較重要的問題,即:
-
遷移什么(What To Transfer):如何選擇我們的先驗(yàn)知識進(jìn)行遷移,并不是所有的源域都可以遷移到目標(biāo)域,比如說一個文本分類的經(jīng)驗(yàn)知識遷移到圖像分類上顯然是不合適的,因此在選定遷移的源域和目標(biāo)域時一定要判斷兩者有相關(guān)性,不論是用戶還是item
-
何時遷移(When To Transfer):什么時候可以進(jìn)行遷移,什么時候不能遷移?在某些場景中,遷移知識可能要比改進(jìn)知識更糟糕(該問題也稱為 “負(fù)遷移”)。我們的目標(biāo)是通過遷移學(xué)習(xí)改善目標(biāo)任務(wù)的性能或結(jié)果,而不是降低它們。(避免負(fù)遷移)
-
如何遷移(How To Transter):如何進(jìn)行遷移學(xué)習(xí)?我們需要確定跨域或跨任務(wù)實(shí)現(xiàn)知識實(shí)際遷移的方法。該問題涉及如何改進(jìn)現(xiàn)有的算法和各種技術(shù)(設(shè)計(jì)遷移方法)
1.3 遷移學(xué)習(xí)基本概念
遷移學(xué)習(xí)中有兩個很重要的概念:域(domain)和任務(wù)(Task)。
域:數(shù)據(jù)特征和特征分布組成,是學(xué)習(xí)的主體
-
源域 (Source domain):已有知識的域
-
目標(biāo)域 (Target domain):要進(jìn)行學(xué)習(xí)的域
任務(wù):由目標(biāo)函數(shù)和學(xué)習(xí)結(jié)果組成,是學(xué)習(xí)的結(jié)果
域的不同有兩種可能的場景:
-
特征空間不同
例如文本分類任務(wù)中,中文文本和英文文本的特征空間不同
圖像識別任務(wù)中,人臉圖片和鳥類圖片的特征空間不同
-
邊緣概率分布不同
例如文本分類任務(wù)中,文本都是中文語言的特征空間,但討論的是不同的主題,如政治和娛樂
圖片識別任務(wù)中,圖片都是鳥類的特征空間,但一個是在城市中拍到的鳥,一個是在大自然中拍到的
任務(wù)的不同也有兩種可能的場景:
-
標(biāo)簽空間不同
例如在文本分類任務(wù)中,一個標(biāo)簽是新聞類別標(biāo)簽,一個標(biāo)簽是文本情感標(biāo)簽;
人臉識別任務(wù)中,一個標(biāo)簽是性別,一個標(biāo)簽是人名。
-
條件概率不同
例如源和目標(biāo)數(shù)據(jù)類別分布不均衡。這種情況非常普遍,可用過采樣(over-sampling)、欠采樣(under-sampling)、SMOTE 等方法進(jìn)行處理。
一般標(biāo)簽不同,條件概率分布也會不同,因?yàn)楹苌贂霈F(xiàn)兩個不同的任務(wù)有不同的標(biāo)簽空間而條件概率分布完全相同的情況。
也有論文將域(domain)和 任務(wù)(task)合二為一稱之為一個 dataset,cross-dataset 指的就是 domain 或者 task 不同
1.4 遷移學(xué)習(xí)分類
按特征空間分
-
同構(gòu)遷移學(xué)習(xí)(Homogeneous TL): 源域和目標(biāo)域的特征空間相同
-
異構(gòu)遷移學(xué)習(xí)(Heterogeneous TL):源域和目標(biāo)域的特征空間不同
按遷移情景分
參考上圖,根據(jù)所使用的傳統(tǒng)機(jī)器學(xué)習(xí)算法,遷移學(xué)習(xí)方法可分類為:
-
歸納式遷移學(xué)習(xí)(Inductive Transfer learning):在該場景中,源域和目標(biāo)域相同,但源任務(wù)和目標(biāo)任務(wù)彼此不同。算法嘗試?yán)脕碜栽从虻臍w納偏差幫助改進(jìn)目標(biāo)任務(wù)。根據(jù)源域中是否包含標(biāo)記數(shù)據(jù),歸納式遷移學(xué)習(xí)可以進(jìn)一步分為類似于**多任務(wù)學(xué)習(xí)(Multi-task Learning) 和 自學(xué)習(xí)(Self-taught Learning)**這兩類方法
-
直推式遷移學(xué)習(xí)(Transductive Transfer Learning):源域和目標(biāo)域不同,學(xué)習(xí)任務(wù)相同。在該場景中,源任務(wù)和目標(biāo)任務(wù)之間存在一些相似之處,但相應(yīng)的域不同。通常源域具有大量標(biāo)記數(shù)據(jù),而目標(biāo)域沒有。根據(jù)特征空間或邊緣概率的設(shè)置不同,直推式遷移學(xué)習(xí)可進(jìn)一步分類為多個子類
-
無監(jiān)督遷移學(xué)習(xí)(Unsupervised Transfer Learning):源域和目標(biāo)域均沒有標(biāo)簽。該場景類似于歸納式遷移學(xué)習(xí),重點(diǎn)關(guān)注目標(biāo)域中的無監(jiān)督任務(wù)
下表總結(jié)了上述遷移學(xué)習(xí)策略在不同場景和領(lǐng)域下的對比:
-
基于樣本的遷移學(xué)習(xí)(Instance transfer):通常,理想場景是源域中的知識可重用到目標(biāo)任務(wù)。但是在大多數(shù)情況下,源域數(shù)據(jù)是不能直接重用的。然而,源域中的某些實(shí)例是可以與目標(biāo)數(shù)據(jù)一起重用,達(dá)到改善結(jié)果的目的。對于歸納式遷移,已有一些研究利用來自源域的訓(xùn)練實(shí)例來改進(jìn)目標(biāo)任務(wù),例如 Dai 及其合作研究者對 AdaBoost 的改進(jìn)工作
-
基于特征表示的遷移學(xué)習(xí)(Feature-representation transfer): 該類方法旨在通過識別可以從源域應(yīng)用于目標(biāo)域的良好特征表示,實(shí)現(xiàn)域差異最小化,并降低錯誤率。根據(jù)標(biāo)記數(shù)據(jù)的可用性情況,基于特征表示的遷移可采用有監(jiān)督學(xué)習(xí)或無監(jiān)督學(xué)習(xí)
-
基于參數(shù)的遷移學(xué)習(xí)(Parameter transfer): 該類方法基于如下假設(shè):針對相關(guān)任務(wù)的模型間共享部分參數(shù),或超參數(shù)的先驗(yàn)分布。不同于同時學(xué)習(xí)源和目標(biāo)任務(wù)的多任務(wù)學(xué)習(xí),在遷移學(xué)習(xí)中我們可以對目標(biāo)域的應(yīng)用額外的權(quán)重以提高整體性能
-
基于關(guān)系知識的遷移學(xué)習(xí)(Relational-knowledge transfer): 與前面三類方法不同,基于關(guān)系知識的遷移意在處理非獨(dú)立同分布(i.i.d)數(shù)據(jù)即每個數(shù)據(jù)點(diǎn)均與其他數(shù)據(jù)點(diǎn)存在關(guān)聯(lián)。例如,社交網(wǎng)絡(luò)數(shù)據(jù)就需要采用基于關(guān)系知識的遷移學(xué)習(xí)技術(shù)
下表清晰地總結(jié)了不同遷移內(nèi)容分類和不同遷移學(xué)習(xí)策略間關(guān)系:
OK上邊的便是關(guān)于遷移學(xué)習(xí)的介紹了,相信你讀完之后會有自己的理解!
2. 跨域推薦
那什么是跨域推薦呢?一句話概括就是:當(dāng)遷移學(xué)習(xí)應(yīng)用到推薦系統(tǒng)中時就被稱為跨域推薦(Cross-Domain Recommendation)。
跨域推薦的目的一般是有下面幾個:
-
冷啟動:比如一個公司的兩個APP業(yè)務(wù),用戶群體交叉很大,但是item不同,當(dāng)A業(yè)務(wù)的用戶首次來訪B業(yè)務(wù)時,如何做出有效的推薦,從而提升留存、轉(zhuǎn)化率,跨域推薦為冷啟動提供了一種新的思路,但其局限性也很強(qiáng),對于一些一個公司只有一個業(yè)務(wù)的場景是很難適用的
-
跳出信息繭房:基于同業(yè)務(wù)的推薦,往往會讓用戶的興趣越變越窄,因?yàn)槎际腔谟脩舻男袨檫M(jìn)行挖掘的,當(dāng)使用跨域推薦時可以跳出原先的舒適圈,從而改善推薦系統(tǒng)的平衡性、多樣性和新奇性
-
減少數(shù)據(jù)稀疏性,提高準(zhǔn)確度:同樣是針對兩個不同業(yè)務(wù)場景而言的,新業(yè)務(wù)或者其中一個業(yè)務(wù)由于某些原因數(shù)據(jù)比較稀疏,通過引入跨域推薦,豐富數(shù)據(jù)
-
強(qiáng)化用戶偏好:新用戶的偏好是很弱的,通過跨域推薦強(qiáng)化用戶偏好
3.跨域推薦可以怎么做
3.1 基于頻繁模式挖掘
獲取用戶在域A和域B中的共現(xiàn)行為,構(gòu)造共現(xiàn)pair對 <itemA, itemB>,當(dāng)其共現(xiàn)次數(shù)大于某個值時,認(rèn)為其有效,最終可以得到域A中item的“相似”域B中的item list
或者計(jì)算itemA與itemB的相關(guān)性,計(jì)算公式為:
其中:
-
為物品的共現(xiàn)次數(shù),為對物品有行為的用戶數(shù),為對物品有行為的用戶數(shù)
-
表示總的用戶數(shù)
3.2 簇類熱門
-
獲取域A item的embedding,userID的embedding向量則由用戶最近行為的item序列的平均得到
-
對域A的用戶進(jìn)行聚類,得到每個簇類的top 熱門
-
用戶訪問域B時 推薦其所在簇類下的熱門
這里不一定使用embedding進(jìn)行聚類,也可以根據(jù)屬性進(jìn)行聚類
3.3 基于屬性標(biāo)簽映射
通過源域的屬性標(biāo)簽和目標(biāo)域的屬性標(biāo)簽在用戶訪問序列的共現(xiàn),構(gòu)建屬性映射,有兩種方法:
-
基于統(tǒng)計(jì)的方法,計(jì)算源域?qū)傩院湍繕?biāo)域?qū)傩缘南嚓P(guān)性
-
word2vec,通過屬性序列,生成屬性的embedding
例如,用戶的屬性點(diǎn)擊序列數(shù)據(jù)為
-
user1: cate1, cate2, cate2, tag1, cate2, tag2,...
-
user1: cate3, cate4, tag1, cate2, tag3,...
基于統(tǒng)計(jì)的方法計(jì)算
統(tǒng)計(jì)包含(cate1,tag1)(cate2,tag2)(cate3,tag1)....的用戶數(shù)作為分子
統(tǒng)計(jì)包含cate1,cate2,....,tag1,tag2的用戶數(shù)作為分母,計(jì)算相關(guān)性
基于word2vec的方式
基于word2vec、skip-gram的方式,按天劃分session,計(jì)算得到cate和tag的embedding
3.4 基于FM
可以參考論文:2014_Cross-Domain Collaborative Filtering with Factorization Machines
這個后期會單獨(dú)出一篇文章來介紹其原理和實(shí)戰(zhàn)應(yīng)用!歡迎關(guān)注!
3.5 基于隱因子映射
參考論文:Cross-Domain Recommendation: An Embedding and Mapping Approach
-
分別構(gòu)建源域和目標(biāo)域的user、item embedding
-
構(gòu)建源域和目標(biāo)域 user embedding的映射函數(shù) f
-
使用映射函數(shù)f將源域中的user embedding表示成 目標(biāo)域中的user embedding,然后根據(jù) embedding相似進(jìn)行召回
參考文章: 論文|一種基于Embedding和Mapping的跨域推薦方法
3.6 基于DNN
4.參考的論文有哪些
跨域推薦在業(yè)界被關(guān)注的比較多,發(fā)表的論文也很多,這里列舉了一些比較經(jīng)典的論文,可以在公眾號回復(fù)【跨域推薦論文】獲取。
-
2014_Cross-Domain Collaborative Filtering with Factorization Machines
-
2015_Cross-domain recommendation without shared users or items by sharing latent vector distributions
-
2016_A Multi-View Deep Learning Approach for Cross Domain User Modeling in Recommendation Systems
-
2016_WRAP-connecting-social-media-e-commerce-He-2018
-
2017_CCCFNet- A Content-Boosted Collaborative Filtering Neural Network for Cross Domain Recommender Systems
-
2017_Cross-Domain Recommendation via Clustering on Multi-Layer Graphs
-
2017_Cross-Domain Recommendation- An Embedding and Mapping Approach
-
2018_Cross-Domain Recommendation for Cold-Start Users via Neighborhood Based Feature Mapping
-
2018_Cross-domain Recommendation via Deep Domain Adaptation
-
2019_DDTCDR- Deep Dual Transfer Cross Domain Recommendation
-
2019_Easy Transfer Learning by Exploiting Intar-domain Structures
-
2019_Transfer Learning with Domain-aware Attention Network for Item Recommendation in E-commerce
-
2020_MiNet- Mixed Interest Network for Cross-Domain Click-Through Rate Prediction
5. 參考
-
https://lumingdong.cn/multi-task-learning-in-recommendation-system.html#%E8%BF%81%E7%A7%BB%E5%AD%A6%E4%B9%A0
-
https://xmzzyo.github.io/2020/04/12/Cross-domain-Recommendation/