鄭宇:跨域數據融合方法概述(總結)
1.簡介 數據來源主要有:社交媒體、交通、醫療、無線通信等。如:要改善城市規劃,我們需要考慮道路結構、交通流量、人口等因素。為解決空氣污染問題,我們需要氣象數據和空氣質量數據、汽車和工廠的排放量和地域的擴散情況。為了給用戶提供更加精準的旅行建議,我們需要收集用戶在網上的行為信息和現實中的信息。把不同的數據集平等對待或把不同的數據特徵簡單的關聯在數據挖掘中不會得到理想的效果。因此,數據融合技術在大數據研究中是一個挑戰,需要先進的數據融合技術。
三種可以融合不同數據集的方法:(1)數據挖掘中對不同的平台、不同的數據集使用不同的數據融合方法。example:按照道路把城市分割成若干個不想交的區域,然後基於人們的行為數據檢測這些區域中的幾個不相連的區域,這些被檢測的區域可以指示這一區域的交通網路是否已經過時。(2)使用深度神經網路學習來自不同數據集的新特徵,這些新特徵會適用於一個新的分類或預測模型。(3)基於語義的混合數據。具體可以分為四類:A.基於多視角的方法。對不同的數據集使用不同的視角,不同的特徵將適用於不同的模型,從不同的角度描述物體,這些結果在後期會融合在一起或者起相互加強的作用.example:共同訓練;B:基於相似性。這種方法促使不同的物體之間潛在的關聯或相似性融合不同的數據集.example:協同過濾.這裡不同的數據集以相同的維度被不同的矩陣約束,通過分解這些矩陣可以得到比分解一個矩陣更好的結果;C:基於相互依賴的方法。這種方法使用一個圖表表示相互依賴的數據集;D:基於遷移學習的方法。這種方法把數據從數據源遷移到目標域,解決了目標域數據稀少問題。遷移學習甚至可以用於不同學習任務間的遷移,example:圖書推薦、旅行線路推薦。
本文可以促進大數據研究和解決大數據融合的問題。
2.相關工作
2.1與傳統數據融合的關聯
傳統數據融合旨在通過模式映射和副本檢測的方式,使用相同的模式把多個數據集存儲在資料庫中,這些來自不同數據集的數據描述了相同的特徵。然而,在大數據時代,不同領域產生的多個數據集隱含的與某些物體之間存在關聯性.example:儘管一個地區的氣象數據和交通來自不同的數據域,這些數據顯示了這個地區的某些相關的狀況。對來自不同數據域的數據融合時不能簡單的通過模式映像和副本檢測實現,而需要用不同的方法從每個數據集中提取信息,然後把從不同數據集提取的信息有機的整合在一起,從而感知這一區域的有效信息。除了模式映射之外,還有很多信息融合的方法,這與傳統的數據融合有很大的不同。
傳統的數據融合方式 跨域大數據融合方式2.2異類信息網路之間的關係
一個信息網路代表現實世界的抽象。這種抽象性不僅在表示和存儲現實世界的信息方面起重要作用,而且通過探索事物之間的聯繫提供了挖掘信息的方法。除了現存的許多把相互關聯的數據視為圖或網以外,異類的信息也可以組成不同的節點和不同類型的聯繫.example:書目信息網組成了作者、會議和論文,這個網中的不同節點之間的邊可以表示不同的含義,如:作者發表的論文,哪篇論文在會議中提到了,作者出席了哪些會議等。
異類信息網幾乎可以在任何領域中構建,如社交網路、電子商務、在線影視等。但是這只是在單一的數據域中聯繫物體,而不是跨域數據關聯。如;在書目信息網中,作者、論文和會議都來自書目域。如果想使兩個完全不同的數據域中的數據融合,如:交通數據、社交數據和空氣質量,從這些來自不同數據域的不同物體的異類的信息網或許找不到語義間明顯的聯繫。因此,提出的演算法不能直接用於異域的數據融合。
3.基於平台的跨域數據融合方法
這種方法在不同平台的不同的數據挖掘任務使用不同的數據集。因此不同數據集是低耦合的,並不要求不同數據集的數據形式必須一致。
example1:計程車的軌跡可以被用來制定這一地區的地圖,在這個地圖中,每一個小地區是一個節點,每條邊顯示出兩個地區間的路線。這種方式畫出的地圖其實是交通網與計程車軌跡的混合信息。通過分析這張地圖,一個研究機構提出基於這個地圖鑑定交通網的不合理之處、檢測和診斷交通的異常狀況,發現城市的功能區域。
example2:好友推薦。在現實生活中,不同用戶曾經到過的地方一般不會又重複,每一個用戶停留的點都基於這個點周圍的信息轉換成一個特徵向量。如:在1個點附近有5個餐館,1個購物市場,1個加油站。換言之,以這個特徵向量為中心的幾個相似的地方這個人都參觀過.
最後,這些點根據特徵向量不同被分成了不同的組,從而構成一個樹狀結構,這個結構中的節點是得出結果的族,一個父節點是由多個子節點構成的。從樹中選擇一個節點,這個人一定存在於這顆樹中的至少一個節點中,我們可以根據這棵樹的一部分指示用戶的位置。一個用戶的一部分樹中的信息可以通過聯繫一層中同一條邊的兩個節點進一步轉換成一棵樹中的一層或幾層。這張圖中包含了用戶的出行軌跡和用戶經過的地點,因為不同用戶的分層數據在同一個樹結構中,他們的歷史位置變成了可以比較的量。最終,兩個用戶的相似性可以通過圖中的相似性觀測。
example3:基於汽車的GPS導航數據或交通網數據檢測交通異常。汽車在道路上的異常事故可以通過汽車在道路上的行為與平時明顯不同來表示。用檢測到異常的時間跨度值和這個地點陷入異常的範圍為條件,然後檢索相關的在這一路段發生事故的時候人們這裡發布的媒體信息。然後他們從這些社交媒體信息中通過挖掘代表行的術語(如:災難、防禦等)來描述檢測到的異常,他們檢測到的這種異常在正常時間段很少發生但是在這段異常時間內發生很頻繁。第一步是縮小被檢測的社交媒體的規模,第二步是使第一步獲取到的結果的語義更加豐富。
4.基於特徵級別的數據融合
4.1直接關聯
這種方法對從不同的數據集中採集的數據平等看待,進而把他們連接成一個特徵向量,這個特徵向量最後被用與聚類或事物分類。因為不同數據集的表示、分布和規模不同,很多研究認為這種數據融合的方法存在一定的局限性。首先,在少量的訓練樣本中,這種相互關聯有可能導致過擬合,並且每一個樣本的具體特徵可能被忽略;第二點,從不同形式的數據中發現關聯性不強的數據之間的高度非線性關係是很困難的;第三點,從可能存在相互關聯的不同數據集中提取的數據特徵可能存在冗餘和依賴。
這一領域的一個子範圍中的一個先進的學習方法認為:可以在目標方法中添加少量的規則處理冗餘特徵的問題。因此,機器學習模型很可能是給冗餘特徵分配一個接近0的權重。
example4:從不同的數據集中訓練n個特徵,如:計程車軌跡、交通網和在線社交媒體,把訓練之後的自動排序模型應用於預測房地產市場潛在的風險。
4.2基於DNN的數據融合
近期,提出了很多方法,這些方法可以用於學習基於DNN的不同的數據集中的共同的特徵。實際上,DNN在人工智慧領域並不是全新的框架。可以說DNN是多層的包含大量參數的神經網路。在以前,常常基於反響傳播的方法訓練神經網路,當這個神經網路有多個隱藏層的時候工作效果並不是特別好。近年來,新的學習演算法(aka:深度學習),如:自動編碼和restricted boltzmann machine(受限的波爾茲曼機)已經被提出用於逐層學習DNN的參數。使用監督學習、無監督學習、半監督學習的方法,深度學習可以學習到多層次特徵,這些特徵可以幫助我們迅速弄清楚數據間的關係,如:圖像、聲音和文本。DNN除了可以用於預測之外,還可以用於學習新的表現特徵,這可以使學習之後的模型用於新的分類器或預測器。已經得到證實的是:在圖像識別和隨聲翻譯領域,這種新的特徵比人工獲取的特徵更有效。
DNN主要應用於處理單一形式的數據。在近期的一系列研究中,DNN開始被用來學習具有不同數據形式的數據的特徵。這種方法在分類和信息檢索中很有用。
example5:Ngiam提出了一種深度自動編碼架構,這種架構可以捕獲不同形式的數據的最核心的特徵。
如上圖,提出了針對多種數據形式的深度自動編碼學習結構,在這個結構中,一個單一形式的數據用作輸入量進行重新構造一個針對視頻或音頻的更好特徵。共性學習和多模式融合,在訓練和測試中包含不同的數據形式,在本論文中使用了如下圖所示的結構:通過對大量的學習模型進行評估顯示:深度學習可以有效的學習到:(1)在其他形式的數據的幫助下,可以形成更好的單一形式的特徵;(2)這些共享的特徵顯示出不同數據形式間的相關性。使用Boltzmann Machine是深度學習在不同形式數據融合中的又一種應用。本文先對多形式學習模型定義3中標準:(1)學習到的不同特徵反應不同形式之間的相似性;(2)這些共同的特徵在缺少數據形式的情況下也可以很容易的獲取到;(3)當從其他數據中查詢時,這些新的數據特徵可以促進檢索。一種稱為深度Boltzmann machine被提出可以完成圖片融合、文本分類和錯誤檢索。這種模型也符合上述三種標準。
example6:如下圖所示:
多模型DBM利用限制性Boltzmann Machine來刻畫密集且有真實價值的圖像特徵向量,利用重複的柔性傳輸函數來刻畫稀疏的單詞統計向量。多模式DBM為每一種數據形式構建一個相互獨立的兩層DBM模型,然後採用在他們的頂層添加一層的方式使他們結合。另外,多形式DBM模型是基於鄰近兩層的聯繫生成的一種無監督的圖解模型。這種圖表模型能完成雙向的搜索。採用這種精心設計的架構,多模型DBM的主要觀點是:基於文本和圖像學習一種共同的密度分布。本文是在做了大量的分類和檢索實驗完成的。多模式的數據和單模式的數據都測試過了,證實了這種模型在多模式數據融合方面的有效性。
在實踐中,基於DNN的數據融合模型的效果通常取決於我們能否調整好參數。找到一系列合適的參數可以使得到的結果更好。然而,儘管提供大量的參數和非凸的集合,找到最理想的參數,仍然是非常耗費時間的過程,這需要大量的實驗。另外,很難解釋中間層象徵著什麼。也不理解DNN獲得更好特徵的過程。
5.基於語義的數據融合
基於特徵的數據融合方法(在上一節中已介紹)不關心每一個特徵的含義,僅僅把這種特徵視為一個真實值或者絕對值。與基於特徵的數據融合不同,基於語義的方法需要清晰的理解每一個數據集。我們知道每一個數據集代表著什麼、為什麼不同的數據集可以融合、它們之間怎樣相互增強特徵。數據融合的過程攜帶著人們希望藉助多種多樣的數據集解決問題的特徵。因此,這些特徵是可以判斷的、有價值的。本節介紹4種基於語義的數據融合方法:基於多視圖的方法、基於相似性的方法、基於概率依賴的方法和基於遷移的方法。
5.1 基於多視圖的數據融合方法
關於同一個物體的不同數據集和不同特徵的子集可以被視為一個物體的不同視圖。如:從不同數據源訓練之後的信息可以鑒定一個人的一些信息,比如臉、指紋或簽名等。一幅圖可以通過不同的特徵集合(如:顏色等)表現。因為這些數據集描述相同的物體,他們之間存在潛在的相似性。另一方面,這些數據集是互不相同的,分別包含著獨有的信息。因此,整合不同的視圖可以更加準確、全面的描述一個物體。
多視圖學習演算法可以分成3組:(1)共同訓練;(2)多核心學習;(3)子空間學習。值得一提的是,共同訓練演算法可選擇的最大化雙方在不同視圖中數據達成一致的可能性。多核心演算法利用自然的對不同的視圖做出反應的核心,然後把不論線性還是非線性的的特徵整合在一起從而改進學習的效果。子空間學習演算法旨在獲得一個可以供不同視圖共享的子空間,假設這個輸入的視圖是從這個潛在的子空間中產生的。
5.1.1 共同訓練
共同訓練是最早的多視圖學習模式之一。共同訓練認為每一個樣本可以被劃分成不同的視圖,這裡提出三種不同的假設:(1)充分:每一個視圖足以自己做出分類;(2)兼容:所有視圖的目標函數以最大的可能性對共同出現的特徵預測到相同的特點;(3)有條件的獨立:這些試圖在某種條件下獨立的被賦予某種標籤。有條件獨立性的假設通常太強壯以至於不同滿足實際。因此,有時候會考慮稍稍弱一點的方法。
在原始的共同訓練演算法中,儘管存在被標記的樣本集合L和沒被標記的樣本集合U,這個演算法中首先創建用於存放未被標記的樣本。然後迭代執行下面的步驟:(1)使用L分別對視圖v1和v2訓練兩種分類器f1和f2;(2)允許這兩個分類器檢測未被標記的樣本集合,然後對很有把握確定為正類的樣本和不確定的樣本分別添加不同的標籤;(3)然後把未被標記的樣本集合用從已經標記的樣本集合中隨機抽取兩倍於原樣本數量的樣本裝滿。從直覺上看,共同訓練演算法背後的信息是:分類器f1把樣本添加到標記的集合中,以至於分類器f2可以利用這裡的樣本進行學習。如果違背了獨立性假設,一般來說,這些樣本的信息量將會變得很少。因此,共同訓練或許並不那麼成功。從那時起,很多變體就產生了。
在共同訓練中,不是設定標籤給未標記的樣本,而是給未標記的樣本概率標籤,每個圖的這個標籤在EM演算法的每一輪中可能會發生變化。這個演算法稱為Co-EM,在很多問題上,比共同訓練更好,但是要求每個分類器產生類別標籤。在某種概率下,重新構造支持向量機,Brefeld開發了支持向量機的co-EM版本來彌合這種差距。zhou擴展了共同訓練形式演算法的從分類到復原的問題。他們提出一種叫CoREG的演算法,這種演算法使用k近鄰的方式。在學習過程中,每一個回歸量為另一個量標記未標記的數據。為了選擇合適的未標記樣本進行標記,CoREG先估算這種標記的可信度,通過查詢已標記樣本中的未標記樣本的影響。最終的預測是由所有量產生的預測值的平均值決定的。
example 7:鄭宇提出一種基於共同訓練的模型根據5個數據集來推測城市的細粒度空氣質量:空氣質量、氣象數據、交通數據、POIs、道路網。如下圖:
如下圖所示:
一個共同訓練的框架由兩種分類器組成。一個是基於神經網路的空間分類器,這個分類器把兩個不同地點的空間相關的特徵作為輸入信息。另一個是基於線性鏈的時間分類器,涉及到時間相關的特徵模擬一個地區空氣質量時間相關的特徵。這兩個分類器首先基於有限的不相交的已標記的數據集,然後分別對未標記的數據進行預測。在每一輪中,可以被分類器非常確定的非為哪一類的樣本被放到訓練集中,這些樣本將用於在下一輪中再訓練這兩個分類器。這個迭代器將在未分類的數據消耗盡或者推斷的準確性沒有任何提升的時候停止。當推斷一個樣本的類別的時候,傳遞不同的特徵給不同的分類器,根據不同分類產生兩種可能性的集合,從兩個分類器中產生的相關概率最大的類別作為結果輸出。上述提到的方法基於四個城市的數據進行評估,顯示出它超越四種基準類別的優點:基於插值的方法、類別分布模型、著名的分類模型(如:決策樹和CRF)和人工神經網路。在後面兩種類型中,所有的特徵適用於單一模型而沒有鑒別其語義含義和觀點。
5.1.2 多核心學習
多核心學習涉及到一系列機器學習方法,這些方法用於為已經定義的集合學習一種最理想的線性或非線性特徵整合而成的核心作為這個演算法的一部分。一個核心是對這些數據的一個假設,這些假設可以是一個相似性的概念或者一個分類器或者一個回歸量。根據相關論文顯示,多核心學習(MKL)有兩種用途。(a)不同的核心反應不同的相似性的概念。一種學習方法學習到一種最好的核心或者是這些核心的綜合體,一個數據樣本從全部樣本中基於所有特徵訓練一個核心。而僅僅使用一種核心或許是一個錯,允許學習器從一系列核心中選擇可能產生更好的結果。例如:這裡有一些核心方法,可以成功的應用於支持向量機。這種多核心學習最初設計的目標就不是多視點學習,因為每一個特徵集合是用於訓練每一個核心。
(b)多核心學習(MKL)在首先需要使用來自不同數據源和不同模型的數據作為輸入數據訓練不同的核心。因為有不同的表現,對應不同的核心有不同的相似性測量措施。在這種情況下,把不同的核心結合在一起是把多種信息源整合在一起的有效方式。這種論斷與把不同的分類器結合在一起很相似。
有3種把不同的中間核心結合的方法:線性、非線性和數據依賴整合。線性整合包含已知權重和未知權重的整合。非線性結合使用非線性核心方法,這種方法稱為乘法運算。數據依賴結合的整合方式為每一個數據樣本分配具體的權重。通過這種方式,可以鑒定當地數據分布並為每一個區域學習一種合適的核心整合規則。
現在的多核心學習有2種主要的訓練方法:(1)使用連貫的方法或者同步的方法計算整合方法的參數和基學習器的參數。在連續方法中,整合方法的參數是先決條件,然後一個基於核心的學習器被訓練用於使這些核心結合。在同步方法中,所有參數的集合被共同學習。(2)方法間使用迭代的方式。在每一次迭代中,當修改基學習器的時候首先更新整合方法的參數。然後當修改整合方法的參數的時候修改基學習器的參數。這兩步重複執行直至收斂。
example 8:集成和Boosting方法,如:隨機森林,是被多核心學習(MKL)啟發的。隨機森林整合輔助程序聚集的觀點並隨機選擇特徵,這是為了構建決策樹的集合。更具體的說,通過每次基於Bagging和全部特徵的一部分選擇訓練數據的一部分訓練了多個決策樹。當有訓練樣本到來時,樣本的不同特徵被同時送到相關的決策樹。每一個核心產生一個預測,然後對結果進行線性匯總。
example 9:基於5個數據集為一個地區預測未來48小時的空氣質量。如下圖所示是這個預測模型的架構:
在這個架構中包含兩種兩個核心(一個是時間預測器,一個是空間預測器)和一個核心學習模塊(預測結果的聚合)。時間預測器預測一個基站的空氣質量,如當地的氣象、過去幾個小時的AOIs和這個地區的天氣預測。而空間預測器使用空間臨近的數據(如:其他基站的AOIs和風速)來預測未來的空氣質量。這兩個預測器相互獨立的產生一個基站的預測結果,這兩個預測結果動態的根據當前基站的天氣情況使用預測聚合器結合在一起。有時候,本地預測是很重要的,因此空間預測器的預測結果應該被賦予比其他預測器更大的權值。預測器是基於回歸樹從數據中學習一種動態結合方式。在空氣質量預測樣例中,基於多核心學習的框架優於基於單核心的模型,這主要有以下三個原因:(1)從特徵空間的角度來看:時間預測器和空間預測器使用的特徵沒有任何重疊,對統一地點的空氣特徵提供不同的視點;(2)從模型的觀點來看:空間預測器和時間預測器從全球因素和全球因素刻畫,他們可以得出完全不同的特徵。比如:本地更多的在描述回歸問題,而全球預測器主要在刻畫非線性插值的問題。因此他們需要使用不同的技術進行處理。(3)從參數學習的角度來看:把所i有的特徵輸入到單一的模型中會導致這個模型中有太多東西需要學習。然而,這些訓練數據是有限的,比如說我們只有1年半的城市AOIs數據。把一個大模型有機的分解成3個小模型可以在某種程度上大大縮小參數佔用的空間,這會使學習到的模型更好,預測更準確。
5.1.3子空間學習
基於子空間的學習方法旨在獲取一個子空間,這個子空間是通過假設這個是由這個潛在的子空間生成的。如下圖所示:通過這個子空間,可以完成後續的任務,比如分類和聚類。此外,因為這個子空間的維度通常比輸入數據的維度低,這從某種程度上降低了維度災難。在單視點學習中,主成分分析是為單視點數據開發子空間的常用技術。典型相關分析(CCA)可以被視為PCA的多視點版本。儘管最大化子空間中的兩個視點的相關性,典型相關分析(CCA)可以輸出每個視點的最佳預測。由典型相關分析(CCA)構建的子空間是線性的,因此不能直接應用於非線性數據集。為了解決這個問題,典型相關分析(CCA)的變體叫做KCCA被提出映射每一個屬於高維空間的非線性數據。CCA和KCCA都是以無監督的方式構建子空間。L把高斯過程作為構建潛在變數模型的工具,這可以完成非線性降維的工作。Chen開發了一個統計架構,這個架構可以基於一般的多視點的潛在空間網路學習到被多個視點共享的預測性子空間。5.2 基於相似性的數據融合
相似性存在於兩個不同的物體之間。如果我們知道兩個物體(X、Y)在某種維度上存在相似性,Y的信息可以暫時使用X替代,當Y的信息缺失的時候。當X和Y分別有不同的數據集的時候,我們可以學習到這兩個物體之間的多個相似的性質,X和Y的數據將會基於相應的另一個數據集的數據進行計算。合併兩個物體的相關性,這些相似性可以相互增強。反過來,後者又會增強前者。如:從密集數據集中學習到的相似性可以增強其他來自稀疏數據集中的相似性,因此幫助填補了後者的缺失數據。從另一個觀點來看,我們可以通過結合兩個物體的多個數據集更加精確的預測兩個物體之間的相似性。因此,不同的數據集可以基於相似性相互混合使用。耦合矩陣分解和流形對齊是這類方法中的兩個典型的方法。
5.2.1 耦合矩陣分解
在說明耦合矩陣分解之前,需要先介紹兩個概念。一個是協同過濾(CF),一個是矩陣分解。矩陣分解是實現協同過濾(CF)模型的有效方法。5.2.1.1 協同過濾
協同過濾(CF)是一個著名的模型,被廣泛應用於推薦系統中。協同過濾背後的觀點是同一個用戶對同一項事務有相似的行為。因此,如果用戶與事務之間可以決定相似性,那麼就可以做出一個潛在的預測未來用戶可能做某一件事的可能性的大小。用戶與事務之間通常被矩陣組織在一起,在這個矩陣中每一個維度表示用戶做某一項事務中的可能性。矩陣中的比率可以很清晰的顯示或者含蓄的顯示,比如:一個地方的遊客的人數或者用戶瀏覽某一項的時間。一旦形成一個舉證,這個矩陣中的兩個行之間的距離顯示出兩個用戶之間的相似性,而矩陣中兩列的距離表示兩個不同的事務之間的相似性。
基於記憶的協同過濾(CF)常常應用於為用戶或者一項事務計算未知比率的值的演算法,計算出來的值作為概率的集合用於估算其他用戶進行相同的事務的估算依據。有兩種基於記憶模型的協同過濾模型:基於用戶的和基於事務的。比如:用戶p對地點i的興趣可以被估算。。。。。。。。
5.2.2.2 矩陣分解
把一個矩陣分解為兩個矩陣,這兩個矩陣分別指示出用戶和事務的潛在變數。這兩個矩陣近似於X矩陣,因此可以用於填補X矩陣的缺失值。有兩種常用的矩陣分解方法:奇異矩陣分解(SVD)和非負矩陣分解(NMF)
(1)SVD分解(2)NMF分解
5.2.1.3耦合矩陣分解
在不同的應用中,其中的一項可以是一個位置、一個網址或一個公司,而用戶可以是司機、乘客或者服務訂閱者。我們甚至可以把一個用戶看成一個物體和一項事務的屬性。當有多個相關的數據集的時候,不能把簡單的把不同數據源獲取的不同屬性放在單一的矩陣中。因為不同的矩陣有不同的分布和含義,從單一的矩陣中分解它們矩陣中數據缺失、精確度下降。先進的方法是使用多個矩陣相互聯繫分解的方式以適應不同矩陣的不同的數據集,這些矩陣有相同的維度。通過聯合分解這些矩陣,可以把從不同數據集中學習到的不同物體的相似性轉換給其他物體。因此可以更加準確的填補缺失值。
example 10:Zhenrg提出一種矩陣分解方法,這種方法使位置推薦成為可能。如下圖所示:
一個位置 活動矩陣X是由很多用戶的歷史位置信息形成的。X矩陣的一行表示一個來源、一列表示一個活動(如:購物或者進餐)。矩陣X中的一條數據表示一個特定的活動在一個特定地點發生的頻率。如果這個位置活動矩陣被完全填滿了,我們可以從相應的活動中檢索前k條發生頻率最高的活動的位置給這個活動推薦一些可能的位置。同樣的,當需要完成為一個位置推薦活動的時候,可以從相關的位置矩陣中檢索前k條發生頻率最高的活動推薦給用戶。然而,因為我們只有用戶的一部分數據,所以位置活動矩陣可能不能勝任一切工作、數量也不是太多。傳統的協同過濾(CF)在高質量推薦方面的作用並不是特別好。僅僅分解矩陣X不會起到太大的作用,由於數據太少。
為了解決這個問題,來自其他兩個矩陣(Y、Z)的信息被合併到分解後的矩陣。一個是位置特徵矩陣,另一個活動-活動矩陣。這種額外的矩陣稱為上下文,這可以從其他數據集中學習到。在這個例子中,矩陣Y的一行代表一個位置,一列代表這個位置中有POIs的一類(如:餐廳和旅館),這個矩陣是基於POIs資料庫建立的。矩陣Y中兩行的距離從地理位置的角度顯示出兩個位置的相似性。這種判斷的依據是具有相同屬性的兩個地理位置可能用戶的行為也相似。矩陣Z描述了兩個不同活動的相關性,這可以從研究結果中學習到。這種方法的主要觀點是:把信息傳播給X、Y、Z,這需要他們共享低維矩陣U和V。因為矩陣Y和Z是基於稠密數據構建的,所以可以得到精確的分解。因此,矩陣X可以通過使用()精確的補全。詳細的。。
example 11:Zheng提出一種多矩陣分解方法,這種方法可以基於汽車數據樣本預測整個城市道路上每一段的汽車行駛的速度。如下圖所示:
在把GPS數據映射到道路網之後,形成了一個矩陣,這個矩陣的一行顯示時隙,矩陣的一列代表一個路段。這個矩陣中的每一個條目包含一個特殊路段的出行速度和一個特殊的時間段,這些值是基於最近一段時間收到的汽車數據進行估計的。這個矩陣的目標是填補缺失數據,這反映了當前的時隙。儘管我們可以通過矩陣分解的方式實現這個目標,但是這種推測的準確度不是很高,因為大多數的路段沒有被汽車的出行軌跡覆蓋。為了解決這個問題,可以構造四個中間矩陣(A、B、C、D)。具體來說,A矩陣代表路段的歷史交通模式。
參考:Yu Zheng.Methods for Cross-Domain Data fusion.
推薦閱讀:
TAG:數據融合 |