- Scikit-learn機(jī)器學(xué)習(xí)詳解(上)
- 潘風(fēng)文 潘啟儒
- 6248字
- 2021-12-23 11:33:13
1.5 機(jī)器學(xué)習(xí)開發(fā)步驟
前面講過,機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘是一個(gè)問題的兩個(gè)方面,它們的目標(biāo)是一致的。數(shù)據(jù)挖掘是面向業(yè)務(wù)的,機(jī)器學(xué)習(xí)是面向技術(shù)的。所以,機(jī)器學(xué)習(xí)的開發(fā)步驟與數(shù)據(jù)挖掘的方法論是密不可分的。在數(shù)據(jù)挖掘的發(fā)展歷程中,出現(xiàn)過多種實(shí)施方法論。在本節(jié)中首先概要介紹幾種主流的數(shù)據(jù)挖掘方法論,然后引出比較可行的機(jī)器學(xué)習(xí)步驟。
1.5.1 數(shù)據(jù)挖掘標(biāo)準(zhǔn)流程
數(shù)據(jù)挖掘的流程是一個(gè)復(fù)雜的過程,不可能通過簡(jiǎn)單幾步就能夠完成。一方面,這個(gè)過程涉及數(shù)據(jù)清洗、數(shù)據(jù)集成、變量選擇、數(shù)據(jù)轉(zhuǎn)換、模型構(gòu)建和驗(yàn)證,以及最終結(jié)果的知識(shí)表達(dá)和應(yīng)用等;另一方面,建立挖掘模型所需的數(shù)據(jù)往往是跨數(shù)據(jù)源的,需要建立一個(gè)統(tǒng)一的數(shù)據(jù)標(biāo)準(zhǔn)進(jìn)行數(shù)據(jù)整理,以及可能循環(huán)多次的模型優(yōu)化。所以非常需要一個(gè)明確的策略來控制數(shù)據(jù)挖掘流程中的各個(gè)環(huán)節(jié),保證數(shù)據(jù)挖掘的效果。
從工程技術(shù)角度,數(shù)據(jù)挖掘流程分為兩大步驟:數(shù)據(jù)準(zhǔn)備(預(yù)處理)和數(shù)據(jù)挖掘(建模),如圖1-11所示。

圖1-11 數(shù)據(jù)挖掘通用流程圖
圖1-11是一個(gè)粗略的數(shù)據(jù)挖掘流程圖。一般來說,數(shù)據(jù)挖掘項(xiàng)目要經(jīng)歷的過程包括問題的理解、數(shù)據(jù)的準(zhǔn)備、模型建立和應(yīng)用等一系列復(fù)雜的任務(wù)。所以,數(shù)據(jù)挖掘過程的系統(tǒng)化、工程化對(duì)解決業(yè)務(wù)問題起著至關(guān)重要的作用。
縱觀數(shù)據(jù)挖掘的發(fā)展歷史,為了使數(shù)據(jù)挖掘過程規(guī)范化,以便能夠創(chuàng)建統(tǒng)一的數(shù)據(jù)挖掘平臺(tái)(軟件),各個(gè)系統(tǒng)廠商先后提出了很多數(shù)據(jù)挖掘過程的方法論,闡明實(shí)施數(shù)據(jù)挖掘項(xiàng)目的流程和步驟,為數(shù)據(jù)挖掘系統(tǒng)的迅速發(fā)展提供了保障。其中最流行的方法論有SEMMA、KDD、5A以及CRISP-DM四種。
(1)SEMMA
SEMMA是由SAS Institute(全球知名的統(tǒng)計(jì)軟件及數(shù)據(jù)挖掘系統(tǒng)開發(fā)商)開發(fā)的指導(dǎo)數(shù)據(jù)挖掘流程的標(biāo)準(zhǔn)。SEMMA是Sample、Explore、Modify、Model和Assess五個(gè)英語單詞的首字母組合,代表抽樣、探索、修改、模型和評(píng)估。這也正是SAS提出的在數(shù)據(jù)挖掘平臺(tái)中要遵循的5個(gè)步驟,如圖1-12所示。

