前言
機(jī)器學(xué)習(xí)作為人工智能領(lǐng)域的核心組成,是計(jì)算機(jī)程序?qū)W習(xí)數(shù)據(jù)經(jīng)驗(yàn)以?xún)?yōu)化自身算法,并產(chǎn)生相應(yīng)的“智能化的”建議與決策的過(guò)程。
一個(gè)經(jīng)典的機(jī)器學(xué)習(xí)的定義是:
A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.
一、機(jī)器學(xué)習(xí)概論
機(jī)器學(xué)習(xí)是關(guān)于計(jì)算機(jī)基于數(shù)據(jù)分布構(gòu)建出概率統(tǒng)計(jì)模型,并運(yùn)用模型對(duì)數(shù)據(jù)進(jìn)行分析與預(yù)測(cè)的方法。按照學(xué)習(xí)數(shù)據(jù)分布的方式的不同,主要可以分為監(jiān)督學(xué)習(xí)和非監(jiān)督學(xué)習(xí):
1.1 監(jiān)督學(xué)習(xí)
從有標(biāo)注的數(shù)據(jù)(x為變量特征空間, y為標(biāo)簽)中,通過(guò)選擇的模型及確定的學(xué)習(xí)策略,再用合適算法計(jì)算后學(xué)習(xí)到最優(yōu)模型,并用模型預(yù)測(cè)的過(guò)程。模型預(yù)測(cè)結(jié)果Y的取值有限的或者無(wú)限的,可分為分類(lèi)模型或者回歸模型;
1.2 非監(jiān)督學(xué)習(xí):
從無(wú)標(biāo)注的數(shù)據(jù)(x為變量特征空間),通過(guò)選擇的模型及確定的學(xué)習(xí)策略,再用合適算法計(jì)算后學(xué)習(xí)到最優(yōu)模型,并用模型發(fā)現(xiàn)數(shù)據(jù)的統(tǒng)計(jì)規(guī)律或者內(nèi)在結(jié)構(gòu)。按照應(yīng)用場(chǎng)景,可以分為聚類(lèi),降維和關(guān)聯(lián)分析等模型;
二、機(jī)器學(xué)習(xí)建模流程
2.1 明確業(yè)務(wù)問(wèn)題
明確業(yè)務(wù)問(wèn)題是機(jī)器學(xué)習(xí)的先決條件,這里需要抽象出現(xiàn)實(shí)業(yè)務(wù)問(wèn)題的解決方案:需要學(xué)習(xí)什么樣的數(shù)據(jù)作為輸入,目標(biāo)是得到什么樣的模型做決策作為輸出。
(如一個(gè)簡(jiǎn)單的新聞分類(lèi)場(chǎng)景就是學(xué)習(xí)已有的新聞及其類(lèi)別標(biāo)簽數(shù)據(jù),得到一個(gè)分類(lèi)模型,通過(guò)模型對(duì)每天新的新聞做類(lèi)別預(yù)測(cè),以歸類(lèi)到每個(gè)新聞?lì)l道。)
2.2 數(shù)據(jù)選擇:收集及輸入數(shù)據(jù)
數(shù)據(jù)決定了機(jī)器學(xué)習(xí)結(jié)果的上限,而算法只是盡可能逼近這個(gè)上限。意味著數(shù)據(jù)的質(zhì)量決定了模型的最終效果,在實(shí)際的工業(yè)應(yīng)用中,算法通常占了很小的一部分,大部分工程師的工作都是在找數(shù)據(jù)、提煉數(shù)據(jù)、分析數(shù)據(jù)。數(shù)據(jù)選擇需要關(guān)注的是:
① 數(shù)據(jù)的代表性:無(wú)代表性的數(shù)據(jù)可能會(huì)導(dǎo)致模型的過(guò)擬合,對(duì)訓(xùn)練數(shù)據(jù)之外的新數(shù)據(jù)無(wú)識(shí)別能力;
② 數(shù)據(jù)時(shí)間范圍:監(jiān)督學(xué)習(xí)的特征變量X及標(biāo)簽Y如與時(shí)間先后有關(guān),則需要明確數(shù)據(jù)時(shí)間窗口,否則可能會(huì)導(dǎo)致數(shù)據(jù)泄漏,即存在和利用因果顛倒的特征變量的現(xiàn)象。(如預(yù)測(cè)明天會(huì)不會(huì)下雨,但是訓(xùn)練數(shù)據(jù)引入明天溫濕度情況);
③ 數(shù)據(jù)業(yè)務(wù)范圍:明確與任務(wù)相關(guān)的數(shù)據(jù)表范圍,避免缺失代表性數(shù)據(jù)或引入大量無(wú)關(guān)數(shù)據(jù)作為噪音;
2.3 特征工程:數(shù)據(jù)預(yù)處理及特征提取
特征工程就是將原始數(shù)據(jù)加工轉(zhuǎn)化為模型有用的特征,技術(shù)手段一般可分為:
數(shù)據(jù)預(yù)處理:特征表示,缺失值/異常值處理,數(shù)據(jù)離散化,數(shù)據(jù)標(biāo)準(zhǔn)化等;特征提?。禾卣餮苌卣鬟x擇,特征降維等;
特征表示
數(shù)據(jù)需要轉(zhuǎn)換為計(jì)算機(jī)能夠處理的數(shù)值形式。如果數(shù)據(jù)是圖片數(shù)據(jù)需要轉(zhuǎn)換為RGB三維矩陣的表示。
字符類(lèi)的數(shù)據(jù)可以用多維數(shù)組表示,有Onehot獨(dú)熱編碼表示、word2vetor分布式表示及bert動(dòng)態(tài)編碼等;
異常值處理
收集的數(shù)據(jù)由于人為或者自然因素可能引入了異常值(噪音),這會(huì)對(duì)模型學(xué)習(xí)進(jìn)行干擾。
通常需要對(duì)人為引起的異常值進(jìn)行處理,通過(guò)業(yè)務(wù)判斷和技術(shù)手段(python、正則式匹配、pandas數(shù)據(jù)處理及matplotlib可視化等數(shù)據(jù)分析處理技術(shù))篩選異常的信息,并結(jié)合業(yè)務(wù)情況刪除或者替換數(shù)值。
缺失值處理
數(shù)據(jù)缺失的部分,通過(guò)結(jié)合業(yè)務(wù)進(jìn)行填充數(shù)值、不做處理或者刪除。根據(jù)缺失率情況及處理方式分為以下情況:
① 缺失率較高,并結(jié)合業(yè)務(wù)可以直接刪除該特征變量。經(jīng)驗(yàn)上可以新增一個(gè)bool類(lèi)型的變量特征記錄該字段的缺失情況,缺失記為1,非缺失記為0;
② 缺失率較低,結(jié)合業(yè)務(wù)可使用一些缺失值填充手段,如pandas的fillna方法、訓(xùn)練隨機(jī)森林模型預(yù)測(cè)缺失值填充;
③ 不做處理:部分模型如隨機(jī)森林、xgboost、lightgbm能夠處理數(shù)據(jù)缺失的情況,不需要對(duì)缺失數(shù)據(jù)做任何的處理。
數(shù)據(jù)離散化
數(shù)據(jù)離散化能減小算法的時(shí)間和空間開(kāi)銷(xiāo)(不同算法情況不一),并可以使特征更有業(yè)務(wù)解釋性。
離散化是將連續(xù)的數(shù)據(jù)進(jìn)行分段,使其變?yōu)橐欢味坞x散化的區(qū)間,分段的原則有等距離、等頻率等方法。
數(shù)據(jù)標(biāo)準(zhǔn)化
數(shù)據(jù)各個(gè)特征變量的量綱差異很大,可以使用數(shù)據(jù)標(biāo)準(zhǔn)化消除不同分量量綱差異的影響,加速模型收斂的效率。常用的方法有:
① min-max 標(biāo)準(zhǔn)化:
將數(shù)值范圍縮放到(0,1),但沒(méi)有改變數(shù)據(jù)分布。max為樣本最大值,min為樣本最小值。
② z-score 標(biāo)準(zhǔn)化:
將數(shù)值范圍縮放到0附近, 經(jīng)過(guò)處理的數(shù)據(jù)符合標(biāo)準(zhǔn)正態(tài)分布。u是平均值,σ是標(biāo)準(zhǔn)差。
特征衍生
基礎(chǔ)特征對(duì)樣本信息的表述有限,可通過(guò)特征衍生出新含義的特征進(jìn)行補(bǔ)充。特征衍生是對(duì)現(xiàn)有基礎(chǔ)特征的含義進(jìn)行某種處理(組合/轉(zhuǎn)換之類(lèi)),常用方法如:
① 結(jié)合業(yè)務(wù)的理解做衍生,比如通過(guò)12個(gè)月工資可以加工出:平均月工資,薪資變化值,是否發(fā)工資 等等;
② 使用特征衍生工具:如feature tools等技術(shù);
特征選擇
特征選擇篩選出顯著特征、摒棄非顯著特征。特征選擇方法一般分為三類(lèi):
① 過(guò)濾法:按照特征的發(fā)散性或者相關(guān)性指標(biāo)對(duì)各個(gè)特征進(jìn)行評(píng)分后選擇,如方差驗(yàn)證、相關(guān)系數(shù)、IV值、卡方檢驗(yàn)及信息增益等方法。
② 包裝法:每次選擇部分特征迭代訓(xùn)練模型,根據(jù)模型預(yù)測(cè)效果評(píng)分選擇特征的去留。
③ 嵌入法:使用某些模型進(jìn)行訓(xùn)練,得到各個(gè)特征的權(quán)值系數(shù),根據(jù)權(quán)值系數(shù)從大到小來(lái)選擇特征,如XGBOOST特征重要性選擇特征。
特征降維
如果特征選擇后的特征數(shù)目仍太多,這種情形下經(jīng)常會(huì)有數(shù)據(jù)樣本稀疏、距離計(jì)算困難的問(wèn)題(稱(chēng)為 “維數(shù)災(zāi)難”),可以通過(guò)特征降維解決。常用的降維方法有:主成分分析法(PCA), 線性判別分析法(LDA)等。
2.4 模型訓(xùn)練
模型訓(xùn)練是選擇模型學(xué)習(xí)數(shù)據(jù)分布的過(guò)程。這過(guò)程還需要依據(jù)訓(xùn)練結(jié)果調(diào)整算法的(超)參數(shù),使得結(jié)果變得更加優(yōu)良。
2.4.1數(shù)據(jù)集劃分
訓(xùn)練模型前,一般會(huì)把數(shù)據(jù)集分為訓(xùn)練集和測(cè)試集,并可再對(duì)訓(xùn)練集再細(xì)分為訓(xùn)練集和驗(yàn)證集,從而對(duì)模型的泛化能力進(jìn)行評(píng)估。
① 訓(xùn)練集(training set):用于運(yùn)行學(xué)習(xí)算法。
② 開(kāi)發(fā)驗(yàn)證集(development set)用于調(diào)整參數(shù),選擇特征以及對(duì)算法其它優(yōu)化。常用的驗(yàn)證方式有交叉驗(yàn)證Cross-validation,留一法等;
③ 測(cè)試集(test set)用于評(píng)估算法的性能,但不會(huì)據(jù)此改變學(xué)習(xí)算法或參數(shù)。
2.4.2模型選擇
常見(jiàn)的機(jī)器學(xué)習(xí)算法如下:
模型選擇取決于數(shù)據(jù)情況和預(yù)測(cè)目標(biāo)??梢杂?xùn)練多個(gè)模型,根據(jù)實(shí)際的效果選擇表現(xiàn)較好的模型或者模型融合。
模型選擇
2.4.3模型訓(xùn)練
訓(xùn)練過(guò)程可以通過(guò)調(diào)參進(jìn)行優(yōu)化,調(diào)參的過(guò)程是一種基于數(shù)據(jù)集、模型和訓(xùn)練過(guò)程細(xì)節(jié)的實(shí)證過(guò)程。超參數(shù)優(yōu)化需要基于對(duì)算法的原理的理解和經(jīng)驗(yàn),此外還有自動(dòng)調(diào)參技術(shù):網(wǎng)格搜索、隨機(jī)搜索及貝葉斯優(yōu)化等。
2.5 模型評(píng)估
模型評(píng)估的標(biāo)準(zhǔn):模型學(xué)習(xí)的目的使學(xué)到的模型對(duì)新數(shù)據(jù)能有很好的預(yù)測(cè)能力(泛化能力)?,F(xiàn)實(shí)中通常由訓(xùn)練誤差及測(cè)試誤差評(píng)估模型的訓(xùn)練數(shù)據(jù)學(xué)習(xí)程度及泛化能力。
2.5.1評(píng)估指標(biāo)
① 評(píng)估分類(lèi)模型:常用的評(píng)估標(biāo)準(zhǔn)有查準(zhǔn)率P、查全率R、兩者調(diào)和平均F1-score 等,并由混淆矩陣的統(tǒng)計(jì)相應(yīng)的個(gè)數(shù)計(jì)算出數(shù)值:
混淆矩陣
查準(zhǔn)率是指分類(lèi)器分類(lèi)正確的正樣本(TP)的個(gè)數(shù)占該分類(lèi)器所有預(yù)測(cè)為正樣本個(gè)數(shù)(TP+FP)的比例;
查全率是指分類(lèi)器分類(lèi)正確的正樣本個(gè)數(shù)(TP)占所有的正樣本個(gè)數(shù)(TP+FN)的比例。
F1-score是查準(zhǔn)率P、查全率R的調(diào)和平均:
② 評(píng)估回歸模型:常用的評(píng)估指標(biāo)有RMSE均方根誤差 等。反饋的是預(yù)測(cè)數(shù)值與實(shí)際值的擬合情況。
③ 評(píng)估聚類(lèi)模型:可分為兩類(lèi)方式,一類(lèi)將聚類(lèi)結(jié)果與某個(gè)“參考模型”的結(jié)果進(jìn)行比較,稱(chēng)為“外部指標(biāo)”(external index):如蘭德指數(shù),F(xiàn)M指數(shù) 等;另一類(lèi)是直接考察聚類(lèi)結(jié)果而不利用任何參考模型,稱(chēng)為“內(nèi)部指標(biāo)”(internal index):如緊湊度、分離度 等。
2.5.2模型評(píng)估及優(yōu)化
根據(jù)訓(xùn)練集及測(cè)試集的指標(biāo)表現(xiàn),分析原因并對(duì)模型進(jìn)行優(yōu)化,常用的方法有:
2.6 模型決策
決策是機(jī)器學(xué)習(xí)最終目的,對(duì)模型預(yù)測(cè)信息加以分析解釋?zhuān)?yīng)用于實(shí)際的工作領(lǐng)域。
需要注意的是工程上是結(jié)果導(dǎo)向,模型在線上運(yùn)行的效果直接決定模型的成敗,不僅僅包括其準(zhǔn)確程度、誤差等情況,還包括其運(yùn)行的速度(時(shí)間復(fù)雜度)、資源消耗程度(空間復(fù)雜度)、穩(wěn)定性的綜合考慮。
責(zé)任編輯:lq6
-
人工智能
+關(guān)注
關(guān)注
1789文章
46659瀏覽量
237093 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8353瀏覽量
132315
原文標(biāo)題:機(jī)器學(xué)習(xí)入門(mén)指南(全)
文章出處:【微信號(hào):vision263com,微信公眾號(hào):新機(jī)器視覺(jué)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論