手繪圖解 | 機器學習最常見的30個基本概念


來源:大數據DT

本文約3300字,建議閱讀9分鐘

本文主要介紹機器學習基礎知識,包括名詞解釋(約30個)、基礎模型的算法原理及具體的建模過程。

標籤:機器學習

01 空間表徵

在學習深奧的機器學習理論之前,首先來介紹一些機器學習中最基本的概念。

  • 特徵(Feature):一個具體事物的屬性描述,由屬性向量表示。第j個記錄xj的屬性向量可以表示爲:xj=(xj(1),xj(2),…,xj(i),…,xj(n)), j=1,2,…,N, xj∈X

    其中每個xj(i)爲一個特徵維度上的取值。

  • 標記(Label):又稱樣本標籤,用於描述事物某個特性的事項。

  • 標記值:標記的取值。在二分類問題中,取值通常爲0和1。

  • 標記空間(輸出空間):所有標記的集合,記爲Y。

  • 樣例(Sample):又稱樣本。擁有了對應標記的記錄,由(記錄,標記)對錶示。例如,第j個樣例可以表示爲:(xj,yj), j=1,2,…,N, xj∈X,yj∈Y

假設空間F通常是由一個參數向量決定的函數族:

F={f|Y=fw(X),w∈Rn}

其中,參數向量w取值於n維向量空間Rn,稱爲參數空間。假設空間F也可定義爲條件概率的集合(概率模型):

F={P|P(Y|X)}

其中,X是定義在輸入空間X上的隨機變量,Y是定義在輸出空間Y上的隨機變量。

上述公式理解起來可能較爲抽象,接下來我們通過一個實際的例子來理解相關概念。

首先,在建立模型前,一定會有一個由多個樣例組成的樣本集,比如:

(用戶A,{年齡:29,身高:185,年收入:70,婚姻狀況:未婚,狀態:逾期})

(用戶B,{年齡:24,身高:167,年收入:31,婚姻狀況:已婚,狀態:未逾期})

(用戶C,{年齡:46,身高:177,年收入:50,婚姻狀況:離異,狀態:未逾期})

其中每一個用戶及其屬性對稱爲一個樣本(或觀測)。這樣的一系列用戶及其自身的屬性構成了樣本集,其中用戶“A”“B”“C”構成了樣本空間,“特徵年齡”“身高”“年收入”“婚姻狀況”構成了特徵空間

此外還有一個空間叫作參數空間,即由組成預測函數的參數的所有取值所組成的空間。“狀態”這個字段則代表着樣本的標籤,也就是需要模型來判別的結果。

這個例子中特徵空間有4個取值:年齡、身高、年收入、婚姻狀況。這4個取值就代表着特徵空間中的4個維度,或者說這個特徵空間的維度是4。在良好的假設條件下,模型期望每個特徵之間互不干擾,然而在實際情況下,通常每個特徵之間都有可能存在關係。

比如我們可以將其中兩個維度(年齡和身高)畫出來。當處於低齡時(即0~8歲),我們可以明顯地觀察到身高的取值隨着年齡增長也在不斷地變大,如圖3-1所示。

▲圖3-1 變量相關性示例

婚姻狀況這個特徵可能取值爲{未婚、已婚、離異},那麼這3個取值就限制住了特徵空間在婚姻狀況這個維度上的取值。

如果數據中只有{未婚、離異}這2種取值的樣本,則稱這個數據集不能完整表徵它所在的樣本空間,即在它的某一特徵維度上,有一些值沒有被觀測到,不能很好地觀察到這個維度特徵的真實分佈。

通過已觀察的樣本點,只能表徵出陰影部分的空間,如圖3-2所示。

▲圖3-2 空間表徵示例

02 模型學習

模型的訓練(又叫學習或者擬合),是指通過將數據傳入模型,從而使模型學習到數據的潛在規律(如數據的分佈)的過程。而建立模型的本質,可以理解爲從數據分佈中抽象出一個決策函數

決策函數(非概率模型)的定義爲從輸入空間X到輸出空間Y的映射f:X→Y。

假設空間F定義爲決策函數的集合,其形式如下:

F={f|Y=f(X)}

其中,X是定義在輸入空間X上的變量,X∈X;Y是定義在輸出空間Y上的變量。

當想要預測的是離散值時,比如一個人是男或是女,或者一個用戶還錢與否,這樣的任務稱爲分類(Classification)。與之相對應的,如果想預測一個人的年齡是多少歲,或者一個用戶具體會在未來的哪一天還款,這樣的任務稱爲迴歸(Regression)。

當一個任務只有兩個取值時稱之爲二分類任務。評分卡模型就是一種典型的二分類任務,即預測一個用戶是否會產生逾期。而當任務涉及多個類別的時候,稱之爲多分類任務。

一個典型的例子是在做欺詐檢測時預測一個用戶是否進行欺詐,這看似是一個二分類任務(預測是否欺詐),但其實用戶的欺詐手段各不相同,每一個欺詐方法都是一個單獨的類別,因此它本質上是一個多分類任務

