歡迎光臨
每天分享高質量文章

什麼是機器學習?有哪些演算法和分類?又有哪些應用?看完你就懂了

導讀:本文從大資料的概念講起,主要介紹機器學習的基礎概念,以及機器學習的發展過程,用一個形象的例子講解大資料生態中的機器學習,並按照傳統機器學習(包括分類、聚類、回歸、關聯規則、協同過濾、資料降維等)、深度學習,以及其他機器學習(遷移學習、主動學習、演化學習)進行演算法講解。

接著按照學習形式將機器學習劃分為監督學習、無監督學習、半監督學習、強化學習進行分類說明,最後概要介紹機器學習綜合應用場景。

本文只是一個開始,以期使讀者對大資料機器學習的應用情況有一個全貌概覽。

 

 

作者:馬海平 於俊 呂昕 向海

如需轉載請聯繫大資料(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

推薦語:科大訊飛大資料專家撰寫,從基礎到應用,面面俱到。

已同步到看一看
赞(0)

分享創造快樂