黃鶴
(四川職業技術學院,四川成都,629000)
KDD2010比賽中基于Mahout協同過濾算法的應用研究
黃鶴
(四川職業技術學院,四川成都,629000)
由于在線教育的迅猛發展,個性化教育應運而生,怎樣在網絡教育當中存儲的海量用戶數據提取反映用戶學習能力水平與有助于提高用戶學習水平的有價值信息特別關鍵,為此商業推薦領域廣泛應用協同過濾推薦算法,以便將個性化推薦提供給用戶使用者。本文通過在KDD2010比賽當中過濾技術作用發揮,有效結合教育數據挖掘,借助Apache Mahout的Taste組件各種方法,仿真建模教育數據,根據實施的實驗反饋取得良好預測效果。
KDD2010比賽;Mahout;協同過濾算法;協同過濾推薦算法
為確保推薦算法有效性,應該通過對比模式進行驗證,使用者評分這是一種直觀的方法。當尚未擁有使用者評分條件,處理應該建立一套合理評分指標。為此,協同過濾算法的一個重要環節據說選取哪種標準評價。要想具備更為準確推薦結果,形成良性循環,必須有效契合用戶需求和推薦結果,用戶具備特別高滿意度,那么就可以將推薦系統介紹給相似用戶。本文借助計算均方根誤差值實施處理,所指的就是預測值和現實評分差異,以便確立算法有效程度。首先就是獲得某一項目評分值,使得確定最終推薦有效性,當計算均方根誤差值越小,那么體現相對可靠的推薦算法,反之,就是算法結果不好。預先設定I為問題步驟集合,S是學生集合,I是某個問題步驟,s是某個學生,相應的計算公式為:

以上計算均方根誤差值的公式當中,借助計算機測試集中的未知項來進行評判預測效果優劣性,然而均方根誤差值屬于計算數值分布在0到1范圍數據誤差分析,那么選擇計算該數值完全和本實驗數據集符合。
通過Apache Mahout仿真算法實驗完成之前必須建立數據模型,確立實體信息與相互關系,有助于數據庫設計與系統數據模型建立。

圖1 學生與作答題目類模型圖
本文選取的主要有表示學生類的Student類、表示問題步驟的ProblemStep類、表示某一學生作答某一問題步驟結果的StucentProference類,根據以上思路,那么具體的實現步驟如下。
第一步為建立數據庫存儲,通過把之前類別數據在相應數據庫當中存儲,而還要你管管讀寫文件等相關數據操作實驗數據,那么在MySQL數據庫當中存儲轉變之后的特定格式數據。Mahout引擎只接受自定義DataModel類型輸入的數據,不能接受別的類型數據。
第二步做好存儲推薦算法數據。本系統在JDBCDataModel數據類型讀取選取的是數據庫,這一數據類型有效的將DataModel類型繼承,可以將相關數據在所有形式數據源當中讀取,而且在這一過程當中,還存在相應的內存讀取類型等別的類型操作方法。此外實驗還應該擴展MySQLJDBCDataModel,從而可以讓題目推薦算法當中的DataModel的實現。
第三步是實現推薦模型。在這里主要是選取基于用戶、項目、SVD模型的協同過濾推薦算法的Mahout實現的介紹。
余弦相似性和調整后余弦相似性則是現階段比較高使用率的兩種相似度求解模式通過兩種近似度導致的均方根誤差值計算與對比,在預測效果上更為準確的是修正余弦相似性,那么基于用戶協調過濾選取修正余弦相似性推薦?;趇tem協同過濾方法進行均方根誤差值計算要低于基于用戶協同過濾,體現出更好推薦效果的是基于item協同過濾方法。究其原因,主要是基于用戶協同過濾面臨數據稀疏性,基于item協同過濾往往直接比較的是項目之間相似性,將用戶之間比較跳過去。為此應該對數據稀疏性問題進行考慮。
從本文的觀點來看,稀疏性就是根據ITS系統當中存在的二十一萬多個不同問題,全部學生存在作答記錄并不現實,那么就會導致很多空缺值。默認余弦相似性計算就是把沒有作答題目作答結果預先設置成0,或者是別的學生作答評價這一題數值。當設定的是0,別的用戶作答是1,在用戶相似度計算的過程當中,可能明顯降低兩人相似程度;另外的兩名學生對于某一道題目尚未作答,那么把作答結果設置成平均值或者零,那么兩人擁有一致結果,極大的增加兩人相似度,現實兩個學生可能有不同作答結果,那么只是把作答結果設置成1并不可取。
計算相關近似性方法不同于余弦相似性,第一步就是將兩個用戶作答過步驟形成一個集合,基于此求出用戶相似度,一些相似性進行相似度求解借助皮爾森相關系數,比較余弦相似性借助0值處理,有何更為合理結果。另外,調整之后余弦相似性和相關相似性保持一致,這種方法相應規范評價標準。本文尚未談到評價尺度,然而借助修正余弦相似性可以將誤差范圍縮小,將學生作答題目平均分實施平衡評價尺度,這存在著更好效果。本文則是通過修正余弦相似性比較相似度。
雖然調整后余弦相似性能夠將需求一定滿足,然而受到處理期局限,那么使用者在比較低稀疏度的時候有比較多的機會回答同一問題,實際處理環節用戶間特別少作答相同問題。基于小規模項目集合角度進行分析,當存在十分明顯評分相似度,那么不能確定用戶間特別相似。這也就顯示出這種方法也有問題,如果要想結果有效性增強,必須實施相應措施,使得用戶-項目評分矩陣內容增加,永輝可以作答同一問題,這也就將推薦意義提升。
4.1 設定參數
進行學生-問題步驟答題矩陣的設定,在這一矩陣當中,m顯示的是學生數量,n顯示的是問題步驟數,Ri×j顯示的是學生i作答步驟j的結果,如果學生在作答的項沒有作答就通過空值顯示。
4.2 項目相似性計算
通過調整后余弦相似性處理求解項目i,j相似度,具體公式為:

