接著按照學習形式將機器學習劃分為監督學習、無監督學習、半監督學習、強化學習進行分類說明,最後概要介紹機器學習綜合應用場景。
本文只是一個開始,以期使讀者對大資料機器學習的應用情況有一個全貌概覽。
作者:馬海平 於俊 呂昕 向海
如需轉載請聯絡大資料(ID:hzdashuju)
01 機器學習概述
隨著大資料的發展,機器學習進入了最美好的時代,透過“漣漪效應”逐步迭代,大資料推動機器學習真正實現落地。
接下來,我們從大資料講起,擴充套件到機器學習的發展和大資料生態。
1. 理解大資料
資料源越多越精確,越能無限逼近事實和真相,越能獲得更深邃的智慧和洞察,這就是大資料的價值。
“大資料(Big Data,BD)”的概念早已有之,1980年著名未來學家阿爾文·托夫勒在《第三次浪潮》一書中,將大資料熱情地贊頌為“第三次浪潮的華彩樂章”。
近幾年,“大資料”和“物聯網”“雲端計算”“人工智慧”一道成為資訊科技行業的流行詞彙,理清楚它們的關係是理解大資料的前提,但是和大資料概念一樣,每個人都有自己的理解。
徐宗本院士在“再論大資料—在人工智慧的浪潮下對大資料的再認識”報告中提出大資料與其他資訊科技的關係:物聯網是“互動方式”,雲端計算是“基礎設施”,人工智慧是“場景應用”,大資料是“互動內容”。大資料使用物聯網互動方式、儲存在雲端計算基礎設施、支援人工智慧場景應用,生成完整的價值鏈。
陳國良院士在“大資料與高效能運算”報告中提出了物聯網(IoT)、大資料(BD)、雲端計算(CC)生態鏈,如圖1-2所示。
▲圖1-2 物聯網、雲端計算、大資料生態鏈
① IoT透過採集與捕獲產生了BD;② BD為CC找到了更多的實際應用;③ CC為BD提供了彈性可擴充套件的儲存和並行處理;④ BD為IoT產生了大價值,雲端計算與高效能運算是一對在出生時被分開的兄弟,兩者相結合得到的高效能雲端計算能產生更大的價值。
總之,大資料的儲存、處理需要雲端計算基礎設施的支撐,雲端計算需要海量資料的處理能力證明自身的價值;人工智慧技術的進步離不開雲端計算能力的不斷增長,雲端計算讓人工智慧服務無處不在、觸手可及;大資料的價值發現需要高效的人工智慧方法,人工智慧的自我學習需要海量資料的輸入。
隨著大資料和人工智慧的深度融合,高度資料化的AI(人工智慧)和高度智慧化的DT(大資料技術)並存將是時代新常態。
2. 機器學習發展過程
機器學習(Machine Learning,ML)是人工智慧的核心,涉及統計學、系統辨識、逼近理論、神經網路、最佳化理論、電腦科學、腦科學等諸多領域,研究計算機怎樣模擬或實現人類的學習行為,以獲取新的知識或技能,重新組織已有的知識結構從而不斷改善自身的效能。
相對於傳統機器學習利用經驗改善系統自身的效能,現在的機器學習更多是利用資料改善系統自身的效能。基於資料的機器學習是現代智慧技術中的重要方法之一,它從觀測資料(樣本)出發尋找規律,利用這些規律對未來資料或無法觀測的資料進行預測。
機器學習的發展過程分為三個階段。
-
第一階段,邏輯推理期(1956年—1960年),以自動定理證明系統為代表,如西蒙與紐厄爾的Logic Theorist系統,但是邏輯推理存在侷限性。
-
第二階段,知識期(1970年—1980年),以專家系統為代表,如費根·鮑姆等人的DENDRAL系統,存在要總結出知識、很難“教”給系統的問題。
-
第三階段,學習期(1990年至今),機器學習是作為“突破知識工程瓶頸”之利器出現的。在20世紀90年代中後期,人類發現自己淹沒在資料的海洋中,機器學習也從利用經驗改善效能轉變為利用資料改善效能。這階段,人們對機器學習的需求也日益迫切。
典型的機器學習過程是以演演算法、資料的形式,利用已知資料標註未知資料的過程。如圖1-3所示,首先需要將資料分為訓練集和樣本集(訓練集的類別標記已知),透過選擇合適的機器學習演演算法,將訓練資料訓練成模型,透過模型對新樣本集進行類別標記。
▲圖1-3 典型的機器學習過程
使用機器學習解決實際問題需要具體問題具體分析,根據場景進行演演算法設計。
3. 大資料生態環境
在大資料生態環境中,包括資料採集、資料儲存、資料預處理、特徵處理、模型構建、資料視覺化等,透過分類、聚類、回歸、協同過濾、關聯規則等機器學習方法,深入挖掘資料價值,並實現資料生態的良性迴圈。
如同海量資料儲存在雲端計算裝置中,水儲存在江河湖海之中;資料採集可以理解為從各種渠道聚集水進入江河湖海;資料預處理可以理解為水之蒸發、過濾、提取形成天上雲的過程;雲進行特徵的自我變化和重組,最終形成可以轉變的狀態;基於機器學習的模型構建,即可以理解為不同天氣狀況下的雲轉變成雨水、雪花、冰雹、寒霜、霧氣的變化過程。
水儲存在江河湖海中,經過蒸發、過濾、提取形成雲,雲自我變化、重組,而在不同天氣下轉變成雨水、雪花、冰雹、寒霜、霧氣過程的視覺化觀察,可以理解為人對自然把握和發現的過程。
資料流轉生態如圖1-4所示。
▲圖1-4 資料流轉生態
-
可以簡單抽象一下,雲轉換成雨水、雪花、冰雹、寒霜、霧氣的過程就是分類的過程,雲按照任何一種變化(如雨水)彙集的過程就是聚類的過程。
-
根據歷史雨水的情況,預測即將降雨的情況就是回歸過程。
-
在某種氣候條件下,雨水和雪花會並存,產生“雨夾雪”的天氣情況,這就是關聯過程。
-
根據對雨水、雪花、冰雹、寒霜、霧氣的喜好程度,選擇觀察自己喜好的天氣,就是協同過濾的過程。
-
導致天氣變化的因素很多(很多和霧霾有關),處理起來有難度,在不喪失主要特徵的情況,去掉部分特徵,這個過程就是特徵降維的過程。
透過模擬人類大腦的神經連線結構,將各種和霧霾相關的天氣特徵轉換到具有語意特徵的新特徵空間,自動學習得到層次化的特徵表示,從而提高霧霾的預報效能,這就是深度學習過程。
02 機器學習演演算法
根據學習方法不同可以將機器學習分為傳統機器學習、深度學習、其他機器學習。參考Kaggle機器學習大調查,資料科學中更常見的還是傳統經典的機器學習演演算法,簡單的線性與非線性分類器是資料科學中最常見的演演算法,功能強大的整合方法也十分受歡迎。
最常用的資料科學方法是邏輯回歸,而國家安全領域則更為頻繁使用神經網路。總的來說,目前神經網路模型的使用頻率要高於支援向量機,這可能是因為近來多層感知機要比使用帶核函式的SVM有更加廣泛的表現。
1. 傳統機器學習
傳統機器學習從一些觀測(訓練)樣本出發,試圖發現不能透過原理分析獲得的規律,實現對未來資料行為或趨勢的準確預測。
傳統機器學習平衡了學習結果的有效性與學習模型的可解釋性,為解決有限樣本的學習問題提供了一種框架,主要用於有限樣本情況下的樣式分類、回歸分析、機率密度估計等。
傳統機器學習方法的重要理論基礎之一是統計學,在自然語言處理、語音識別、影象識別、資訊檢索和生物資訊等許多計算機領域獲得了廣泛應用。
相關演演算法包括邏輯回歸、隱馬爾可夫方法、支援向量機方法、K近鄰方法、三層人工神經網路方法、Adaboost演演算法、貝葉斯方法以及決策樹方法等。
(1)分類方法
分類方法是機器學習領域使用最廣泛的技術之一。分類是依據歷史資料形成刻畫事物特徵的類標識,進而預測未來資料的歸類情況。目的是學會一個分類函式或分類模型(也稱作分類器),該模型能把資料集中的事物對映到給定類別中的某一個類。
在分類模型中,我們期望根據一組特徵來判斷類別,這些特徵代表了物體、事件或背景關係相關的屬性。
(2)聚類方法
聚類是指將物理或抽象的集合分組成為由類似的物件組成的多個類的過程。由聚類生成的簇是一組資料物件的集合,這些物件與同一個簇中的物件彼此相似,與其他簇中的物件相異。在許多應用中,一個簇中的資料物件可作為一個整體來對待。
在機器學習中,聚類是一種無監督的學習,在事先不知道資料分類的情況下,根據資料之間的相似程度進行劃分,目的是使同類別的資料物件之間的差別儘量小,不同類別的資料物件之間的差別儘量大。
通常使用KMeans進行聚類,聚類演演算法LDA是一個在文字建模中很著名的模型,類似於SVD、PLSA等模型,可以用於淺層語意分析,在文字語意分析中是一個很有用的模型。
(3)回歸方法
回歸是根據已有數值(行為)預測未知數值(行為)的過程,與分類樣式分析不同,預測分析更側重於“量化”。一般認為,使用分類方法預測分類標號(或離散值),使用回歸方法預測連續或有序值。如使用者對這個電影的評分是多少?使用者明天使用某個產品(手機)的機率有多大?
常見的預測模型基於輸入的使用者資訊,透過模型的訓練學習,找出資料的規律和趨勢,以確定未來標的資料的預測值。
(4)關聯規則
關聯規則是指發現資料中大量項集之間有趣的關聯或相關聯絡。挖掘關聯規則的步驟包括:① 找出所有頻繁項集,這些項集出現的頻繁性至少和預定義的最小支援計數一樣;② 由頻繁項集產生強關聯規則,這些規則必須滿足最小支援度和最小置信度。
隨著大量資料不停地收集和儲存,許多業界人士對從資料集中挖掘關聯規則越來越感興趣。從大量商務事務記錄中發現有趣的關聯關係,可以幫助制定許多商務決策。
透過關聯分析發現經常出現的事物、行為、現象,挖掘場景(時間、地點、使用者性別等)與使用者使用業務的關聯關係,從而實現因時、因地、因人的個性化推送。
(5)協同過濾
隨著網際網路上的內容逐漸增多,人們每天接收的資訊遠遠超出人類的資訊處理能力,資訊過載日益嚴重,因此資訊過濾系統應運而生。資訊過濾系統基於關鍵詞,過濾掉使用者不想看的內容,只給使用者展示感興趣的內容,大大地減少了使用者篩選資訊的成本。
協同過濾起源於資訊過濾,與資訊過濾不同,協同過濾分析使用者的興趣並構建使用者興趣模型,在使用者群中找到指定使用者的相似興趣使用者,綜合這些相似使用者對某一資訊的評價,系統預測該指定使用者對此資訊的喜好程度,再根據使用者的喜好程度給使用者展示內容。
(6)特徵降維
特徵降維自20世紀70年代以來獲得了廣泛的研究,尤其是近幾年以來,在文字分析、影象檢索、消費者關係管理等應用中,資料的實體數目和特徵資料都急劇增加,這種資料的海量性使得大量機器學習演演算法在可測量性和學習效能方面產生嚴重問題。
例如,具有成百上千特徵的高維資料集,會包含大量的無關資訊和冗餘資訊,這些資訊可能極大地降低學習演演算法的效能。因此,當面臨高維資料時,特徵降維對於機器學習任務顯得十分重要。
特徵降維從初始高維特徵集中選出低維特徵集合,以便根據一定的評估準則最最佳化、縮小特徵空間的過程,通常作為機器學習的預處理步驟。大量研究實踐證明,特徵降維能有效地消除無關和冗餘特徵,提高挖掘任務的效率,改善預測精確性等學習效能,增強學習結果的易理解性。
2. 深度學習
深度學習又稱為深度神經網路(指層數超過3層的神經網路),是建立深層結構模型的學習方法。深度學習作為機器學習研究中的一個新興領域,由Hinton等人於2006年提出。深度學習源於多層神經網路,其實質是給出了一種將特徵表示和學習合二為一的方式。
深度學習的特點是放棄了可解釋性,單純追求學習的有效性。經過多年的摸索嘗試和研究,已經產生了諸多深度神經網路的模型,包括深度置信網路、摺積神經網路、受限玻爾茲曼機和迴圈神經網路等。其中摺積神經網路、迴圈神經網路是兩類典型的模型。
摺積神經網路常應用於空間性分佈資料;迴圈神經網路在神經網路中引入了記憶和反饋,常應用於時間性分佈資料。
深度學習框架一般包含主流的神經網路演演算法模型,提供穩定的深度學習API,支援訓練模型在伺服器和GPU、TPU間的分散式學習,部分框架還具備在包括移動裝置、雲平臺在內的多種平臺上執行的移植能力,從而為深度學習演演算法帶來了前所未有的執行速度和實用性。
目前主流的開源演演算法框架有TensorFlow、Caffe/Caffe2、CNTK、MXNet、PaddlePaddle、Torch/PyTorch、Theano等。
深度學習是機器學習研究中的一個分支領域,其動機在於建立、模擬人腦進行分析學習的神經網路,它模仿人腦的機制來解釋資料,例如影象、聲音和文字。從技術上來看,深度學習就是“很多層”的神經網路,神經網路實質上是多層函式巢狀形成的資料模型。
伴隨著雲端計算、大資料時代的到來,計算能力的大幅提升,深度學習模型在計算機視覺、自然語言處理、語音識別等眾多領域都取得了較大的成功。
3. 其他機器學習
此外,機器學習的常見演演算法還包括遷移學習、主動學習和演化學習等。
(1)遷移學習
遷移學習是指當在某些領域無法取得足夠多的資料進行模型訓練時,利用另一領域的資料獲得的關係進行學習。遷移學習可以把已訓練好的模型引數遷移到新的模型,指導新模型訓練,更有效地學習底層規則、減少資料量。
目前的遷移學習技術主要在變數有限的小規模應用中使用,如基於感測器網路的定位、文字分類和影象分類等。未來遷移學習將被廣泛應用於解決更有挑戰性的問題,如影片分類、社交網路分析、邏輯推理等。
(2)主動學習
主動學習透過一定的演演算法查詢最有用的未標記樣本,並交由專家進行標記,然後用查詢到的樣本訓練分類模型來提高模型的精度。主動學習能夠選擇性地獲取知識,透過較少的訓練樣本獲得高效能的模型,最常用的策略是透過不確定性準則和差異性準則選取有效的樣本。
(3)演化學習
演化學習基於演化演演算法提供的最佳化工具設計機器學習演演算法,針對機器學習任務中存在大量的複雜最佳化問題,應用於分類、聚類、規則發現、特徵選擇等機器學習與資料挖掘問題。
演化演演算法通常維護一個解的集合,並透過啟髮式運算元來從現有的解產生新解,並透過挑選更好的解進入下一次迴圈,不斷提高解的質量。演化演演算法包括粒子群最佳化演演算法、多標的演化演演算法等。
03 機器學習分類
機器學習按照學習形式進行分類,可分為監督學習、無監督學習、半監督學習、強化學習等。區別在於,監督學習需要提供標註的樣本集,無監督學習不需要提供標註的樣本集,半監督學習需要提供少量標註的樣本,而強化學習需要反饋機制。
1. 監督學習
監督學習是利用已標記的有限訓練資料集,透過某種學習策略/方法建立一個模型,實現對新資料/實體的標記(分類)/對映。監督學習要求訓練樣本的分類標簽已知,分類標簽的精確度越高,樣本越具有代表性,學習模型的準確度越高。監督學習在自然語言處理、資訊檢索、文字挖掘、手寫體辨識、垃圾郵件偵測等領域獲得了廣泛應用。
監督學習的輸入是標註分類標簽的樣本集,通俗地說,就是給定了一組標準答案。監督學習從這樣給定了分類標簽的樣本集中學習出一個函式,當新的資料到來時,就可以根據這個函式預測新資料的分類標簽。監督學習過程如圖1-5所示。
▲圖1-5 監督學習流程圖
在監督學習下,輸入資料被稱為“訓練資料”,每組訓練資料有一個明確的標識或結果,如對反垃圾郵件系統中的“垃圾郵件”“非垃圾郵件”分類等。
在建立預測模型的時候,監督學習建立一個學習過程,將預測結果與“訓練資料”的實際結果進行比較,不斷調整預測模型,直到模型的預測結果達到一個預期的準確率。
最典型的監督學習演演算法包括回歸和分類等。
2. 無監督學習
無監督學習是利用無標記的有限資料描述隱藏在未標記資料中的結構/規律。無監督學習不需要訓練樣本和人工標註資料,便於壓縮資料儲存、減少計算量、提升演演算法速度,還可以避免正負樣本偏移引起的分類錯誤問題,主要用於經濟預測、異常檢測、資料挖掘、影象處理、樣式識別等領域,例如組織大型計算機叢集、社交網路分析、市場分割、天文資料分析等。
無監督學習與監督學習相比,樣本集中沒有預先標註好的分類標簽,即沒有預先給定的標準答案。它沒有告訴計算機怎麼做,而是讓計算機自己去學習如何對資料進行分類,然後對那些正確分類行為採取某種形式的激勵。
在無監督學習中,資料並不被特別標識,學習模型是為了推斷出資料的一些內在結構。常見的應用場景包括關聯規則的學習以及聚類等。常見演演算法包括Apriori演演算法、KMeans演演算法、隨機森林(random forest)、主成分分析(principal component analysis)等。
3. 半監督學習
半監督學習介於監督學習與無監督學習之間,其主要解決的問題是利用少量的標註樣本和大量的未標註樣本進行訓練和分類,從而達到減少標註代價、提高學習能力的目的。
在此學習方式下,輸入資料部分被標識,部分沒有被標識,這種學習模型可以用來進行預測,但是該模型首先需要學習資料的內在結構以便合理地組織資料進行預測。
應用場景包括分類和回歸,演演算法包括一些對常用監督學習演演算法的延伸,這些演演算法首先試圖對未標識資料進行建模,在此基礎上再對標識的資料進行預測。如圖論推理(graph inference)演演算法或者拉普拉斯支援向量機(Laplacian SVM)等。
4. 強化學習
強化學習是智慧系統從環境到行為對映的學習,以使強化訊號函式值最大。由於外部環境提供的資訊很少,強化學習系統必須靠自身的經歷進行學習。
強化學習的標的是學習從環境狀態到行為的對映,使得智慧體選擇的行為能夠獲得環境的最大獎賞,使得外部環境對學習系統在某種意義下的評價為最佳。其在機器人控制、無人駕駛、下棋、工業控制等領域獲得成功應用。
在這種學習樣式下,輸入資料作為對模型的反饋,不像監督模型那樣,輸入資料僅僅是作為一個檢查模型對錯的方式。在強化學習下,輸入資料直接反饋到模型,模型必須對此立刻做出調整。常見的應用場景包括動態系統以及機器人控制等。
常見演演算法包括Q-Learning以及時間差學習(temporal difference learning)。
04 機器學習綜合應用
機器學習已經“無處不在”,應用遍及人工智慧的各個領域,包括資料挖掘、計算機視覺、自然語言處理、語音和手寫識別、生物特徵識別、搜尋引擎、醫學診斷、信用卡欺詐檢測、證券市場分析、汽車自動駕駛、軍事決策等。
下麵我們從異常檢測、使用者畫像、廣告點選率預估、企業徵信大資料應用、智慧交通大資料應用等方面介紹大資料的綜合應用。
1. 異常檢測
異常是指某個資料物件由於測量、收集或自然變異等原因變得不同於正常的資料物件的場景,找出異常的過程,稱為異常檢測。根據異常的特徵,可以將異常分為以下三類:點異常、背景關係異常、集合異常。
異常檢測的訓練樣本都是非異常樣本,假設這些樣本的特徵服從高斯分佈,在此基礎上估計出一個機率模型,用該模型估計待測樣本屬於非異常樣本的可能性。異常檢測步驟包括資料準備、資料分組、異常評估、異常輸出等步驟。
2. 使用者畫像
使用者畫像的核心工作就是給使用者打標簽,標簽通常是人為規定的高度精煉的特徵標識,如年齡、性別、地域、興趣等。由這些標簽集合能抽象出一個使用者的資訊全貌,每個標簽分別描述了該使用者的一個維度,各個維度相互聯絡,共同構成對使用者的整體描述。
在產品的運營和最佳化中,根據使用者畫像能夠深入理解使用者需求,從而設計出更適合用戶的產品,提升使用者體驗。
使用某新聞App使用者行為資料構建使用者畫像的流程和一些常用的標簽體系實踐,詳見乾貨請收好:終於有人把使用者畫像的流程、方法講明白了。
3. 廣告點選率預估
網際網路廣告是網際網路公司主要的盈利手段,網際網路廣告交易的雙方是廣告主和媒體。為自己的產品投放廣告併為廣告付費;媒體是有流量的公司,如各大入口網站、各種論壇,它們提供廣告的展示平臺,並收取廣告費。
廣告點選率(Click Through Rate,CTR)是指廣告的點選到達率,即廣告的實際點選次數除以廣告的展現量。在實際應用中,我們從廣告的海量歷史展現點選日誌中提取訓練樣本,構建特徵並訓練CTR模型,評估各方面因素對點選率的影響。
當有新的廣告位請求到達時,就可以用訓練好的模型,根據廣告交易平臺傳過來的相關特徵預估這次展示中各個廣告的點選機率,結合廣告出價計算得到的廣告點選收益,從而選出收益最高的廣告向廣告交易平臺出價。
4. 企業徵信大資料應用
徵信是指為信用活動提供信用資訊服務,透過依法採集、整理、儲存、加工企業、事業單位等組織的信用資訊和個人的信用資訊,並提供給資訊使用者。徵信是由徵信機構、資訊提供方、資訊使用方、資訊主體四部分組成,綜合起來,形成了一個整體的徵信行業的產業鏈。
徵信機構向資訊提供方採集徵信相關資料,資訊使用方獲得資訊主體的授權以後,可以向徵信機構索取該資訊主體的徵信資料,從徵信機構獲得徵信產品,針對企業來說,是由該企業的各種維度資料構成的徵信報告。
5. 智慧交通大資料應用
智慧交通大資料應用是以物聯網、雲端計算、大資料等新一代資訊科技,結合人工智慧、機器學習、資料挖掘、交通科學等理論與工具,建立起的一套交通運輸領域全面感知、深度融合、主動服務、科學決策的動態實時資訊服務體系。
基於人工智慧和大資料技術的疊加效應,結合交通行業的專家知識庫建立交通資料模型,解決城市交通問題,是交通大資料應用的首要任務。
交通大資料模型主要分為城市人群時空圖譜、交通執行狀況感知與分析、交通專項數字化運營和監管、交通安全分析與預警等幾大類。
本文摘編自《Spark機器學習進階實戰》,經出版方授權釋出。
延伸閱讀《Spark機器學習進階實戰》 點選上圖瞭解及購買 轉載請聯絡微信:DoctorData
推薦語:科大訊飛大資料專家撰寫,從基礎到應用,面面俱到。
朋友會在“發現-看一看”看到你“在看”的內容