從數據是否帶有標籤的角度來看,又可以將模型劃分成三大類:監督學習(Supervised Learning,SL)、半監督學習(Semi-Supervised Learning,SSL)和無監督學習(Unsupervised Learning,UL)。

  • 監督學習是指在一個申請評分卡建模中,已經明確知道樣本集中每個用戶的標籤,即隨便取一個人出來,都可以知道他的逾期狀態。

  • 無監督學習是指在建模時,完全沒有當前樣本集的任何標籤信息,即完全不知道哪些人是逾期的。

  • 半監督學習介於兩者之間,對於當前的樣本集,知道其中一部分樣本的標籤,另一部分則不知道其是否已逾期。

通常情況下,模型的效果排序如下:

監督學習>半監督學習>無監督學習

在絕大多數情況下,應該儘可能利用標籤信息,這樣得到的模型效果會更好。但是很多時候,是否能擁有標籤並不是由個體決定的。例如,很多平臺是沒有欺詐用戶的標籤的,此時訓練一個監督模型就很困難,而半監督及無監督學習可以起到一定的作用。

03 模型評價

對於模型學習的結果,主要關心兩件事:欠擬合(underfit)和過擬合(overfit)。

欠擬合是指模型擬合程度不高,數據距離擬合曲線較遠,或指模型沒有很好地捕捉到數據特徵,不能很好地擬合數據。換言之,模型在學習的過程中沒有很好地掌握它該掌握的知識,模型學習的偏差較大。

過擬合是指爲了得到一致假設而使假設變得過度嚴格,即模型學習得太過詳細,把一些個例的特點作爲共性,使得模型的泛化能力較低。

圖3-3很好地解釋了過擬合與欠擬合的含義,a圖表示欠擬合,b圖表示一個良好的擬合,c圖則表示過擬合。通俗理解,過擬合就是模型學得過於細緻,欠擬合就是學得過於粗糙。

▲圖3-3 擬合優度

模型結構越複雜,通常越傾向於過擬合。而樣本量越大,數據分佈得到越充分的曝光,模型越不容易過擬合。爲了更好地表示過擬合和欠擬合,通常建模的時候會將樣本集劃分爲訓練集(Train)和測試集(Test)。

訓練集就是用來帶入模型訓練的集合,而測試集主要是待模型訓練好之後,對模型做測試,以檢驗模型的效果。一般認爲,訓練集上表現好但在測試集上表現不好的模型,有過擬合的風險;而模型在訓練集上效果明顯差於測試集,則有欠擬合的風險。

在訓練一個模型的時候,我們不只希望模型在訓練集上的表現足夠好,還希望模型在其他數據集上的表現也很好。訓練集上的表現與測試集上的表現的差值稱爲泛化誤差,而泛化誤差由3部分組成:偏差(bias)、方差(variance)、噪聲(noise)。

  • 偏差度量了模型的期望預測與真實結果的偏離程度,也就是模型本身的擬合能力;

  • 方差度量了同樣大小的訓練集的變動所導致的學習能力的變化,也就是數據擾動所造成的影響;

  • 噪聲則刻畫了問題本身的擬合難度。

圖3-4所示爲訓練程度與誤差的關係。

▲圖3-4 訓練程度與誤差

通常離線模型訓練完成後,在最終模型上線前,會將測試集和訓練集整合,重新對模型的係數做擬合,進而得到最終的模型。這是因爲人爲數據集越大,對樣本空間的表徵可能越充分。某些曝光不充分的特徵值所對應的標籤分佈,在數據量增加時,可能有更高的曝光率。比如之前例子中的數據集如下所示:

(用戶A,{年齡:29,身高:185,年收入:70,婚姻狀況:未婚,狀態:逾期})

(用戶B,{年齡:24,身高:167,年收入:31,婚姻狀況:已婚,狀態:未逾期})

(用戶C,{年齡:46,身高:177,年收入:50,婚姻狀況:離異,狀態:未逾期})

如果訓練集中婚姻狀況有一個值沒有取到,只存在於測試集中,那麼將測試集和訓練集合並得到最終模型時,對未來的用戶進行預測時偏差就會更小。

然而部分模型,如極端梯度提升機(eXtreme Gradient Boosting,XGBoost)需要利用測試樣本集實現訓練過程的提前停止,因此需要額外選擇部分樣本不參與訓練,比如從原始訓練集中選擇少部分樣本作爲提前停止的依據。

關於作者:

梅子行,資深風控技術專家、AI技術專家和算法專家,歷任多家知名金融科技公司的算法研究員、數據挖掘工程師。師承Experian、Discover等企業的資深風控專家,擅長深度學習、複雜網絡、遷移學習、異常檢測等非傳統機器學習方法,熱衷於數據挖掘以及算法的跨領域優化實踐。

毛鑫宇,資深品牌視覺設計師、插畫設計師。曾任職國內知名文旅公司品牌設計師,設計打造知名文化旅遊目的地及品牌設計案例。

編輯:黃繼彥

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章