圖1-12 SEMMA五步驟挖掘流程
這5個(gè)步驟的具體任務(wù)是:
① Sample:即數(shù)據(jù)采樣,這是數(shù)據(jù)挖掘工作的第一步,其目標(biāo)是根據(jù)需要解決的問題選擇用于構(gòu)建模型的樣本數(shù)據(jù)集(不是全部數(shù)據(jù)),同時(shí)檢驗(yàn)和保證數(shù)據(jù)的質(zhì)量。原則上樣本數(shù)據(jù)集應(yīng)該足夠大,包含足夠的信息,以便能夠有效地使用;
② Explore:即數(shù)據(jù)探察,其目標(biāo)是進(jìn)行數(shù)據(jù)特征的探索、分析和預(yù)處理。數(shù)據(jù)采樣是以對(duì)業(yè)務(wù)問題的先驗(yàn)認(rèn)識(shí)為基礎(chǔ)進(jìn)行的,樣本數(shù)據(jù)集是否能夠達(dá)到目標(biāo)要求、是否有明顯的規(guī)律和趨勢(shì)、變量之間是否有相關(guān)性等等,這些都是需要探索的內(nèi)容。通常,我們通過圖形等可視化手段來發(fā)現(xiàn)特征(變量)的統(tǒng)計(jì)屬性、異常情況,以及變量之間的相關(guān)性等;
③ Modify:即數(shù)據(jù)調(diào)整,其目標(biāo)是問題進(jìn)一步明確化,并進(jìn)行數(shù)據(jù)調(diào)整。本階段明確和量化要解決的問題,并根據(jù)對(duì)問題新的認(rèn)識(shí)對(duì)樣本數(shù)據(jù)進(jìn)行增刪、調(diào)整、修改、轉(zhuǎn)換和派生,并確定技術(shù)方向;
④ Model:即模型構(gòu)建,這是數(shù)據(jù)挖掘工作的核心環(huán)節(jié),其目標(biāo)是基于前面準(zhǔn)備好的變量,應(yīng)用各種建模技術(shù)(可能使用多種模型算法),創(chuàng)建所需的模型;
⑤ Assess:即模型評(píng)估,這是最后一個(gè)步驟,其目標(biāo)是對(duì)構(gòu)建的模型進(jìn)行綜合解釋和評(píng)價(jià)。本階段主要是對(duì)建模結(jié)果進(jìn)行可靠性和有效性綜合評(píng)估,找出最優(yōu)模型。
SEMMA與CRISP-DM(在本節(jié)后面講述)標(biāo)準(zhǔn)相比,主要關(guān)注數(shù)據(jù)挖掘項(xiàng)目的建模任務(wù)本身,將業(yè)務(wù)方面排除在外;而CRISP-DM則把業(yè)務(wù)理解作為一個(gè)重要的前期階段。此外,SEMMA的重點(diǎn)在于幫助SAS Enterprise Miner軟件的用戶,所以在Enterprise Miner之外應(yīng)用時(shí),用戶可能感覺不方便。
(2)KDD
KDD方法論是Brachman & Anand于1996年提出的,它覆蓋了從數(shù)據(jù)中發(fā)現(xiàn)有用知識(shí)的整個(gè)過程,涉及了發(fā)現(xiàn)模式的評(píng)估以及最有可能的解釋,以識(shí)別和決定數(shù)據(jù)中的知識(shí)。
如圖1-13所示,KDD方法在發(fā)現(xiàn)和解釋潛在模式和知識(shí)的過程中,涉及以下步驟的重復(fù)應(yīng)用:

