天天看點

吐血整理:機器學習的30個基本概念,都在這裡了(手繪圖解)

雲栖号資訊:【 點選檢視更多行業資訊

在這裡您可以找到不同行業的第一手的上雲資訊,還在等什麼,快來!

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

吐血整理:機器學習的30個基本概念,都在這裡了(手繪圖解)
吐血整理:機器學習的30個基本概念,都在這裡了(手繪圖解)

其中,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所示。

吐血整理:機器學習的30個基本概念,都在這裡了(手繪圖解)

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

如果資料中隻有{未婚、離異}這2種取值的樣本,則稱這個資料集不能完整表征它所在的樣本空間,即在它的某一特征次元上,有一些值沒有被觀測到,不能很好地觀察到這個次元特征的真實分布。

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

吐血整理:機器學習的30個基本概念,都在這裡了(手繪圖解)

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圖則表示過拟合。通俗了解,過拟合就是模型學得過于細緻,欠拟合就是學得過于粗糙。

吐血整理:機器學習的30個基本概念,都在這裡了(手繪圖解)

模型結構越複雜,通常越傾向于過拟合。而樣本量越大,資料分布得到越充分的曝光,模型越不容易過拟合。為了更好地表示過拟合和欠拟合,通常模組化的時候會将樣本集劃分為訓練集(Train)和測試集(Test)。

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

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

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

方差度量了同樣大小的訓練集的變動所導緻的學習能力的變化,也就是資料擾動所造成的影響。

而噪聲則刻畫了問題本身的拟合難度。

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

吐血整理:機器學習的30個基本概念,都在這裡了(手繪圖解)

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

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

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

【雲栖号線上課堂】每天都有産品技術專家分享!

課程位址:

https://yqh.aliyun.com/zhibo

立即加入社群,與專家面對面,及時了解課程最新動态!

【雲栖号線上課堂 社群】

https://c.tb.cn/F3.Z8gvnK

原文釋出時間:2020-06-01

本文作者: 梅子行 毛鑫宇​

本文來自:“

大資料DT 微信公衆号

”,了解相關資訊可以關注“

大資料DT

繼續閱讀