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