圖1-13 KDD挖掘流程
① 數(shù)據(jù)抽取(Data Extraction):從數(shù)據(jù)庫中檢索與任務(wù)分析相關(guān)的數(shù)據(jù),創(chuàng)建目標(biāo)數(shù)據(jù)集。
② 數(shù)據(jù)預(yù)處理(Processing):對(duì)選擇的數(shù)據(jù)集進(jìn)行預(yù)處理,保持?jǐn)?shù)據(jù)的一致性,以保證質(zhì)量。
③ 數(shù)據(jù)轉(zhuǎn)換(Transformation):這個(gè)步驟通過使用降維、轉(zhuǎn)換等方法進(jìn)行數(shù)據(jù)的轉(zhuǎn)換、派生等。
④ 數(shù)據(jù)挖掘(Data Mining):根據(jù)挖掘目標(biāo)(如預(yù)測(cè)或者分類等),搜索和發(fā)掘特定表現(xiàn)形式的模型和知識(shí)。
⑤ 模型解釋/評(píng)估(Interpretation/Evaluation):對(duì)發(fā)現(xiàn)的模型進(jìn)行解釋和評(píng)估,以便推廣使用。
在上述所有5個(gè)階段完成之后,我們將獲得對(duì)發(fā)現(xiàn)模型的評(píng)估是否滿足業(yè)務(wù)需求的結(jié)論。如果不滿足目標(biāo)要求,則可以從任何一個(gè)階段開始進(jìn)行重復(fù),直到達(dá)到業(yè)務(wù)要求。
(3)5A
5A流程標(biāo)準(zhǔn)由原來的SPSS(Statistical Product and Service Solutions)公司發(fā)起。5A是Assess、Access、Analyze、Act和Automate五個(gè)單詞的首字母組合。其中:
① Assess:即需求評(píng)估。對(duì)業(yè)務(wù)問題進(jìn)行客觀評(píng)價(jià),明確需求,并確定實(shí)現(xiàn)需求所需要的數(shù)據(jù);
② Access:即數(shù)據(jù)獲取。實(shí)現(xiàn)對(duì)所需數(shù)據(jù)的獲取,檢查數(shù)據(jù)質(zhì)量,并能夠靈活處理數(shù)據(jù);
③ Analyze:即數(shù)據(jù)分析。基于獲取的數(shù)據(jù)進(jìn)行分析,使用各種統(tǒng)計(jì)分析技術(shù),運(yùn)用預(yù)測(cè)或描述模型,創(chuàng)建能夠解決問題的挖掘模型;
④ Act:即模型評(píng)估。對(duì)創(chuàng)建的模型進(jìn)行展示和評(píng)估,確定最優(yōu)模型;
⑤ Automate:即部署應(yīng)用。通過系統(tǒng)提供的工具,快速顯示結(jié)果,便于用戶更好地決策。
IBM在2009年收購了SPSS。由于IBM也是CRISP-DM流程的主要發(fā)起人之一,并且IBM目前也在主推CRISP-DM,所以5A流程的市場(chǎng)在逐步縮減。
(4)CRISP-DM
CRISP-DM是CRoss Industry Standard Process for Data Mining的縮寫,意為“跨行業(yè)數(shù)據(jù)挖掘標(biāo)準(zhǔn)流程”。該標(biāo)準(zhǔn)由SPSS、IBM、Teradata、Daimler AG、NCR Corporation和OHRA等5家公司領(lǐng)導(dǎo)開發(fā),第1個(gè)版本于1999年3月在布魯塞爾舉行的第四屆CRISPDM SIG(Special Interest Group)研討會(huì)上發(fā)布。
與前面講述的SEMMA相比,CRISP-DM認(rèn)為數(shù)據(jù)挖掘是由業(yè)務(wù)目標(biāo)驅(qū)動(dòng)的,同時(shí)重視數(shù)據(jù)的獲取、清洗和管理。
圖1-14是CRISP-DM針對(duì)具體業(yè)務(wù)問題進(jìn)行數(shù)據(jù)挖掘或機(jī)器學(xué)習(xí)的標(biāo)準(zhǔn)流程圖。
CRISP-DM標(biāo)準(zhǔn)流程包括業(yè)務(wù)問題理解、數(shù)據(jù)探索評(píng)估、業(yè)務(wù)數(shù)據(jù)準(zhǔn)備、模型建立、模型驗(yàn)證評(píng)估以及模型部署應(yīng)用6個(gè)環(huán)節(jié)。根據(jù)挖掘過程中每個(gè)環(huán)節(jié)的準(zhǔn)備情況,環(huán)節(jié)之間有可能需要反復(fù)交互。

