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