根據以上公式,Uij顯示的是題目i與題目j所有答案學生集合,學生i作答問題對于集合確定為Ui,學生j作答問題對于集合確定為Uj。
4.3 稀疏矩陣填充
預測未作答題目公式為:

在以上公式當中,sim(i,j)所顯示的為學生i和最近鄰居j相似度,Pu,j取得的評分值往學生-題目作答矩陣當中回填。
4.4 計算學生用戶之間相似性
兩個學生相似度計算公式為:

在以上公式當中,Iuv顯示的是學生u與v共同作答的題目集合,Iu顯示的是學生u作答題目步驟集合,Iv顯示的是學生v作答的題目步驟集合,Rui顯示的是學生u對于題目步驟i作答結果,Rvi顯示的是學生v對于題目步驟i作答結果。
4.5 生成最近鄰居集
根據對全部用戶集合的有效結合,得到與目標學生u相似度明顯的K個學生,確定u最近鄰居集合,另外學生Uk按照相似明顯性實施排列。
4.6 產生推薦結果
借助加權平均策略,產生學生u預測作答題目步驟i結果:

這一公式求得的就是預測回答結果值,別的負號和之前定義一致。獲得最近鄰居內相同問題差異化回答結果,從而讓加權平均值確定下來,推薦集則是非集合當中的前面的第N項數值。
4.7 計算均方根誤差值對比觀察
通過比較填充之后計算預測結果和實際結果,那么就能夠獲得計算的均方根誤差值,隨后做好填充之后模型效果觀察,具體的實驗結果能夠通過表1進行顯示。

表1 均方根誤差值比較列表
按照上表反饋的結果來看,填充學生-題目作答矩陣,計算獲得的均方根誤差值比較小,體現出比較填充之前,矩陣填充之后推薦結果更好。究其原因,這主要是用戶回答同一問題矩陣規模迅速增加,這樣的模式可以節省獲取最近鄰居用戶時間,那么存在更為合理的推薦結果。此次實驗獲得的結果要比比賽當中得到第三名的0.3328的結果還要好,這就顯示出協同過濾算法可以在挖掘教育數據集當中契合,擁有的效果更好。
根據之前開展的實驗結果來看,憑借著以上協同過濾推薦算法仿真實驗反饋,通過推薦算法的改進,最終呈現出更加準確的預測結果,在進行相似度計算模式的分析,了解到實施調整之后余弦相似性計算方法結論更加精確,回填稀疏矩陣推薦再次進行推薦算法運用,比較之前的推薦算法,之前效果更加準確。
[1]孟卓. 基于Mahout協同過濾算法在KDD2010比賽中的探索研究[D].昆明理工大學,2016.
[2]于嘉. 基于MAHOUT的幾種推薦算法的組合實現與評測[D].華中師范大學,2015.
[3]李清. 基于MovieLens數據集的協同過濾推薦系統研究[D].西安電子科技大學,2014.
[4]常江. 基于Apache Mahout的推薦算法的研究與實現[D].電子科技大學,2013.
[5]李龍飛. 基于Hadoop+Mahout的智能終端云應用推薦引擎的研究與實現[D].電子科技大學,2013.
Application Research of Mahout based collaborative filtering algorithm in KDD2010 game
Huang He
(Sichuan Vocational and Technical College,Chengdu Sichuan,629000)
with the rapid development of online education, individualized education came into being, how massive user data stored in the network education extracted user learning ability and help to improve the level of user learning valuable information is particularly critical, therefore the commercial recommended widely applied to the field of collaborative filtering algorithm, so as to provide users with personalized recommendation for users. This paper through the filtering technology role in the KDD2010 game play, the effective combination of education with the method of data mining, Apache Mahout various Taste components, modeling and Simulation of education data, according to the implementation of the feedback experiment achieved good prediction effect.
KDD2010 game; Mahout; collaborative filtering algorithm; collaborative filtering recommendation algorithm