圖1-14 CRISP-DM標(biāo)準(zhǔn)數(shù)據(jù)挖掘流程
① 業(yè)務(wù)問題理解。CRISP-DM的第一步是要明確業(yè)務(wù)目標(biāo),專注于從商業(yè)的角度理解項(xiàng)目目標(biāo)和需求,將這種理解轉(zhuǎn)換成一種數(shù)據(jù)挖掘的問題定義,并制訂出達(dá)到該目標(biāo)的數(shù)據(jù)挖掘計(jì)劃。
② 數(shù)據(jù)探索評(píng)估。在數(shù)據(jù)探索評(píng)估階段,首先根據(jù)前一階段的結(jié)果,找出影響挖掘目標(biāo)的各種因素(特征),確定這些影響因素的數(shù)據(jù)來源、表現(xiàn)形式以及存儲(chǔ)位置;其次探測(cè)數(shù)據(jù),理解和描述數(shù)據(jù),并分析數(shù)據(jù)質(zhì)量狀況。
③ 業(yè)務(wù)數(shù)據(jù)準(zhǔn)備。在本階段,根據(jù)挖掘目標(biāo)和對(duì)數(shù)據(jù)的探測(cè)情況,制訂數(shù)據(jù)質(zhì)量標(biāo)準(zhǔn)和各種派生規(guī)則,對(duì)原始數(shù)據(jù)進(jìn)行清洗處理,使用各種ETL工具,按照數(shù)據(jù)挖掘模型所需的數(shù)據(jù)格式準(zhǔn)備樣本數(shù)據(jù)(包括訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)),為模型的創(chuàng)建準(zhǔn)備好高質(zhì)量數(shù)據(jù),所謂“Garbage in,Garbage out”,所以一定要保證樣本數(shù)據(jù)的質(zhì)量。
④ 模型建立。建立挖掘模型的目的是發(fā)現(xiàn)數(shù)據(jù)中隱藏的模式和規(guī)律。此階段的工作是選擇合適的模型,針對(duì)不同模型進(jìn)行參數(shù)的訓(xùn)練和優(yōu)化。本階段可能要對(duì)多種模型進(jìn)行訓(xùn)練,并根據(jù)各種指標(biāo)(如R2、AUC、F1等)尋找最優(yōu)的模型。
在建模過程中,可能會(huì)發(fā)現(xiàn)一些潛在的數(shù)據(jù)問題,此時(shí)就需要返回到數(shù)據(jù)準(zhǔn)備階段,完善和更新入模數(shù)據(jù)。
⑤ 模型驗(yàn)證評(píng)估。對(duì)創(chuàng)建的模型,從業(yè)務(wù)目標(biāo)、預(yù)測(cè)或分類結(jié)果角度進(jìn)行評(píng)估,驗(yàn)證模型的有效性和可靠性,以確保模型應(yīng)用到生產(chǎn)環(huán)境中不會(huì)出現(xiàn)不可容忍的錯(cuò)誤。
在驗(yàn)證業(yè)務(wù)目標(biāo)時(shí),如果發(fā)現(xiàn)模型的預(yù)期不能滿足業(yè)務(wù)需求,則有可能返回到業(yè)務(wù)問題理解階段,重新審視對(duì)業(yè)務(wù)的理解,并根據(jù)實(shí)際情況確定是否重復(fù)后續(xù)的數(shù)據(jù)探索、數(shù)據(jù)準(zhǔn)備等環(huán)節(jié)。
⑥ 模型部署應(yīng)用。模型部署應(yīng)用既可以是把新數(shù)據(jù)應(yīng)用到訓(xùn)練后的模型,對(duì)新數(shù)據(jù)進(jìn)行預(yù)測(cè),根據(jù)預(yù)測(cè)結(jié)果進(jìn)行決策,也可以是把模型集成到企業(yè)生產(chǎn)環(huán)境中。無論哪種方式,都是為了充分發(fā)揮模型價(jià)值,實(shí)現(xiàn)數(shù)據(jù)挖掘的最終目標(biāo)。
目前CRISP-DM已經(jīng)成為事實(shí)上的標(biāo)準(zhǔn),得到眾多商用和開源挖掘系統(tǒng)開發(fā)商的支持,在市場(chǎng)中占據(jù)著領(lǐng)先位置。
1.5.2 機(jī)器學(xué)習(xí)開發(fā)步驟
機(jī)器學(xué)習(xí)的任務(wù)是“使用數(shù)據(jù)回答問題(Using data to answer questions)”。圖1-15展示了一個(gè)機(jī)器學(xué)習(xí)的流程示意圖。

