吐血整理:機(jī)器學(xué)習(xí)的30個(gè)基本概念,都在這里了(手繪圖解)
01 空間表征
在學(xué)習(xí)深?yuàn)W的機(jī)器學(xué)習(xí)理論之前,首先來介紹一些機(jī)器學(xué)習(xí)中最基本的概念。
- 特征(Feature):一個(gè)具體事物的屬性描述,由屬性向量表示。第j個(gè)記錄xj的屬性向量可以表示為:
xj=(xj(1),xj(2),…,xj(i),…,xj(n)), j=1,2,…,N, xj∈X
其中每個(gè)xj(i)為一個(gè)特征維度上的取值。
- 標(biāo)記(Label):又稱樣本標(biāo)簽,用于描述事物某個(gè)特性的事項(xiàng)。
- 標(biāo)記值:標(biāo)記的取值。在二分類問題中,取值通常為0和1。
- 標(biāo)記空間(輸出空間):所有標(biāo)記的集合,記為Y。
- 樣例(Sample):又稱樣本。擁有了對(duì)應(yīng)標(biāo)記的記錄,由(記錄,標(biāo)記)對(duì)表示。例如,第j個(gè)樣例可以表示為:
(xj,yj), j=1,2,…,N, xj∈X,yj∈Y
假設(shè)空間F通常是由一個(gè)參數(shù)向量決定的函數(shù)族:
F={f|Y=fw(X),w∈Rn}
其中,參數(shù)向量w取值于n維向量空間Rn,稱為參數(shù)空間。假設(shè)空間F也可定義為條件概率的集合(概率模型):
F={P|P(Y|X)}
其中,X是定義在輸入空間X上的隨機(jī)變量,Y是定義在輸出空間Y上的隨機(jī)變量。
上述公式理解起來可能較為抽象,接下來我們通過一個(gè)實(shí)際的例子來理解相關(guān)概念。
首先,在建立模型前,一定會(huì)有一個(gè)由多個(gè)樣例組成的樣本集,比如:
(用戶A,{年齡:29,身高:185,年收入:70,婚姻狀況:未婚,狀態(tài):逾期})
(用戶B,{年齡:24,身高:167,年收入:31,婚姻狀況:已婚,狀態(tài):未逾期})
(用戶C,{年齡:46,身高:177,年收入:50,婚姻狀況:離異,狀態(tài):未逾期})
…
其中每一個(gè)用戶及其屬性對(duì)稱為一個(gè)樣本(或觀測(cè))。這樣的一系列用戶及其自身的屬性構(gòu)成了樣本集,其中用戶“A”“B”“C”構(gòu)成了樣本空間,“特征年齡”“身高”“年收入”“婚姻狀況”構(gòu)成了特征空間。
此外還有一個(gè)空間叫作參數(shù)空間,即由組成預(yù)測(cè)函數(shù)的參數(shù)的所有取值所組成的空間。“狀態(tài)”這個(gè)字段則代表著樣本的標(biāo)簽,也就是需要模型來判別的結(jié)果。
這個(gè)例子中特征空間有4個(gè)取值:年齡、身高、年收入、婚姻狀況。這4個(gè)取值就代表著特征空間中的4個(gè)維度,或者說這個(gè)特征空間的維度是4。在良好的假設(shè)條件下,模型期望每個(gè)特征之間互不干擾,然而在實(shí)際情況下,通常每個(gè)特征之間都有可能存在關(guān)系。
比如我們可以將其中兩個(gè)維度(年齡和身高)畫出來。當(dāng)處于低齡時(shí)(即0~8歲),我們可以明顯地觀察到身高的取值隨著年齡增長也在不斷地變大,如圖3-1所示。
▲圖3-1 變量相關(guān)性示例
婚姻狀況這個(gè)特征可能取值為{未婚、已婚、離異},那么這3個(gè)取值就限制住了特征空間在婚姻狀況這個(gè)維度上的取值。
如果數(shù)據(jù)中只有{未婚、離異}這2種取值的樣本,則稱這個(gè)數(shù)據(jù)集不能完整表征它所在的樣本空間,即在它的某一特征維度上,有一些值沒有被觀測(cè)到,不能很好地觀察到這個(gè)維度特征的真實(shí)分布。
通過已觀察的樣本點(diǎn),只能表征出陰影部分的空間,如圖3-2所示。
▲圖3-2 空間表征示例
02 模型學(xué)習(xí)
模型的訓(xùn)練(又叫學(xué)習(xí)或者擬合),是指通過將數(shù)據(jù)傳入模型,從而使模型學(xué)習(xí)到數(shù)據(jù)的潛在規(guī)律(如數(shù)據(jù)的分布)的過程。而建立模型的本質(zhì),可以理解為從數(shù)據(jù)分布中抽象出一個(gè)決策函數(shù)。
決策函數(shù)(非概率模型)的定義為從輸入空間X到輸出空間Y的映射f:X→Y。
假設(shè)空間F定義為決策函數(shù)的集合,其形式如下:
F={f|Y=f(X)}
其中,X是定義在輸入空間X上的變量,X∈X;Y是定義在輸出空間Y上的變量。
當(dāng)想要預(yù)測(cè)的是離散值時(shí),比如一個(gè)人是男或是女,或者一個(gè)用戶還錢與否,這樣的任務(wù)稱為分類(Classification)。與之相對(duì)應(yīng)的,如果想預(yù)測(cè)一個(gè)人的年齡是多少歲,或者一個(gè)用戶具體會(huì)在未來的哪一天還款,這樣的任務(wù)稱為回歸(Regression)。
當(dāng)一個(gè)任務(wù)只有兩個(gè)取值時(shí)稱之為二分類任務(wù)。評(píng)分卡模型就是一種典型的二分類任務(wù),即預(yù)測(cè)一個(gè)用戶是否會(huì)產(chǎn)生逾期。而當(dāng)任務(wù)涉及多個(gè)類別的時(shí)候,稱之為多分類任務(wù)。
一個(gè)典型的例子是在做欺詐檢測(cè)時(shí)預(yù)測(cè)一個(gè)用戶是否進(jìn)行欺詐,這看似是一個(gè)二分類任務(wù)(預(yù)測(cè)是否欺詐),但其實(shí)用戶的欺詐手段各不相同,每一個(gè)欺詐方法都是一個(gè)單獨(dú)的類別,因此它本質(zhì)上是一個(gè)多分類任務(wù)。
從數(shù)據(jù)是否帶有標(biāo)簽的角度來看,又可以將模型劃分成三大類:監(jiān)督學(xué)習(xí)(Supervised Learning,SL)、半監(jiān)督學(xué)習(xí)(Semi-Supervised Learning,SSL)和無監(jiān)督學(xué)習(xí)(Unsupervised Learning,UL)。
- 監(jiān)督學(xué)習(xí)是指在一個(gè)申請(qǐng)?jiān)u分卡建模中,已經(jīng)明確知道樣本集中每個(gè)用戶的標(biāo)簽,即隨便取一個(gè)人出來,都可以知道他的逾期狀態(tài)。
- 無監(jiān)督學(xué)習(xí)是指在建模時(shí),完全沒有當(dāng)前樣本集的任何標(biāo)簽信息,即完全不知道哪些人是逾期的。
- 而半監(jiān)督學(xué)習(xí)介于兩者之間,對(duì)于當(dāng)前的樣本集,知道其中一部分樣本的標(biāo)簽,另一部分則不知道其是否已逾期。
通常情況下,模型的效果排序如下:
監(jiān)督學(xué)習(xí)>半監(jiān)督學(xué)習(xí)>無監(jiān)督學(xué)習(xí)
在絕大多數(shù)情況下,應(yīng)該盡可能利用標(biāo)簽信息,這樣得到的模型效果會(huì)更好。但是很多時(shí)候,是否能擁有標(biāo)簽并不是由個(gè)體決定的。例如,很多平臺(tái)是沒有欺詐用戶的標(biāo)簽的,此時(shí)訓(xùn)練一個(gè)監(jiān)督模型就很困難,而半監(jiān)督及無監(jiān)督學(xué)習(xí)可以起到一定的作用。
03 模型評(píng)價(jià)
對(duì)于模型學(xué)習(xí)的結(jié)果,主要關(guān)心兩件事:欠擬合(underfit)和過擬合(overfit)。
欠擬合是指模型擬合程度不高,數(shù)據(jù)距離擬合曲線較遠(yuǎn),或指模型沒有很好地捕捉到數(shù)據(jù)特征,不能很好地?cái)M合數(shù)據(jù)。換言之,模型在學(xué)習(xí)的過程中沒有很好地掌握它該掌握的知識(shí),模型學(xué)習(xí)的偏差較大。
過擬合是指為了得到一致假設(shè)而使假設(shè)變得過度嚴(yán)格,即模型學(xué)習(xí)得太過詳細(xì),把一些個(gè)例的特點(diǎn)作為共性,使得模型的泛化能力較低。
圖3-3很好地解釋了過擬合與欠擬合的含義,a圖表示欠擬合,b圖表示一個(gè)良好的擬合,c圖則表示過擬合。通俗理解,過擬合就是模型學(xué)得過于細(xì)致,欠擬合就是學(xué)得過于粗糙。
▲圖3-3 擬合優(yōu)度
模型結(jié)構(gòu)越復(fù)雜,通常越傾向于過擬合。而樣本量越大,數(shù)據(jù)分布得到越充分的曝光,模型越不容易過擬合。為了更好地表示過擬合和欠擬合,通常建模的時(shí)候會(huì)將樣本集劃分為訓(xùn)練集(Train)和測(cè)試集(Test)。
訓(xùn)練集就是用來帶入模型訓(xùn)練的集合,而測(cè)試集主要是待模型訓(xùn)練好之后,對(duì)模型做測(cè)試,以檢驗(yàn)?zāi)P偷男Ч?。一般認(rèn)為,訓(xùn)練集上表現(xiàn)好但在測(cè)試集上表現(xiàn)不好的模型,有過擬合的風(fēng)險(xiǎn);而模型在訓(xùn)練集上效果明顯差于測(cè)試集,則有欠擬合的風(fēng)險(xiǎn)。
在訓(xùn)練一個(gè)模型的時(shí)候,我們不只希望模型在訓(xùn)練集上的表現(xiàn)足夠好,還希望模型在其他數(shù)據(jù)集上的表現(xiàn)也很好。訓(xùn)練集上的表現(xiàn)與測(cè)試集上的表現(xiàn)的差值稱為泛化誤差,而泛化誤差由3部分組成:偏差(bias)、方差(variance)、噪聲(noise)。
偏差度量了模型的期望預(yù)測(cè)與真實(shí)結(jié)果的偏離程度,也就是模型本身的擬合能力。
方差度量了同樣大小的訓(xùn)練集的變動(dòng)所導(dǎo)致的學(xué)習(xí)能力的變化,也就是數(shù)據(jù)擾動(dòng)所造成的影響。
而噪聲則刻畫了問題本身的擬合難度。
圖3-4所示為訓(xùn)練程度與誤差的關(guān)系。
▲圖3-4 訓(xùn)練程度與誤差
通常離線模型訓(xùn)練完成后,在最終模型上線前,會(huì)將測(cè)試集和訓(xùn)練集整合,重新對(duì)模型的系數(shù)做擬合,進(jìn)而得到最終的模型。這是因?yàn)槿藶閿?shù)據(jù)集越大,對(duì)樣本空間的表征可能越充分。某些曝光不充分的特征值所對(duì)應(yīng)的標(biāo)簽分布,在數(shù)據(jù)量增加時(shí),可能有更高的曝光率。比如之前例子中的數(shù)據(jù)集如下所示:
(用戶A,{年齡:29,身高:185,年收入:70,婚姻狀況:未婚,狀態(tài):逾期})
(用戶B,{年齡:24,身高:167,年收入:31,婚姻狀況:已婚,狀態(tài):未逾期})
(用戶C,{年齡:46,身高:177,年收入:50,婚姻狀況:離異,狀態(tài):未逾期})
…
如果訓(xùn)練集中婚姻狀況有一個(gè)值沒有取到,只存在于測(cè)試集中,那么將測(cè)試集和訓(xùn)練集合并得到最終模型時(shí),對(duì)未來的用戶進(jìn)行預(yù)測(cè)時(shí)偏差就會(huì)更小。
然而部分模型,如極端梯度提升機(jī)(eXtreme Gradient Boosting,XGBoost)需要利用測(cè)試樣本集實(shí)現(xiàn)訓(xùn)練過程的提前停止,因此需要額外選擇部分樣本不參與訓(xùn)練,比如從原始訓(xùn)練集中選擇少部分樣本作為提前停止的依據(jù)。
關(guān)于作者:梅子行,資深風(fēng)控技術(shù)專家、AI技術(shù)專家和算法專家,歷任多家知名金融科技公司的算法研究員、數(shù)據(jù)挖掘工程師。師承Experian、Discover等企業(yè)的資深風(fēng)控專家,擅長深度學(xué)習(xí)、復(fù)雜網(wǎng)絡(luò)、遷移學(xué)習(xí)、異常檢測(cè)等非傳統(tǒng)機(jī)器學(xué)習(xí)方法,熱衷于數(shù)據(jù)挖掘以及算法的跨領(lǐng)域優(yōu)化實(shí)踐。
毛鑫宇,資深品牌視覺設(shè)計(jì)師、插畫設(shè)計(jì)師。曾任職國內(nèi)知名文旅公司品牌設(shè)計(jì)師,設(shè)計(jì)打造知名文化旅游目的地及品牌設(shè)計(jì)案例。
本文摘編自《智能風(fēng)控:Python金融風(fēng)險(xiǎn)管理與評(píng)分卡建?!?,經(jīng)出版方授權(quán)發(fā)布。