在這個(gè)數(shù)據(jù)信息無處不在的時(shí)代,如何對(duì)這些數(shù)據(jù)進(jìn)行獲取并進(jìn)行相應(yīng)的分析成了眾多人的研究的課題。本文針對(duì)這一現(xiàn)狀,對(duì)機(jī)器學(xué)習(xí)相關(guān)的推薦系統(tǒng)做了一些簡單的概述。通過對(duì)機(jī)器學(xué)習(xí)在推薦系統(tǒng)上用的一些技術(shù)和思想進(jìn)行解析,讓更多的人了解什么是大數(shù)據(jù),什么是機(jī)器學(xué)習(xí)。最為重要的一點(diǎn)是讓大家了解機(jī)器學(xué)習(xí)對(duì)我們的日常所產(chǎn)生的深遠(yuǎn)影響。
【關(guān)鍵詞】機(jī)器學(xué)習(xí) 推薦系統(tǒng) 大數(shù)據(jù) 數(shù)據(jù)挖掘
1 引言
相比過去,數(shù)據(jù)存儲(chǔ)不再是難題,但隨著海量數(shù)據(jù)的產(chǎn)生,產(chǎn)生了大量數(shù)據(jù)的資源無法得到合理的利用。隨著科技的發(fā)展,人們逐漸把目光轉(zhuǎn)向了數(shù)據(jù)挖掘這個(gè)領(lǐng)域。各種數(shù)據(jù)挖掘技術(shù)被利用到現(xiàn)實(shí)生活中。機(jī)器學(xué)習(xí)技術(shù)在其中起了很大的作用,其中比較廣為所知的就是AlphaGo與李世石的“世紀(jì)之戰(zhàn)”,被譽(yù)為人機(jī)大戰(zhàn),最終以AlphaGo勝利告終,再一次向人們展示了機(jī)器學(xué)習(xí)的強(qiáng)大。在很多人眼里機(jī)器學(xué)習(xí)是個(gè)非常抽象的概念,本文將對(duì)其在推薦系統(tǒng)領(lǐng)域做一定的解析。
2 機(jī)器學(xué)習(xí)的過程
何為機(jī)器學(xué)習(xí)?通俗來說機(jī)器學(xué)習(xí)就是讓機(jī)器跟人一樣學(xué)習(xí)并總結(jié)“經(jīng)驗(yàn)”。當(dāng)然機(jī)器不能跟人一樣去經(jīng)歷各種事情積累“經(jīng)驗(yàn)”。而是通過已有的數(shù)據(jù)讓機(jī)器去分析,總結(jié)其中的規(guī)律,并總結(jié)形成一套模型,應(yīng)用到實(shí)際生活中去。
2.1 獲取數(shù)據(jù)
機(jī)器學(xué)習(xí)的第一步就是獲取數(shù)據(jù),沒有數(shù)據(jù)的機(jī)器學(xué)習(xí)都是空談。數(shù)據(jù)的獲取相對(duì)于后面的步驟較為容易,因?yàn)閿?shù)據(jù)無處不在。超市里有消費(fèi)者的購買記錄,行車記錄儀上有車輛的行駛記錄,電影院有影迷的觀看記錄等,這些數(shù)據(jù)信息是我們開始機(jī)器學(xué)習(xí)的前提。
2.2 清洗數(shù)據(jù)
我們獲取的數(shù)據(jù)是無規(guī)則的,其中有很多對(duì)我們沒有利用價(jià)值的冗余數(shù)據(jù),還有可能會(huì)有影響到我們分析結(jié)果的錯(cuò)誤信息。我們?cè)谶M(jìn)行具體的分析之前需要對(duì)這些信息進(jìn)行預(yù)處理,以免會(huì)影響到分析結(jié)果的準(zhǔn)確率。數(shù)據(jù)的預(yù)處理主要分為三個(gè)方面:距離度量、抽樣、降維。
在協(xié)同過濾推薦系統(tǒng)中使用的KNN分類(k-NearestNeighbor)主要取決于距離度量方法。比較常用的距離度量方法有歐幾里得距離、皮爾遜相關(guān)系數(shù)、Jaccard系數(shù)(針對(duì)二進(jìn)制屬性)等。抽樣是數(shù)據(jù)挖掘從大數(shù)據(jù)集中選擇相關(guān)數(shù)據(jù)子集的主要技術(shù),其在最終的解釋步驟也起了很重要的作用,最常采用的抽樣方法是無取代抽樣,當(dāng)物品被選擇時(shí),物品被從整體中取走,但執(zhí)行取代抽樣也是允許的,也就是說物品即使被選擇也無需從整體中去除。通常訓(xùn)練集和測試集比例為80/20。最后降維是為了去除一些非常稀疏且對(duì)結(jié)果集影響不大的點(diǎn),降低維度,避免維度災(zāi)難,降低運(yùn)算難度。
2.3 分析數(shù)據(jù)與建立模型
在整個(gè)機(jī)器學(xué)習(xí)的過程中,難度最大最為核心的就是分析數(shù)據(jù)。分析數(shù)據(jù)的方法有很多種,每一種在不同的實(shí)際應(yīng)用有其不同的作用,要具體情況具體分析。這里將介紹幾種在推薦系統(tǒng)中較為常用的數(shù)據(jù)分析方法:
最近鄰算法(KNN):KNN通過存儲(chǔ)訓(xùn)練記錄并使用它們來預(yù)測未知樣本的標(biāo)簽類別。這種分類器會(huì)存儲(chǔ)所有的訓(xùn)練集,只有當(dāng)新紀(jì)錄與訓(xùn)練集完全匹配時(shí)才進(jìn)行分類。相對(duì)于其它機(jī)器學(xué)習(xí)算法,KNN是最簡單的,因?yàn)镵NN無需建立一個(gè)顯示的模型,被稱為是一個(gè)懶學(xué)習(xí)者。盡管KNN方法簡單直觀,但它的結(jié)果準(zhǔn)確,非常易于提升。
k-means算法:k-means算法是一個(gè)分塊聚類算法,把獲取的n個(gè)對(duì)象數(shù)據(jù)分割成k個(gè)不相關(guān)子集(k < n)。它與處理混合正態(tài)分布的最大期望算法很相似,因?yàn)樗鼈兌际窃噲D找到數(shù)據(jù)中自然聚類的中心。它假設(shè)對(duì)象屬性來自于空間向量,并且目標(biāo)是使各個(gè)群組內(nèi)部的均方誤差總和最小。k-means算法一開始會(huì)隨機(jī)選擇k個(gè)中心點(diǎn),所有物品都會(huì)被分配到它們最靠近的中心節(jié)點(diǎn)的類中。當(dāng)物品新添加或者移除時(shí),新聚類的中心節(jié)點(diǎn)需要更新,聚類的成員關(guān)系也需要更新,這樣不斷迭代,直到?jīng)]有物品改變它們的聚類成員關(guān)系。最終的聚類對(duì)初始的中心點(diǎn)異常敏感,還可能存在空聚類。
人工神經(jīng)網(wǎng)絡(luò)(ANN):人工神經(jīng)網(wǎng)絡(luò)算法模擬生物網(wǎng)絡(luò),由一組內(nèi)連接點(diǎn)和帶權(quán)鏈組成,是一類模式匹配算法。通常用于解決分類和回歸問題。ANN是機(jī)器學(xué)習(xí)的一個(gè)龐大的分支,有數(shù)百種不同的算法,深度學(xué)習(xí)就是其重要的組成部分之一。ANN最主要的優(yōu)點(diǎn)就是能處理非線性的分類任務(wù),通過并行處理,使得其能夠在部分網(wǎng)絡(luò)受損的情況下操作。但ANN很難對(duì)給定的問題提供理想的網(wǎng)絡(luò)拓?fù)洹.?dāng)拓?fù)浯_定后,其表現(xiàn)水平就會(huì)位于分類錯(cuò)誤率的下線。
貝葉斯分類器:貝葉斯分類器是基于概率定義和貝葉斯定理的一類算法,貝葉斯統(tǒng)計(jì)學(xué)派使用概率來代表從數(shù)據(jù)中學(xué)習(xí)到的關(guān)系的不確定性。其把每一個(gè)屬性和類標(biāo)簽當(dāng)作隨機(jī)變量。給定一個(gè)帶有N個(gè)屬性的記錄(A1,A2,A3,...,AN),目標(biāo)是預(yù)測類Ck,方法是在給定數(shù)據(jù)P(Ck|A1,A2,...,AN)下,找到能夠最大化該類后驗(yàn)概率的Ck的值。常見貝葉斯分類器算法有樸素貝葉斯算法、平均單依賴估計(jì)(AODE)以及貝葉斯網(wǎng)絡(luò)(BBN)等。
2.4 測試模型
整個(gè)機(jī)器學(xué)習(xí)的最后一步就是測試模型,檢測模型的準(zhǔn)確率。這是衡量一個(gè)算法的優(yōu)劣的重要步驟。測試的數(shù)據(jù)集可以從測試中隨機(jī)選取或者從提前預(yù)留的測試集中獲取。
3 機(jī)器學(xué)習(xí)在推薦系統(tǒng)領(lǐng)域存在的挑戰(zhàn)
機(jī)器學(xué)習(xí)在推薦系統(tǒng)中同樣有很廣泛的應(yīng)用,其中較為廣泛的是采用三種方式:基于商品的推薦算法、基于用戶的推薦算法以及混合推薦算法。在很多大型互聯(lián)網(wǎng)網(wǎng)站比如Amazon、淘寶、京東等,都投入了很大的精力在推薦系統(tǒng)這一領(lǐng)域上,希望用戶能夠更加快速的找到自己想要的商品。
盡管機(jī)器學(xué)習(xí)在推薦系統(tǒng)領(lǐng)域的發(fā)展?jié)摿艽?,但也不得不面臨一些問題。其中一個(gè)很棘手的問題就是隨著時(shí)間的推移,用戶的興趣愛好也可能跟著變化,而我們獲取的僅僅是用戶過去的購買記錄。當(dāng)用戶有了新的興趣后,短時(shí)間很難去捕獲到。這只是其中一個(gè)方面,對(duì)機(jī)器學(xué)習(xí)算法的研究還有很長的路要走,但我相信,隨著科技的進(jìn)步,這些都不是問題。
參考文獻(xiàn)
[1]王志梅,楊帆.基于Hebbian一致性學(xué)習(xí)的P2P推薦算法[J].計(jì)算機(jī)研究與應(yīng)用,2006,42(36):110-113.
[2]吳顏,沈潔,顧天竺等.協(xié)同過濾推薦系統(tǒng)中數(shù)據(jù)稀疏問題的解決[J].計(jì)算機(jī)應(yīng)用研究,2007,24(06):94-97.
[3]Peter Harrington. Machine Learning in Action[M].北京:人民郵電出版社,2015.
[4]陳剛,劉發(fā)升.基于BP神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)挖掘方法[J].計(jì)算機(jī)與現(xiàn)代化,2006(10).
[5]王衛(wèi)平,劉穎.基于客戶行為序列的推薦算法[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2007,17(05):35-38.
作者簡介
周齊(1993-),男,安徽省安慶市人。研究生在讀,軟件工程專業(yè)。主要從事大數(shù)據(jù)挖掘領(lǐng)域的研究。
單位介紹
杭州師范大學(xué) 浙江省杭州市 311121