入門科普:一文看懂機器學習的概念、算法、分類及應用(快收藏)

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

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

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

入門科普:一文看懂機器學習的概念、算法、分類及應用(快收藏)

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機器學習進階實戰》

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


分享到:


相關文章: