2019-04-01

推薦系統是為用戶推薦所需商品的軟件工具和技術。也即是向用戶建議有用物品的軟件工具和技術。這種建議適用于多種決策過程,如購買什么物品、聽什么音樂、在網上瀏覽什么新聞等。

2.數據挖掘的過程一般由三個連續執行的步驟組成:

數據預處理、數據分析、結果解釋。

2.1數據預處理

我們把數據定義為一組對象及其屬性的集合,其中屬性定義為性質或者對象的特征。對象的其他名稱包括記錄、物品、得分、樣本、觀察值或者實例。屬性也可以稱為變量、字段、特性或者特征。

真實數據通常需要經過預處理,以便于機器學習技術在分析階段使用。

2.1.1相似度度量方法

在一些只有二進制屬性的物品案例中,可以采用幾個相似度度量方法。首先計算M01、M10等的數量,其中M01代表x是0同時y是1這個屬性的數量,以此類推,根據這些數值,可以計算得到簡單匹配系數SMC=M11+M00/M01+M10+M00+M11

2.1.2抽樣

抽樣是數據挖掘從大數據集中選擇相關數據子集的主要技術。它可以被用來創建訓練和測試數據集。訓練集被用于分析階段學習參數或配置算法。而測試集被用來評估訓練階段獲得的模型或者配置,確保它在將來產生的未知數據上運行良好。抽樣的關鍵是發現具有整個原始數據集代表性的子集,也就是說,其具有與整個數據集大概類似的興趣屬性。有隨機抽樣,分層抽樣(數據基于特殊特征被分成幾個部分,之后對每個部分獨立進行隨機抽樣。

在分離訓練集和測試集時,通常是使用無替代的標準隨機抽樣,并且是80/20的訓練集和測試集比例,一般來說,超過2/3的任何值作為訓練集是合適的。

抽樣可能導致過特殊劃分的訓練和測試數據集。因此,訓練過程可以重復好幾次,采用n折K次交叉驗證,然后求K次學習模型的平均性能。

2.1.3降維

推薦系統中不僅有定義高維空間特征的數據集,而且在空間中信息非常稀疏,例如,每個對象就那么幾個有限的特征有值。應用降維技術可以直接適用于計算推薦的預測值,應用降維技術可以帶來這樣的結果,即它可以作為推薦系統設計的方法,而不僅是數據預處理技術。

2.1.3.1在推薦系統中最相關的降維方法:主成分分析(PCA)和奇異值分解(SVD)

主成分分析可以獲得獲得一組有序的成分列表,其根據最小平方誤差計算出變化最大的值。列表中第一個成分所代表的變化量要比第二個成分所代表的變化量大,以此類推,我們可以通過忽略這些對變化貢獻較小的成分來降低維度。

SVD分解中的關鍵問題是發現低維特征空間,這些新特征代表概念以及在集合內容中的每一個概念強度都是可以計算的。因為SVD可以自動獲取到低維空間上的語義概念,它可以被用來,當作潛在語義分析的基礎,潛在語義分析是一種在信息檢索中非常受歡迎的文本分類技術。奇異值矩陣中的奇異值是按特征值的平方根有序遞減的。因此,初始矩陣可以通過截取前K個特征值來近似構造。被截取的SVD代表降維成K維空間后的潛在結構,這一般意味著特征向量中的噪聲被降低。

SVD可以用來發現用戶和產品之間的潛在關系,為了完成這個目的,他們首先用物品平均評分值去填充用戶—物品矩陣的0值項,然后通過減去用戶對所有物品平均評分值來正規化這些矩陣。SVD分解最基本的想法是把評分矩陣分解成兩個部分:一個部分包含描述用戶的特征,另一個部分包含描述物品的特征。

2.1.4去噪

數據挖掘中采集的數據可能會有各種噪聲,如缺失數據,或者是異常數據,去噪是非常重要的預處理步驟,其目的是在最大化信息量時去除掉不必要的影響。

在一般意義上,我們把噪聲定義為數據收集階段收集到的一些可能影響數據分析和解釋結果的偽造數據。

2.2分類

分類器是從特征空間到標簽空間的映射,其中,特征代表需要分類的元素屬性,標簽代表類別。例如,餐廳推薦系統能夠通過分類器來實現,其分類器基于許多特征描述把餐廳分成兩類中的一類9(好的,不好的)

2.2.1最近鄰

基于樣本的分類通過存儲訓練記錄并使用它們來預測未知樣本的標簽類別。一個常見的例子是所謂的死記硬背學習。這種分類器記住了所有的訓練集,并且只有在新記錄的屬性與訓練集中樣本完全匹配時才會分類。一個更加精確和通用的基于樣本的分類是近鄰分類。給出一個要分類的點,K近鄰分類器能夠從訓練記錄中發現k個最近的點。然后按照它最近鄰的類標簽來確定所屬類標簽。算法的基本思想是,如果一個樣本落入由一個類標簽主導的領域,是因為這個樣本可能屬于這個類。

2.2.2決策樹

推薦系統中的決策樹可以用在基于模型的方法里,一種可能是用內容特征建立決策樹模型,對描述用戶偏好的所有變量建模。建立一個試圖解釋決策過程中所有參數的決策樹是非常困難以及不現實的,但是決策樹可以被用來模擬系統的一個特殊部分。

在推薦系統中另一個使用決策樹的選擇是使用它們作為物品排序的工具。使用決策樹來排序已經在一些環境下被研究。

2.2.3基于規則的分類

基于規則分類器是通過一組“IF......THEN"的規則集合劃分數據,規則的前提或條件是屬性連詞的表達式,規則的結論是一個正或者負的分類。

為了建立一個基于規則的分類器,我們可以用從數據中直接抽取規則的直接方法,另一方面,使用間接的方法從其他分類模型中抽取規則很常見。他的優點是,他們表示很明確,因為它們是符號化的并且可以在沒有任何轉化的情況下操作數據的屬性,并且可以有效的分類新的對象。

2.2.4貝葉斯分類器

貝葉斯分類器是解決分類問題的一個概率框架。它基于條件概率定義和貝葉斯理論。貝葉斯統計學派使用概率來代表從數據中學習到的關系的不確定性。

一個特殊但是最常用的分類器是樸素貝葉斯分類器。

2.2.5人工神經網絡(ANN)

人工神經網絡由一組內連接點和帶權鏈接組成,其想法來自于生物大腦的結構,ANN中的節點稱為神經元,類似于生物神經。這些簡單的功能單元組成網絡,網絡在用有效數據訓練之后能夠學習分類問題。

ANN的最簡單模型是感知器模型,如果把激活函數特指為簡單的閾值函數,則輸出的就是根據每條鏈接的權重將輸入值累加,然后和某個閾值相比較,感知模型是具有簡單和有效學習算法的線性聚分類器,但是還有幾種其他對于激活函數通用的選擇,如正切雙曲等。輸出函數有0和1兩個值。

今天中午吃完飯看到了不想看到的一幕,不要想了,不要想了,這個社會,還是不要把什么事都想的那么美好,包括人,坦然一點,成長一點,好好上班,這才是現在最應該干的。

ANN可以有許多的層,在ANN中的層被分成三種類型:輸入、隱藏、輸出,輸入層的單元響應進入網絡的數據。隱藏層接受從輸入單元中的帶權輸出。輸出層響應隱藏層中的帶權輸出并且產生最終的網絡輸出。使用神經元作為原子功能單元,在網絡中有許多種可能的架構來把它們結合在一起。

ANN最主要的優點是(取決于激活函數)能做非線性分類任務,并且由于并行屬性,它們高效甚至能夠在部分網絡受損的情況下操做。ANN屬于一種次符號分類器,也就是說,在推理知識的時候不提供任何語義知識,說白了,這是一種黑盒方法。

2.2.6支持向量機

支持向量機分類的目標是發現數據的線性超平面(決策邊界),以邊界最大化的方式分離數據。如果決策邊界是非線性的,我們需要轉換數據到高維的空間,這個轉換的完成得益于核函數。

2.2.7分類器的集成

使用分類器集成背后的最基本的思想是,從訓練數據構造一系列的分類器,并通過聚集預測值來預測類標簽。只要我們能假設這些分類器都是獨立的,分類器集成就有效。

2.2.8評估分類器

推薦系統中被接受最常用的指標是預測興趣(評分)和測量值的均方差或均方根誤差。如果把推薦看作分類問題,就可以使用評估分類器的著名指標,如準確度和召回率。

為了評估一個模型,我們一般考慮以下指標:真正(TP):分到類A且真的屬于類A的實例數量;真負(TN):沒有分到類A且真的不屬于類A的實例數量;假正(FP):分到類A但不屬于類A的實例數量;假負(FN):沒有分到類A,但屬于類A的實例數量。

最常用來衡量模型性能是定義正確分類的實例和總的實例數量之間的比率叫精確度。但是這里就會存在類不平衡的問題。

模型性能的其他常用指標,特別是在信息檢索中,是準確率和召回率,準確率是分樣本到類A中犯錯誤的指標。召回率是衡量沒有留下本應該劃分到類中的樣本的程度。在大部分的例子中,當我們單獨使用這兩種指標時是有誤導的。通過不分給任何的樣本到類A可以建立有完美預測準確性的分類器,相反,通過分配所有的樣本到類A中可以建立完美召回率的分類器。事實上,有一種結合了預測和召回率到一個單一指標中的指標F1=2TP/2TP+FN+FP

有時候我們會比較幾個相互競爭的模型,而不是單獨評估它們的性能。用ROC曲線也已經在評估推薦系統時使用,將ROC曲線下的面積作為評估的指標。

2.3聚類分析

擴展CF分類器的最大問題時計算距離時的操作量,即發現最好的K近鄰。聚類可以提高效率,但是它不像降維方法那樣可以提高精確度。因此,在設計推薦系統時必須謹慎使用聚類,必須小心的衡量提高效率和降低精確度之間的平衡。

聚類算法有兩個主要的類別:分層和劃分,劃分聚類算法把數據劃分成非重合的聚類,使得每一個數據項確切在一個聚類中。分層聚類算法在已知聚類上繼續聚合物品,生成聚類的嵌套集合,組成一個層級樹。

2.3.1k-means

k-means聚類是一種分塊方法。基礎的k-means是極其簡單和有效的算法。但是,它有幾個缺陷:1.為了選擇合適的k值,假定有先驗的數據知識。2.最終的聚類對于初始對于初始的中心點非常敏感。3.它會產生空聚類。k-means也有幾個關于數據的缺陷:當聚類是不同的大小、密度、非球狀形狀時,就會有問題,并且當數據包含異常值時它會有問題。



到時候我們的推薦系統包括這幾個步驟...跟國內其他大廠的差不多.....

你到時候需要理一下每個步驟的模型/算法/評估等./

召回:?基于相似用戶、相似物品、畫像屬性、上下文等進行召回;

融合:?決定召回策略比例并截取物品數形成初步結果集,融合器有加權融合、概率融合、規則融合等等;

填充:?通過一些熱門填充、規則填充,在工程上保證物品的數量,通過試投保證保證推薦的新穎度;

過濾:?通過用戶歷史、行為讓推薦可以保證不出重復及無狀態服務的手段、同時還有負反饋計算;

重排:?通過模型、規則排序,提高點擊率的同時保證用戶體驗。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容