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