1.學習心得
在開始機器學習之前,先對模式識别有了大概了解。模式識别即根據已有知識的表達,針對待識别模式,判别決策其所屬的類别或者預測其對應的回歸值。簡而言之,有兩種形式,分類和回歸。不同之處在于,分類的輸出量是離散的類别表達,而回歸的輸出量是連續的信号表達。本質上是一個推理過程。我們可以用數學表達模式識别,将模式識别看做一個函數映射f(x),待識别模式x從輸入空間映射到輸出空間,在這裡函數f(x)是關于已有知識的表達。了解完模式識别之後,引入模型的概念。傳統意義上的模型由特征提取和回歸器組成。特征是用于區分不同類别的、可測量的量,輸入資料也可以看做一種原始特征表達,具有辨識能力和魯棒性。第一次聽說魯棒性這個概念,給出的解釋是針對不同的觀測條件,仍能夠有效表達類别之間的差異性。模式可以用特征向量代表,特征向量的運算有點積、投影,還可計算歐式距離表示相似程度。模式識别任務的模型是通過機器學習技術得到。
人工智能正熱。技術創新是經濟增長的根本動力。這些技術中,最重要的就是經濟學家提到的“通用技術”,比如蒸汽機、内燃機、電力等。如今這個時代,人工智能就是最重要的“通用技術”。特别是行業與人工智能的結合,釋放了行業的潛力,重塑了我們的生活。人工智能備受關注、取得革命性進步背後的推手,其實是“機器學習”。機器學習其實是一門多領域交叉學科,它涉及到計算機科學、機率統計、函數逼近論、最優化理論、控制論、決策論、算法複雜度理論、實驗科學等多個學科。機器學習的具體定義也是以有許多不同的說法,分别以某個相關學科的視角切入。但總體上講,其關注的核心問題是如何用計算的方法模拟類人的學習行為:從曆史經驗中擷取規律(或模型),并将其應用到新的類似場景中。我個人的了解是,研究計算機,怎麼讓它學習人的行為,完成人指定給他的任務。現在很多日常生活都有機器學習相關的應用,比如:人臉識别,垃圾郵件過濾,購物車隔壁的産品推薦等等。
機器學習,大體上分成兩個分類:監督學習和無監督學習;細分的話,還有半監督學習和強化學習。區分監督學習和無監督學習其實很簡單,若訓練集是有輸入有輸出,那麼通過這樣的訓練集擷取到的算法,就是監督學習算法;反之,如果訓練集是隻有輸入沒有輸出,那麼最後得到的算法就是無監督學習算法,典型應用有聚類和圖像分割,且算法難度遠高于監督式算法。半監督學習就是當訓練集中,有一部分是标記的資料(有input和output),一部分是非标記資料(有input無output),那麼就是半監督學習;強化學習是機器自行探索決策、真值滞後回報的過程。通過其他學習後得到的算法,在另外一組資料的刺激下得到的更為精準的算法,這樣的方式就是強化學習。
為了評價模型學習的品質,引入訓練集和測試集,訓練集是模型訓練所用的樣本資料,測試集用于評估模型的能力。訓練得到的模型不僅要對訓練樣本具有決策能力,也要對新的模式具有決策能力,這就是泛化能力。過拟合是泛化能力低的表現,模型過于拟合訓練資料。提高泛化能力的方法有選擇複雜度适合的模型和正則化。幾乎每個機器學習算法都有超參數,這時需要從訓練集中劃分出一個驗證集,基于驗證集調整選擇超參數。量化的評估模型性能有留出法,k折交叉驗證和留一驗證。留一驗證更有準确性,但計算複雜還可能出現分層現象。模型性能名額有準确度,精度和召回率,混淆矩陣。當資料集中,正例和反例差别較大,比例失衡,這時準确度很難度量識别性能,可以通過采樣處理構造一個平衡的資料集。除了這些還可通過PR、ROC、AUC曲線度量。
初級的模式識别技術首先介紹了基于距離的決策,把測試樣本到每個類之間的距離作為決策模型,将測試樣本判定為與其距離最近的類。類的原型分為均值和最近鄰兩種。常見的距離度量有歐氏距離,曼哈頓距離和權重歐氏距離。MED分類器即最小歐氏距離分類器,它的類的原型是均值,決策邊界是原型連線的垂直平分線,三維空間是平面,在高維空間是一個超平面。MED分類器采用歐氏距離作為距離度量,雖然簡單,但沒有考慮特征變化的不同及特征之間的相關性,是以會出現錯誤分類的情況。為了去除特征相關性需要使用特征白化。将原始特征映射到一個新的特征空間,使得在新空間中特征的協方差矩陣為機關矩陣。基于馬氏距離的分類器是MICD分類器(最小類内距離分類器),類的原型是均值,決策邊界位于到兩個類的距離相等的面上,缺陷是會選擇方差較大的類,而決策真值應該傾向于方差小即分布緊緻的類。以上兩種分類器均未考慮類的分布等先驗知識。通常通過先驗機率進行分類,把樣本分到先驗機率大的那類,有了觀測機率後能夠對先驗機率進行修正。基于貝葉斯規則,可得到類的後驗機率。MAP分類器選擇後驗機率最大的類,即最小化決策誤差。通過後驗機率的結果進行分類,就要知道先驗機率和觀測機率。高斯分布是最常見的機率分布形式,可用于表達先驗和觀測機率。将高斯分布函數帶入分類器的判别公式可得到決策邊界。進而可得到MAP分類器偏向于先驗較大可能、分布較為緊緻的類。由于不同的決策錯誤帶來的後果不同,就引入決策風險這個系數。定義損失用來表征目前決策動作相對于其他候選類别的風險程度。在MAP分類器基礎上加入決策風險因素得到貝葉斯分類器,選擇決策風險小的類。,決策目标為最小化期望損失。
如果先驗和觀測機率并不能預先知道,需要利用訓練樣本集的資訊去進行估計。估計方法有參數估計和非參數估計,參數估計包括最大似然估計和貝葉斯估計。最大似然估計是把待估計的參數看做确定的未知量,根據訓練樣本集的資料求取該位置參數的最優估計值。若參數的估計量的數學期望是該參數的真值,則估計量稱作無偏估計。均值的最大似然估計是無偏估計,協方差的最大似然估計是有偏估計。貝葉斯估計通過給定參數分布的先驗機率及訓練樣本,估計參數的後驗機率,可以不斷修正參數的估計值,進而達到該參數的期望真值。
如果機率分布形式未知,可通過無參數技術來實作機率密度估計。常用方法有K近鄰法,直方圖技術和核密度估計。k近鄰分類器又稱為KNN算法,是指需要從訓練集中找出待識别樣本的k個最近鄰,依據它們分别所屬的類别來決定應當把待識别樣本劃分到哪個類别中。可用二項分布表達k個樣本落在區域R的機率密度,當N很大時,可以用二項分布的均值近似表達k的分布。KNN估計的優點是可以自适應的确定x相關的區域R的範圍,缺點是KNN機率密度估計不是連續函數,不是真正的機率密度表達。
2.機器學習前沿技術
衆所周知,AI的根本目的就是讓計算機模拟人類的行為和思維,以實作解放人力,提升效率,降低成本。其中,機器學習(Machine Learning)則是AI的智慧源泉。從學術上來說,機器學習涉及機率論、統計學、逼近論、凸分析、算法複雜度理論等多領域交叉的課題和技術。從廣義上來說,機器學習就是賦予計算機學習能力,并實作模仿人類的一種方法。從技術應用上來說,機器學習是利用大量資料,訓練出專用的算法模型,然後通過該模型實作類似人的預測、推理,進而擷取決策的方法。從層級上來說,機器學習位于AI的技術層,與其他技術的相融合,構成了計算機視覺、智能語音、模式識别、資料挖掘、統計學習等AI核心技術,并在應用層得以展現。從AI發展來看,幾乎所有核心技術和應用場景的背後,都離不開機器學習所賦予的學習能力,也就是智能。總之,機器學習既是人工智能的核心,也是計算機獲得學習能力和智力的方法或途徑。而機器學習的核心則是算法。
作為AI大三元素(資料、算力、算法),目前主流的算法主要面向機器學習領域。是以,機器學習也可以了解為用于訓練和推理的算法合集。目前,機器學習算法可以分為傳統算法和深度學習(Deep Learning)算法兩大類。
深度學習是機器學習中一個新興的研究方向,也是一個複雜的機器學習算法。深度學習的概念源于人工神經網絡的研究,建立模拟人腦進行分析學習的神經網絡,以模仿人腦的機制來解釋資料,強調模型結構的深度和明确特征學習的重要性。是以,深度學習使計算機實作模仿視聽和思考等人類的活動,解決了大量複雜的模式識别難題,進而推動計算機視覺、智能語音等複雜AI基礎技術的落地。可以說,深度學習算法決定了未來AI的發展趨勢,乃是兵家必争之地。現在,全球AI領域,深度學習已經超越傳統機器學習,成為主流算法。但是,機器學習仍未被取代,兩者呈現互補的态勢。随着深度學習與神經網絡算法的結合,不僅降低了算法訓練的門檻,更衍生出大量熱門算法以及相應的底層構架。與依賴于晶片的算力不同,算法由于開源代碼、自動化工具等助力,門檻相對降低不少,因而成為初創公司不錯的切入點。現在,大多AI企業基本都是圍繞算法及相應的應用場景做文章,在國内尤為普遍。目前,國内深度學習廠商主要分為雲計算平台、AI初創企業、傳統計算廠商以及大資料企業多個陣營。其中,雲計算平台主要是BAT、華為、京東等網際網路巨頭為首;AI初創企業主要有第四範式、商湯、曠視、寒武紀等;浪潮、中科曙光等則發揮自身計算優勢,占有一席之地;星環科技、美林資料、九章雲極等大資料企業擁有資料挖掘的優勢,也成為生态中不可擷取的力量。
然而,這些基于開源代碼和自動化工具的算法往往過于通用和初級,僅僅依托國内海量資料儲備和豐富的應用場景的優勢,實作最基本的功能而已。真正核心和關鍵算法仍然掌握在國外大廠手中,核心競争力明顯不足。而且,不僅是核心算法,深度學習的底層架構也同樣來自于國外廠商。底層架構,一般被稱作為開源架構或算法訓練平台。通俗來說,就是AI工具包,其作用就是用以訓練算法模型的平台。如果将算法比作“子彈”的話,底層架構就是“軍工廠”,重要性不言而喻。僅僅是算法的缺失,可以通過企業、開發者及整個行業的共同努力來彌補,但連工具都被“卡脖子”的話,顯然将大大制約我國深度學習,乃至整個AI産業的發展。