龍虎 李娜
摘要:大數據的核心是利用數據的價值,機器學習是利用數據挖掘價值的關鍵技術。大數據技術下的機器學習平臺構建是以大數據技術為基礎,突破一系列關鍵技術,構建基于大數據技術的機器學習平臺,提供分布式計算能力,快速實現海量數據處理。通過對大數據技術和機器學習概念進行梳理,提出了大數據技術下的機器學習平臺架構,對其進行了深入的分析和研究,希望該研究能為大數據技術與機器學習研究者提供參考和借鑒。
關鍵詞:大數據技術;機器學習;平臺構建
中圖分類號:TP393 文獻標識碼:A
文章編號:1009-3044(2019)10-0157-03
開放科學(資源服務)標識碼(OSID):
Research on the Construction of Machine Learning Platform under Big Data Technology
LONG Hu,LI Na
(Kaili University, Kaili 556011, China)
Abstract: The big data core is uses the data the value, the machine learning is uses the data mining value the key technologies.Under the big data technology machine learning platform construction is take the big data technology as a foundation, breaks through a series of key technologies, constructs based on the big data technology machine learning platform, provides the distributed computing ability, fast realization magnanimous data processing.Through carried on to the big data technology and the machine learning concept combs, proposed under the big data technology machine learning platform construction, has carried on the thorough analysis and the research to it, hoped this research could provides the reference and the model for the big data technology and the machine learning researcher.
Key words: Big data technology; Machine learning; Platform Building
大數據時代背景下, 隨著大數據技術、云計算、物聯網、機器學習、人工智能以及移動網絡等新一代信息技術不斷涌現,掀起了新一輪的技術革命浪潮,傳統的機器學習的分類算法很難直接應用到大數據環境下,不同的分類算法面領著不同的挑戰。研究大數據不僅僅是各種數據的采集與存儲,更重要的是如何利用好大數據,通過分析和挖掘海量數據,發現其隱藏于數據背后的價值和有規律的知識,并服務于各個領域,大數據的分析挖掘技術為機器學習的發展和應用提供了廣闊的空間。大數據技術下的機器學習研究已成為很多研究機構和專家學者的研究熱點問題。國內外的著名企業如百度、騰訊、Google、Facebook、微軟等專門對機器學習與大數據技術進行了深入研究,將大數據技術與機器學習推上了新一輪發展浪潮,讓大數據技術與機器學習成了當前的研究熱點。大數據技術下的機器學習的研究已成為一個重要的研究方向。
1大數據技術
大數據(big data),是指海量數據,既包括結構化、半結構化數據,還包括非結構化的數據,具有種類繁多的信息價值,無法用目前的主流軟件工具,在一定的時間內采取、分析處理及管理的高速海量的信息資產[1]。全球最具權威的IT研究與顧問咨詢公司Gartner對大數據給出了具體的定義:大數據是需要新處理模式才能具有更強的決策力、洞察發現力和流程優化能力的海量、高增長率和多樣化的信息資產[2]。當前,關于大數據的定義還未形成一個統一的表述,先后有多個權威機構以及專家學者等對大數據的定義進行了不同的表述,對于大數據定義的表述主要有麥肯錫咨詢公司、國際數據公司(International Data Company,IDC)、Gartner、維基百科以及亞馬遜的大數據科學家John Rauser等都對大數據給出了不同的定義。
大數據技術主要有六大關鍵與核心的技術,主要包括數據采集技術、數據存儲技術、數據計算、數據挖掘和數據可視化技術以及數據安全與隱私保護技術。數據采集技術是數據處理的必備條件,需要有數據采集的手段,把信息收集上來,才能應用上層的數據處理技術,數據采集除了各類傳感設備等硬件軟件設施之外,主要涉及的是數據的采集轉換以及加載過程,能對數據進行清洗、過濾、校驗和轉換等各種預處理,將有效的數據轉換成適合的格式和類型。數據存儲技術主要是數據經過采集和轉換之后,需要存儲歸檔,針對巨量的大數據,一般可以采用分布式文件系統和分布式數據庫的存儲方式,把數據分布到多個存儲節點上,同時還需要提供備份、安全、訪問接口以及協議等機制。數據計算主要涵蓋數據查詢、數據統計、數據分析、數據預測、圖譜處理等各項相關的技術;數據挖掘(Data Mining,DM)又稱數據庫中的知識發現,是涉及機器學習、人工智能、數據庫理論以及統計學等學科的交叉研究領域,數據挖掘主要是從數據庫中大量數據中挖掘出有用的信息,即從大量的、不完全的、有噪聲的、模糊的和隨機的實際應用數據中,發現隱含的、規律性的、人們事先未知的,但又是潛在有用的并且最終可理解的信息和知識的非平凡過程。數據可視化技術可將分析與處理的海量數據利用可視化軟件通過圖的形式呈現出來,常用的大數據可視化軟件工具有TABLEAU和DATAWATCH以及大數據魔鏡等,通過可視化可了解數據背后隱藏的有用信息。數據安全與隱私保護技術主要是大數據技術下數據的安全性和個人隱私安全保護技術等方面,通過構建數據安全保護體系與隱私數據保護技術體系可有效地保護數據安全與隱私。
2機器學習
機器學習是人工智能的核心技術,主要是指讓機器模擬人類的學習過程,來獲取新的知識或技能,并通過自身的學習完成指定的工作或任務,目標是讓機器能像人一樣具有學習能力[3]。機器學習的發展可以追溯到二十世紀五十年代,其發展主要經歷了推理期和知識期以及學習期三個階段。機器學習的本質是樣本空間的搜索和模型的泛化能力。機器學習與統計學習和數據挖掘、計算機視覺、大數據以及人工智能等學科有著緊密的關系,機器學習已成為當前人工智能領域研究的核心。
根據機器學習算法的學習方式,機器學習分為有監督學習、無監督學習和半監督學習。有監督學習是利用一組已知類別的樣本調整分類器的參數,使其達到所要求性能的學習過程。無監督學習是對無標號樣本的學習,以發現訓練樣本集中的結構性知識的學習過程,也成為無老師的學習。半監督學習是有監督學習和無監督學習相結合的學習,是利用有類標號的數據和無類標號的數據進行學習的過程。根據算法的功能和形式可把機器學習算法分為決策樹學習、增量學習和強化學習、回歸學習、關聯規則學習、進化學習、神經網絡學習、主動學習以及集成學習等。常用的工具有WEKA、Python語言、R語言和深度學習框架等。在有監督學習任務中,若預測變量為離散變量,則其為分類問題,而預測變量為連續變量時,則稱其為回歸問題,回歸分析是一種用于確定一種用于確定兩種或兩種以上變量間的相互依賴關系的統計分析方法?;貧w分析的基本步驟:①分析預測目標,確定自變量和因變量;②建立合適的回歸預測模型;③相關性分析;④檢驗回歸預測模型,計算預測的誤差;⑤計算并確定預測值。按照問題所涉及變量的多少,可將回歸分析分為一元回歸分析和多元回歸分析,按照自變量與因變量之間是否存在線性關系,分為線性回歸分析和非線性回歸分析。
機器學習的常用評價指標有準確率、召回率、ROC曲線以及交叉驗證等,準確率是指在樣本分類時,被正確分類的樣本數與樣本總數之比,與準確率對應的是錯誤率,錯誤率是錯分樣本數與總樣本數之比。召回率主要是指分類正確的正樣本個數占所有的正樣本個數的比例,表示的是數據集中的正樣本有多少被預測正確。ROC(Receiver Operating Characteristic)曲線是分類器的一種性能指標,可以實現不同分類器性能比較,不同的分類器比較時,畫出每個分類器的ROC曲線,將曲線下方面積作為判斷模型好壞的指標。交叉驗證的基本思想是將數據分成訓練集和測試集,在訓練集上訓練模型,然后利用測試集模擬實際的數據,對訓練模型進行調整或評價,最后選擇在驗證數據上表現最好的模型。當前,機器學習平臺主要有亞馬遜的Amazon Machine Learning 、Google的開發的Tensor Flow、Azure Machine Learning、AMLS、H2O、Caffe和MLlib以及Torch等。亞馬遜的Amazon Machine Learning主要是利用先進的算法和公式創建機器學習模型,提供現有的數據中的模式。Google的開發的Tensor Flow是一個開源軟件庫,主要是利用數據流圖的數值計算。AMLS是一個服務框架。H2O是當前比較流行的開源深度學習平臺。Caffe支持廣泛的代碼使用,Caffe可幫助學術研究項目,啟動原型、語音和視覺以及多媒體等大型工業應用。MLlib是Apache Spark的機器學習庫,一般包含常見的學習算法和應用程序。Torch是一種應用廣泛的開源機器學習開發框架。
3 大數據技術下的機器學習平臺構建
大數據的核心是利用數據的價值,機器學習是利用數據挖掘價值的關鍵技術,數據量的增加有利于提升機器學習算法的精度,大數據背景下的機器學習算法也迫切需要大數據處理技術。大數據技術下的機器學習平臺是集數據處理、建模、離線預測、在線預測為一體的機器學習平臺。該平臺為算法開發者提供了豐富的MPI、PS、BSP等編程框架和數據存取接口,高效地配置計算資源,為數據賦能??商峁┧惴ㄩ_發、分享、模型訓練、部署、監控等一站式算法服務,支持處理億萬級大規模數據,用戶無須編碼,可以通過可視化的操作界面來操作整個實驗流程,同時也支持PAI命令,讓用戶通過命令來操作實驗。通過拖拽的方式搭配實驗,提供了數據模型的可視化功能,縮短了用戶與數據的距離,真正實現了數據的觸手可及,同時,也提供了命令行工具,方便用戶將算法嵌入到自身的工程中。
大數據技術下的機器學習平臺不僅提供了基礎的聚類、回歸等機器學習算法,也提供了文本分析以及特征處理的算法。大數據技術下的機器學習平臺主要應用在數據挖掘場景下,從海量的數據中通過算法搜索隱藏于其中信息的過程。大數據技術下的機器學習平臺設計目標是支持海量數據的處理,利用并行計算,采用拖拽以及連線的形式構建建模流程,可以支持常用的機器學習算法如回歸、分類和聚類等,支持常用的特征工程組件如標準化、歸一化缺失值處理等,支持算法評估結果可視化,在算法庫方面選擇Spark,該算法具備較為高效的分布式計算能力,ml 和 mllib 都是 Spark 中的機器學習庫,常用的機器學習功能兩個個庫都能滿足需求。Spark最初誕生于美國加州大學伯克利分校的AMP實驗室,是一個可應用于大規模數據處理的快速和通用引擎,能夠提供內存計算框架,也可以支持機器學習和圖計算等。Spark的部署模式主要有四種:Local模式、Standalone模式、YARN模式和Mesos模式,Spark可通過官網進行下載,下載后可直接進行安裝,安裝文件解壓縮后,還需要修改Spark的配置文件Spark-env.sh,復制一份由Spark安裝文件自帶的配置文件模板,然后使用vim編輯器打開SparkSpark-env.sh文件進行編輯,在該文件的第一行添加配置信息,有了配置信息,Spark就可以把數據存儲到Hadoop分布式文件系統HDFS中,也可以從HDFS中讀取數據。配置完成后可以直接使用Spark,利用Spark自帶的實例進行驗證安裝的效果。大數據技術下的機器學習平臺如圖1所示。
大數據技術下的機器學習平臺可提供特征工程、統計、訓練、預測和模型發布等功能,采用并行化分布式的數據處理組件,能夠很快地實現復雜的數據預處理過程,可以實現對數據的清理、替換、組合、采樣、去重、拆分等操作。通過簡單的配置可以進行模型訓練和評估,邏輯回歸LR和深度神經網絡DNN,聚類Kmeans和模型LDA以及協同過濾CF等多種模型訓練。
4結束語
大數據的核心是利用數據的價值,機器學習是利用數據挖掘價值的關鍵技術,大數據技術下的機器學習平臺是集數據處理、建模、離線預測、在線預測為一體的機器學習平臺。該平臺為算法開發者提供了豐富的MPI、PS、BSP等編程框架和數據存取接口,高效地配置計算資源,為數據賦能,可提供算法開發、分享、模型訓練、部署和監控等一站式算法服務。
參考文獻:
[1] 龍虎, 楊暉. 大數據背景下的數據分析與可視化研究[J].凱里學院學報,2016,34(3):98-102.
[2] 李聯寧.大數據技術及應用教程[M].北京:清華大學出版社,2016.
[3] 牟少敏.機器學習與大數據技術[M].北京:人民郵電出版社,2018.
【通聯編輯:王力】