圖1-15 機(jī)器學(xué)習(xí)流程示意圖
在實(shí)際應(yīng)用中,基于CRISP-DM方法論,充分考慮機(jī)器學(xué)習(xí)的核心任務(wù)和特點(diǎn),實(shí)現(xiàn)一個(gè)完整的機(jī)器學(xué)習(xí)任務(wù)流程需要數(shù)據(jù)收集、數(shù)據(jù)預(yù)處理、模型選擇、模型訓(xùn)練、模型驗(yàn)證、模型優(yōu)化和部署應(yīng)用(預(yù)測(cè)應(yīng)用)7個(gè)步驟。如圖1-16所示。

圖1-16 機(jī)器學(xué)習(xí)流程
1.5.2.1 數(shù)據(jù)收集
機(jī)器學(xué)習(xí)的第一步是為后面的模型訓(xùn)練收集足夠多的數(shù)據(jù),數(shù)據(jù)的數(shù)量和質(zhì)量是決定模型有效性的關(guān)鍵因素。當(dāng)然數(shù)據(jù)的收集是以明確要解決的問題需求為前提的,只有充分理解問題的要求,數(shù)據(jù)收集才能有的放矢,提高收集的效率和效果。
如果需要解決的問題是分類或預(yù)測(cè)問題(有監(jiān)督學(xué)習(xí)問題),則需要收集帶有標(biāo)簽的數(shù)據(jù);如果是聚類或?qū)ふ谊P(guān)聯(lián)規(guī)則等問題(無監(jiān)督學(xué)習(xí)問題),則需要收集無標(biāo)簽數(shù)據(jù)。
在這一步,需要收集影響問題目標(biāo)的各種潛在的特征變量,確定這些影響變量的數(shù)據(jù)來源、表現(xiàn)形式以及存儲(chǔ)位置;其次探測(cè)數(shù)據(jù),理解和描述數(shù)據(jù),并分析數(shù)據(jù)質(zhì)量狀況。
例如,有些數(shù)據(jù)可能存儲(chǔ)在關(guān)系型數(shù)據(jù)庫中,有些可能存儲(chǔ)在Hadoop大數(shù)據(jù)平臺(tái)上,還有可能存在Excel文件或文本文件中等,除此之外,還有可能需要收集非結(jié)構(gòu)化數(shù)據(jù)或半結(jié)構(gòu)化數(shù)據(jù)等等。在本步驟中,需要對(duì)這些散落在不同平臺(tái)或系統(tǒng)的數(shù)據(jù),根據(jù)機(jī)器學(xué)習(xí)要解決的問題的要求,聚合在一起,形成一個(gè)解決實(shí)際問題的單一的、原始的數(shù)據(jù)源。
1.5.2.2 數(shù)據(jù)預(yù)處理
原始的數(shù)據(jù)源雖然進(jìn)行了匯聚,但是沒有進(jìn)行有效規(guī)范的整合,難以發(fā)揮應(yīng)有的功能。數(shù)據(jù)預(yù)處理就是對(duì)收集的原始數(shù)據(jù)進(jìn)行清洗、轉(zhuǎn)換或派生,保證訓(xùn)練數(shù)據(jù)的質(zhì)量,以便能夠訓(xùn)練出有效、可靠的模型。在機(jī)器學(xué)習(xí)領(lǐng)域中,有時(shí)也稱這些工作為特征工程。
原始數(shù)據(jù)往往攜帶一些“臟數(shù)據(jù)”,例如可能存在以下問題:
① 數(shù)據(jù)不完整,某些特征變量存在缺失值。
② 數(shù)據(jù)存在噪聲、異常值或錯(cuò)誤。如一個(gè)人的薪水Salary=-1000(元),一個(gè)人的年齡Age=220(歲)等。
③ 數(shù)據(jù)存在重復(fù)(冗余)記錄。
④ 數(shù)據(jù)存在不一致。如年齡Age=40,生日BirthdayDate="2003.04.05"等;重復(fù)的數(shù)據(jù)記錄之間也存在不一致的情況等等。
所以,必須對(duì)原始收集的數(shù)據(jù)進(jìn)行數(shù)據(jù)清洗。一些簡(jiǎn)單的統(tǒng)計(jì)和可視化方法可以探查出大部分問題。常用的方法包括:
◇百分位數(shù)的計(jì)算可以確定大多數(shù)數(shù)據(jù)的范圍;
◇平均值和中位數(shù)可以描述集中趨勢(shì);
◇相關(guān)系數(shù)可以表明特征變量之間的關(guān)系程度;
◇箱形圖可以識(shí)別異常值;
◇密度圖和直方圖顯示數(shù)據(jù)的分布;
◇散點(diǎn)圖可以描述雙變量關(guān)系。
綜合考慮以上存在的問題和機(jī)器學(xué)習(xí)的特點(diǎn),數(shù)據(jù)預(yù)處理的內(nèi)容至少包括以下內(nèi)容:
① 清洗可能存在的問題:包括處理缺失值、刪除重復(fù)項(xiàng)、更正錯(cuò)誤和異常值、消除不一致等等。
② 數(shù)據(jù)規(guī)范化:對(duì)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化、格式化處理。
③ 隨機(jī)化數(shù)據(jù):這消除了原始數(shù)據(jù)中特定順序的影響。
④ 解決數(shù)據(jù)不平衡問題:采用SMOTE、數(shù)據(jù)合成等方式保障訓(xùn)練數(shù)據(jù)的平衡。
⑤ 數(shù)據(jù)綜合或派生:根據(jù)問題要求,有可能按照特定規(guī)則重新派生新的特征。
⑥ 數(shù)據(jù)類型轉(zhuǎn)換:不同的模型對(duì)數(shù)據(jù)的類型也有不同的要求。有些模型需要數(shù)值型數(shù)據(jù),有些模型則可以處理分類型數(shù)據(jù)等等。數(shù)據(jù)類型的轉(zhuǎn)換,也是數(shù)據(jù)預(yù)處理步驟的工作。類型轉(zhuǎn)換包括連續(xù)變量的離散化和分類變量的連續(xù)化。其中常用的離散化方法包括等寬(等距)區(qū)間法(也稱等距分箱法)、等頻區(qū)間法(也稱等頻分箱法),以及考慮到目標(biāo)類別的信息的ChiMerge方法(卡方分箱法);連續(xù)化方法包括獨(dú)熱編碼等。
關(guān)于ChiMerge離散化方法的知識(shí),請(qǐng)讀者自行查閱相關(guān)知識(shí),或者參閱筆者的另一本書《數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí):PMML建模(下)》的第二章“決策樹模型TreeModel”中內(nèi)容,這里不再贅述。
關(guān)于獨(dú)熱編碼連續(xù)化的方法的知識(shí),在本書第4章有簡(jiǎn)要的描述,或者參閱筆者的另一本書《PMML建模標(biāo)準(zhǔn)語言基礎(chǔ)》的第三章“PMML基礎(chǔ)知識(shí)”中內(nèi)容,這里不再贅述。
1.5.2.3 模型選擇
不同的算法(模型)能夠?qū)崿F(xiàn)不同的任務(wù),模型選擇的目的是選擇合適的一個(gè)或多個(gè)模型。
① 模型應(yīng)滿足解決問題的要求;
② 掌握各種模型的特點(diǎn):一個(gè)模型需要如何準(zhǔn)備數(shù)據(jù),訓(xùn)練時(shí)長,精度如何,模型的可解釋性以及模型的伸縮性。注意:對(duì)于具體問題,一個(gè)參數(shù)復(fù)雜眾多的模型不一定總是一個(gè)好的模型。常用的模型有線性回歸、邏輯回歸、決策數(shù)據(jù)、K-Means、支持向量機(jī)SVM、貝葉斯分類、隨機(jī)森林樹和神經(jīng)網(wǎng)絡(luò)等等。
在解決實(shí)際問題時(shí),需要基于特定問題的具體要求,綜合考慮,選擇一個(gè)或多個(gè)待訓(xùn)練模型(在集成建模中需要多個(gè)模型一起訓(xùn)練)。
1.5.2.4 模型訓(xùn)練
模型訓(xùn)練的目的是對(duì)選擇的算法進(jìn)行訓(xùn)練,構(gòu)建初步的應(yīng)用模型。
在進(jìn)行模型訓(xùn)練前,一般會(huì)把預(yù)處理后的數(shù)據(jù)分類成訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù),其中訓(xùn)練數(shù)據(jù)作為模型訓(xùn)練過程的輸入,測(cè)試數(shù)據(jù)用作模型驗(yàn)證評(píng)估(下一步驟)。在模型正式訓(xùn)練之前,一般都會(huì)對(duì)模型進(jìn)行初始化工作,例如設(shè)置模型參數(shù)初始值、超參數(shù)的設(shè)置等等。
在模型訓(xùn)練過程中,以最小化損失函數(shù)為目標(biāo),循環(huán)迭代使用訓(xùn)練數(shù)據(jù),逐步獲得模型的各個(gè)參數(shù),構(gòu)建完整的訓(xùn)練模型,用于驗(yàn)證評(píng)估。
1.5.2.5 模型驗(yàn)證
模型驗(yàn)證主要是利用新的數(shù)據(jù)(非訓(xùn)練數(shù)據(jù),一般是測(cè)試數(shù)據(jù)集),對(duì)上一步驟訓(xùn)練后的模型進(jìn)行驗(yàn)證,以便評(píng)估模型是否足夠好。衡量一個(gè)模型好壞的指標(biāo)很多,不同類型的機(jī)器學(xué)習(xí)模型有不同的衡量指標(biāo)。最常見的有:
◇對(duì)于回歸預(yù)測(cè)問題,可以使用均方誤差MSE(Mean Squared Error)或者平均絕對(duì)誤差MAE(Mean Absolute Error),其值越小越好;
◇對(duì)于分類預(yù)測(cè)問題,可以使用ROC(Receiver Operating Characteristic)和AUC(Area Under Curve),其值越大越好。
模型驗(yàn)證的方法有多種,例如Holdout驗(yàn)證法、交叉驗(yàn)證法CV(Cross-Validation)等。這些方法的具體介紹我們將在本書的后面詳細(xì)講述。
把每一個(gè)訓(xùn)練后的模型應(yīng)用于測(cè)試數(shù)據(jù),根據(jù)預(yù)測(cè)結(jié)果計(jì)算相應(yīng)指標(biāo),進(jìn)而驗(yàn)證一個(gè)模型是否足夠好。如果一個(gè)模型在訓(xùn)練數(shù)據(jù)中表現(xiàn)很好,但是在測(cè)試數(shù)據(jù)中表現(xiàn)比較糟糕,則說明這個(gè)模型是“過擬合(over?tting)”;如果一個(gè)模型在訓(xùn)練數(shù)據(jù)中表現(xiàn)很差,在測(cè)試數(shù)據(jù)中同樣表現(xiàn)也很差,則說明這個(gè)模型是“欠擬合(under?tting)”。
最后,如果一個(gè)模型滿足以下幾個(gè)條件,則這個(gè)模型可以進(jìn)入下一個(gè)步驟。
① 這個(gè)模型在測(cè)試數(shù)據(jù)集上具有最好的性能嗎?(性能)
② 這個(gè)模型在其他指標(biāo)上表現(xiàn)良好嗎?(健壯性)
③ 這個(gè)模型在訓(xùn)練數(shù)據(jù)集上能夠很好地通過交叉驗(yàn)證嗎?(一致性)
④ 這個(gè)模型是否解決了業(yè)務(wù)問題?(模型選擇的必要條件)
現(xiàn)代管理學(xué)之父彼得·德魯克(Peter F. Drucker)曾經(jīng)說過:“如果你不能衡量它,你就不能改善它”。這樣,在一個(gè)模型通過驗(yàn)證之后,還可以進(jìn)一步進(jìn)行超參數(shù)的優(yōu)化。
1.5.2.6 模型優(yōu)化
模型優(yōu)化是一個(gè)對(duì)模型超參數(shù)調(diào)整優(yōu)化的過程。
在機(jī)器學(xué)習(xí)的算法中有兩種類型的參數(shù):模型參數(shù)(model parameters)和超參數(shù)(hyper parameter)。其中模型參數(shù)是定義模型屬性的參數(shù),是可以直接從訓(xùn)練數(shù)據(jù)集中訓(xùn)練獲得的,例如回歸系數(shù)、決策樹的分割點(diǎn)等等;超參數(shù)是開始學(xué)習(xí)過程之前設(shè)置的參數(shù),是不能通過訓(xùn)練得到的參數(shù)數(shù)據(jù),例如SVM模型(支持向量機(jī))中的內(nèi)核函數(shù)、懲罰系數(shù),神經(jīng)網(wǎng)絡(luò)模型中的隱藏層的層數(shù)、學(xué)習(xí)效率,決策樹中的深度等等。通常情況下,需要對(duì)超參數(shù)進(jìn)行優(yōu)化,給學(xué)習(xí)過程選擇一組最優(yōu)超參數(shù),以提高學(xué)習(xí)的性能和效果。
超參數(shù)優(yōu)化常用的方法有網(wǎng)格搜索、隨機(jī)搜索、貝葉斯優(yōu)化算法等。
順便提一下,TensorFlow是谷歌開源的人工智能軟件工具包,具有Python、C++等多種語言接口,在網(wǎng)站http://playground.tensor?ow.org/上有可視化的模型參數(shù)和超參數(shù)調(diào)優(yōu)示例,感興趣的讀者可登陸試用。
1.5.2.7 部署應(yīng)用
在模型優(yōu)化并驗(yàn)證之后,就可以部署應(yīng)用了。模型應(yīng)用的過程就是“使用數(shù)據(jù)回答問題”的過程,也是機(jī)器學(xué)習(xí)發(fā)揮作用、創(chuàng)造價(jià)值的地方。
通過把模型存儲(chǔ)為PMML格式的文檔,一個(gè)良好的模型不僅可以在創(chuàng)建模型的環(huán)境中使用,也可以在任何支持PMML規(guī)范的環(huán)境中使用,實(shí)現(xiàn)模型的共享與交換,最大程度地發(fā)揮機(jī)器學(xué)習(xí)的價(jià)值。
PMML,即Predictive Model Markup Language,預(yù)測(cè)模型標(biāo)記語言,是一種基于XML規(guī)范的開放式模型表達(dá)語言,為不同的系統(tǒng)提供了定義模型的方法,可在兼容PMML語言的應(yīng)用程序中共享模型,目前已成為被W3C所接受的標(biāo)準(zhǔn)。關(guān)于PMML的知識(shí),讀者可參考筆者的另一本書《PMML建模標(biāo)準(zhǔn)語言基礎(chǔ)》。
- 職業(yè)素養(yǎng)與能力:禮儀·溝通·寫作(微課版)
- Premiere Pro CS6標(biāo)準(zhǔn)培訓(xùn)教程
- 花禮手記:52個(gè)激發(fā)靈感的花藝創(chuàng)作
- 機(jī)械設(shè)計(jì)基礎(chǔ)
- 服裝制板師崗位實(shí)訓(xùn)(下冊(cè))
- 團(tuán)體心理服務(wù)技能(本會(huì)團(tuán)體方向)培訓(xùn)教材·實(shí)務(wù)技能(上下冊(cè))
- 勇于創(chuàng)新
- 學(xué)前游戲論
- ADOBE PHOTOSHOP CS6標(biāo)準(zhǔn)培訓(xùn)教材
- 人力資源管理與實(shí)務(wù)全能一本通
- 柱上開關(guān)設(shè)備運(yùn)維與檢修技術(shù)(配網(wǎng)專業(yè)實(shí)訓(xùn)技術(shù)叢書)
- 商業(yè)短視頻后期剪輯技巧干貨98招
- 中文版3ds Max 2012/VRay效果圖制作完全自學(xué)教程(超值版)
- 電腦橫機(jī)花型設(shè)計(jì)實(shí)用手冊(cè)
- 服裝CAD基礎(chǔ)與實(shí)訓(xùn)