基於不平衡樣本的推薦演算法研究
推薦演算法是通過對樣本用戶特徵或項目特徵進行分析,將用戶或項目按某些特性的相似性進行分類,然後根據用戶或項目的相似性,向用戶推薦其可能感興趣的項目。在整個推薦演算法中,精準的用戶分類或項目分類是實現推薦的關鍵。而不平衡樣本問題的存在,可能導致少數類用戶或少數類項目的推薦效果不佳。為此,改善不平衡樣本問題,實現用戶或項目的精準分類,可以更好的提高推薦效果。
在基於不平衡樣本數據的推薦過程中,用戶或者項目分類的效果往往不理想,這除了是因為推薦演算法自身存在的缺陷以外,不平衡樣本數據的特殊性,也是導致推薦演算法效果不佳的主要原因:
(1)少數類數據缺少
不平衡樣本數據中的少數類數據缺少,這主要包括三個方面:一是少數類數據的絕對樣本數少,難以發現少數類數據的內在關聯和規律;二是,少數類數據的樣本數相對缺少,導致少數類數據對分類器的影響過低;除此之外,由於少數類樣本過於分散,難以進行正確的樣本分類。(2)雜訊數據的影響在推薦演算法中,待分析的數據往往會收到噪音數據的影響,而少數類樣本在整個不平衡樣本數據集中的比例也很少,如何區分數據是雜訊數據還是少數類數據的是推薦演算法用戶或項目分類中的一個難點。
(3)分類模型的選擇 在推薦過程中,往往著重於對多數用戶或多數項目的推薦,但是在真正實現個性化推薦時,相對數量較少的少數類用戶的推薦也不可忽視。在用戶分類或項目分類過程中,現有的分類演算法大多關注普通樣本數據的分類,而對於少數類樣本的分類效果不佳。如果要提高少數類樣本的識別率,又很有可能降低普通樣本數據的分類效果,為此既要保證普通樣本的分類效果,又要提高少數類樣本的識別率也是不平衡樣本推薦研究的難點。GSVM不平衡數據分類演算法設計
在不平衡樣本的分類問題方面,經常考慮的是從向量計算方法,或從數據處理的層面來進行改進。但是這些方法或多或少的會導致信息的損失,從而影響分類效果和精度。為此,可以從不平衡樣本集的幾何性質方面著手,來尋找一種基於SVM的幾何方法來完成不平衡樣本集的分類問題。
這裡介紹的是一種幾何方法支持向量機(GSVM),給少數類樣本的凸包不同的壓縮值,使得少數類樣本凸包向重心方向壓縮。使用支持向量機的幾何方法來建立不平衡樣本數據集的分類超平面,來實現不平衡樣本數據中的用戶或項目分類。
這種演算法其改進主要體現在如下兩個方面:
- 使用不同的壓縮值將不平衡樣本數據中的多數類數據和少數類數據向各類凸包的重心壓縮;
- 將原來用於解決線性不可分問題的SVM演算法應用於解決不平衡數據的分類問題;
(1)對不平衡樣本數據的兩類樣本,分別進行重心的估計:
其中,I+和I-分別表示不平衡樣本數據中的多數類樣本數目和少數類樣本數目。
(2)確定壓縮比例
選用網格尋優法來選擇壓縮比例參數,網格尋優方法的相關參數為:
其中,λ1為多數類樣本的壓縮比例參數,λ2為少數類樣本的壓縮比例參數。
(3)將多數類樣本和少數類樣本分別向其重心方向進行壓縮,壓縮凸包各對應點的求法如下:
- X的壓縮凸包如下,而且X壓縮集的重心仍然為X的重心:
- 對於任意xi屬於X,xi為凸包極點,當且僅當xi的壓縮值為X的壓縮凸包CCH(X,λ)的極點:
基於如上的兩個命題,就可以得到多數類樣本和少數類樣本的壓縮凸包各對應點。
(4)尋找最近點對
- 設出事最近點對w1,w2為壓縮凸包的重心,即
- 不斷搜索和更新w1和w2,如果滿足下面的公式,則更新w1=xi+,否則更新w2=xi-
(5)得到分類超平面,根據第(4)步不斷搜索和更新的最近點對w1和w2就是最終SVM的支持向量,並據此使用SVM來求得最優分類超平面為:
GSVM不平衡數據分類演算法實驗
採用UCI中的Vehicle數據集中的826個樣本,在這個樣本集中,每個樣本具有18個屬性。其中,多數樣本集為734個,少數類樣本為92個,是一個典型的不平衡樣本數據集。數據處理的方法主要採用本文研究的GSVM演算法、SMOTE演算法和SVM演算法。
在實驗過程中,使用5-fold交叉驗證法進行驗證,演算法使用Octave編程實現,總計826個樣本被劃分為5個自己,其中每次選取1個子集作為內部驗證子集,剩餘的4個子集作為訓練集,一次選擇不同的內部驗證子集重複進行5次測試之後,取5次試驗的平均測試結果作為平均值。
選擇壓縮比例參數 選擇網格尋優方法選擇:其中,λ1為多數類樣本的壓縮比例參數,λ2為少數類樣本的壓縮比例參數。
三種不同演算法中的少數類樣本的錯分率分別表示如下:
在三種演算法對不平衡樣本的少數類樣本錯分率比較來看,GSVM的錯分率明顯更低,表明在不平衡樣本集中,GSVM有更好的少數類樣本分類準確性。
(部分圖片素材來自互聯網,侵刪)
***********************
版權聲明:轉載請註明原文鏈接和作者。
了解更多請關注微信公眾號:「人工智慧與認知計算」。
任何問題可以聯繫harryhuo23@163.com,謝謝。
***********************
我是有底線的人。
推薦閱讀: