官术网_书友最值得收藏!

1.2 為什么需要機(jī)器學(xué)習(xí)

數(shù)據(jù)無處不在。此時(shí)此刻,成千上萬的系統(tǒng)正在收集構(gòu)成特定服務(wù)的歷史記錄、日志、用戶交互數(shù)據(jù),以及許多其他相關(guān)元素。僅在幾十年前,大多數(shù)公司甚至無法有效地管理 1%的數(shù)據(jù)。出于這個(gè)原因,數(shù)據(jù)庫(kù)會(huì)被定期清理,只有重要數(shù)據(jù)才能永久存儲(chǔ)在服務(wù)器中。

而現(xiàn)如今,幾乎每家公司都可以利用可擴(kuò)展的云基礎(chǔ)架構(gòu)來應(yīng)對(duì)不斷增長(zhǎng)的數(shù)據(jù)量。Apache Hadoop或Apache Spark等工具允許數(shù)據(jù)科學(xué)家和工程師實(shí)現(xiàn)大數(shù)據(jù)的復(fù)雜傳輸。在這一點(diǎn)上,所有的障礙都被掃除,大眾化的進(jìn)程已經(jīng)到位。然而,這些大數(shù)據(jù)集合的真正價(jià)值又是什么呢?從商業(yè)角度看,信息只有在有助于做出正確決策、減少不確定性并提供更好的情境洞察時(shí)才有價(jià)值。這意味著,沒有合適的工具和知識(shí),一堆數(shù)據(jù)對(duì)于公司來說只會(huì)增加成本,需要限制以增加利潤(rùn)。

機(jī)器學(xué)習(xí)是計(jì)算機(jī)科學(xué)(特別是人工智能)的一個(gè)大分支,其目的是通過利用現(xiàn)有數(shù)據(jù)集來實(shí)現(xiàn)現(xiàn)實(shí)中描述性預(yù)測(cè)性的模型。由于本書致力于實(shí)用的無監(jiān)督解決方案,我們將只關(guān)注通過尋找隱藏原因和關(guān)系來描述此類情況的算法。雖然僅從理論角度出發(fā),也有助于展示機(jī)器學(xué)習(xí)問題之間的主要差異,但是只有對(duì)目標(biāo)有完全的認(rèn)識(shí)(不局限于技術(shù)方面),才能對(duì)最初的問題產(chǎn)生理性回答。這就是我們需要機(jī)器學(xué)習(xí)的原因。

我們可以說人類非凡的認(rèn)知能力啟發(fā)了許多系統(tǒng),但是當(dāng)影響因素的數(shù)量顯著增加時(shí),人類就缺乏分析技能了。例如,如果你是第一次與班級(jí)學(xué)生見面的老師,在瀏覽整個(gè)小組后你能粗略地估計(jì)女生的百分比。通常,即便是對(duì)兩個(gè)或更多人做出的估算,也可能是準(zhǔn)確的或接近實(shí)際值的。然而,如果我們將全校所有人聚集在操場(chǎng)來重復(fù)這個(gè)實(shí)驗(yàn),性別的區(qū)分就顯得不那么明顯了。這是因?yàn)樗袑W(xué)生在課堂上都是一目了然的,但是在操場(chǎng)里區(qū)分性別會(huì)受到某些因素的限制(例如較矮的人會(huì)被較高的人遮擋)。拋開這一層因素,我們可以認(rèn)為大量的數(shù)據(jù)通常帶有大量的信息。為了提取和分類信息,我們有必要采取自動(dòng)化的方法。

在進(jìn)入1.2.1節(jié)前,讓我們討論一下最初由高德納(Gartner)定義的描述性分析(Descriptive Analysis)、診斷性分析(Diagnostic Analysis)、預(yù)測(cè)性分析(Predictive Analysis)和規(guī)范性分析(Prescriptive Analysis)的概念。但是,在這種情況下,我們希望關(guān)注正在分析的系統(tǒng)(例如通用情況),以便對(duì)其行為進(jìn)行越來越多的控制。

描述性分析、診斷性分析、預(yù)測(cè)性分析和規(guī)范性分析的流程如圖1-1所示。

1-1

圖1-1 描述性分析、診斷性分析、預(yù)測(cè)性分析和規(guī)范性分析的流程

1.2.1 描述性分析

幾乎所有的數(shù)據(jù)科學(xué)場(chǎng)景中要解決的第一個(gè)問題都是了解其本質(zhì)。我們需要知道系統(tǒng)如何工作或數(shù)據(jù)集描述的內(nèi)容是什么。如果沒有這種分析,我們的知識(shí)又是有限的,將無法做出任何假設(shè)。例如我們可以通過圖表觀察一個(gè)城市幾年的平均溫度,但是如果我們無法描述發(fā)現(xiàn)現(xiàn)象的相關(guān)性、季節(jié)性、趨勢(shì)性的時(shí)間序列,其他任何問題就不可能被解決。在具體情況下,如果沒有發(fā)現(xiàn)對(duì)象組之間的相似性,就無法找到一種方法來總結(jié)它們的共同特征。數(shù)據(jù)科學(xué)家必須針對(duì)每個(gè)特定問題使用特定工具,但在此階段結(jié)束時(shí),所有可能(以及有用的)的問題將得到解答。

此外,這個(gè)過程具有明確的商業(yè)價(jià)值,讓不同的利益相關(guān)者參與的目的是收集他們的知識(shí)并將其轉(zhuǎn)化為共同語(yǔ)言。例如在處理醫(yī)療保健數(shù)據(jù)時(shí),醫(yī)生可能會(huì)談?wù)撨z傳因素,但就我們的目的而言,最好是某些樣本之間存在相關(guān)性,因此我們并未完全將它們視為統(tǒng)計(jì)上的獨(dú)立因素。一般而言,描述性分析的結(jié)果包含所有度量評(píng)估和結(jié)論的摘要,這些評(píng)估和結(jié)論是對(duì)某種情況進(jìn)行限定和減少不確定性所必需的。在溫度圖表的例子中,數(shù)據(jù)科學(xué)家應(yīng)該能夠解答自動(dòng)關(guān)聯(lián)、峰值的周期、潛在異常值的數(shù)量以及趨勢(shì)的出現(xiàn)等問題。

1.2.2 診斷性分析

到目前為止,我們已經(jīng)處理了輸出數(shù)據(jù),這是在特定的基礎(chǔ)流程生成之后觀察到的。系統(tǒng)描述的自然問題與很多因素有關(guān)。溫度更多取決于氣象和地理因素,這些因素既易于觀測(cè),又可以完全隱藏。時(shí)間序列中的季節(jié)性顯然受一年中的周期影響,但所出現(xiàn)的異常值又該如何解釋呢?

例如我們?cè)谝粋€(gè)處于冬季的地區(qū)發(fā)現(xiàn)了一個(gè)溫度峰值,我們?cè)鯓硬拍茏C明它的合理性呢?在簡(jiǎn)單的方法中,我們可以將其視為可過濾掉的噪聲異常值。但是,如果該值已經(jīng)被觀察到并且有存在價(jià)值(例如所有各方都認(rèn)為這不是錯(cuò)誤),我們應(yīng)該假設(shè)存在隱藏(或潛在)原因。

這可能是令人驚訝的,但大多數(shù)復(fù)雜的場(chǎng)景都具有大量難以分析的潛在原因(有時(shí)稱為因素)。總的來說,這不是一個(gè)糟糕的情況,但正如我們將要討論的那樣,將它們包含在模型中并通過數(shù)據(jù)集了解它們的影響是非常重要的。

另一方面,決定丟棄所有未知元素意味著降低模型的預(yù)測(cè)能力,并且會(huì)成比例地降低準(zhǔn)確性。因此,診斷分析的主要目標(biāo)不一定是找出所有因素,而是列出可觀察和可測(cè)量的因素(也稱為因子),以及所有的潛在因素(通常概括為單個(gè)全局因素)。

在某種程度上,因?yàn)槲覀兛梢暂p松監(jiān)控效果,診斷分析通常類似于逆向工程的過程,但要檢測(cè)潛在原因與可觀察效果之間存在的關(guān)系就較為困難。因此這種分析通常是概率性的,并且有助于找出某個(gè)確定的原因帶來特定影響的概率。這樣,排除非影響分量和確定最初排除的關(guān)系也更容易。然而,這個(gè)過程需要更深入的統(tǒng)計(jì)學(xué)知識(shí),除了一些例子如高斯混合之外,這類分析將不會(huì)在本書中討論。

1.2.3 預(yù)測(cè)性分析

如果收集了整體描述性知識(shí)并且對(duì)潛在原因的認(rèn)識(shí)已令人滿意,那么我們就可以創(chuàng)建預(yù)測(cè)模型了。創(chuàng)建預(yù)測(cè)模型的目的是根據(jù)模型本身的歷史和結(jié)構(gòu)來推斷未來的結(jié)果。在許多情況下,我們將這個(gè)階段與下一個(gè)階段一起分析,因?yàn)槲覀兒苌賹?duì)系統(tǒng)的自由演變感興趣(例如溫度將在下個(gè)月如何變化),而是對(duì)我們可以影響輸出的方式感興趣。

也就是說,我們只關(guān)注預(yù)測(cè),考慮最重要的因素。第一個(gè)需要考慮的因素就是流程性質(zhì)。我們不需要機(jī)器學(xué)習(xí)用于確定性過程,除非這些過程的復(fù)雜性太高以至于我們不得不將它們視為黑匣子。在本章將要討論的大多數(shù)例子都是無法消除不確定性的隨機(jī)過程。例如一天中的溫度可以建模為條件概率(例如高斯),具體取決于前面的觀測(cè)值。因此,預(yù)測(cè)不是將系統(tǒng)變?yōu)榇_定性系統(tǒng),而是減少分布的方差,使概率只有在小的溫度范圍內(nèi),才會(huì)很高。另外,正如我們所知,許多潛在因素在幕后工作,該選擇會(huì)對(duì)最終的準(zhǔn)確定性產(chǎn)生極大的不利影響,因此不能接受基于尖峰分布的模型(例如基于概率為1的單一結(jié)果)。

如果模型被參數(shù)化,變量受學(xué)習(xí)過程影響(例如高斯的均值和協(xié)方差矩陣),那么我們的目標(biāo)是在偏差-方差權(quán)衡中找出最佳平衡。由于本章只是概述,我們不用數(shù)學(xué)公式講解概念,只需要一個(gè)定義即可(更多細(xì)節(jié)可以在Mastering Machine Learning Algorithms一書中找到)。

定義統(tǒng)計(jì)預(yù)測(cè)模型的常用術(shù)語(yǔ)是估計(jì)量估計(jì)量偏差受不正確的假設(shè)和學(xué)習(xí)過程可測(cè)量的影響。換句話說,如果一個(gè)過程的平均值是5.0,但我們的估計(jì)量平均值為3.0,那就可以說該模型是有偏差的。考慮到前面的例子,如果觀測(cè)值和預(yù)測(cè)之間的誤差不為零,則我們使用有偏估計(jì)。重要的是要理解并不是說每個(gè)估計(jì)都必須有一個(gè)零誤差,而是在收集足夠的樣本并計(jì)算均值時(shí),它的值應(yīng)該非常接近零(只有無限樣本才能為零)。當(dāng)它大于零時(shí),就意味著我們的模型無法正確預(yù)測(cè)訓(xùn)練值。很明顯,我們正在尋找無偏估計(jì)量,這些估計(jì)量基本上可以產(chǎn)生準(zhǔn)確的預(yù)測(cè)。

另一方面,估計(jì)量方差可以衡量不屬于訓(xùn)練集的樣本的魯棒性。在本節(jié)開頭,我們提到過程通常是隨機(jī)的。這意味著任何數(shù)據(jù)集都必須被視為從特定數(shù)據(jù)生成過程pdata中提取的。如果我們有足夠的代表性元素xiX,我們可以假設(shè)使用有限數(shù)據(jù)集X訓(xùn)練分類器會(huì)生成一個(gè)模型,該模型能夠?qū)?em>pdata中提取的所有潛在樣本進(jìn)行分類。

例如如果需要對(duì)僅限于肖像的面部分類器進(jìn)行建模(不允許進(jìn)一步的面部姿勢(shì)),那么我們可以收集一些不同個(gè)體的肖像。建模過程需要關(guān)注的是不排除現(xiàn)實(shí)生活中可能存在的類別。假設(shè)我們有10000張不同年齡和性別的人物免冠照片,但沒有任何戴帽子的肖像。當(dāng)系統(tǒng)投入生產(chǎn)時(shí),就會(huì)收到客戶打來的電話,反映系統(tǒng)對(duì)許多圖片進(jìn)行了錯(cuò)誤分類。經(jīng)過分析,會(huì)發(fā)現(xiàn)發(fā)生錯(cuò)誤分類的是戴帽子的人。顯然,這個(gè)肖像模型對(duì)錯(cuò)誤不負(fù)責(zé),因?yàn)樗脙H代表數(shù)據(jù)生成過程的一個(gè)區(qū)域的樣本進(jìn)行訓(xùn)練。因此,為了解決問題,我們要收集其他樣本,并重復(fù)訓(xùn)練。但是,現(xiàn)在我們決定使用更復(fù)雜的模型,希望它能更好地運(yùn)行。結(jié)果我們觀察到更差的驗(yàn)證準(zhǔn)確性(例如在訓(xùn)練階段未使用子集的準(zhǔn)確性)以及更高的訓(xùn)練精度。這里發(fā)生了什么?

當(dāng)估計(jì)量學(xué)會(huì)完美地對(duì)訓(xùn)練集進(jìn)行分類但是對(duì)未見過的樣本分類能力較差時(shí),我們可以說它是過擬合的,并且其方差對(duì)于特定任務(wù)來說太高(反之,一個(gè)欠擬合模型則具有較大的偏差,并且所有預(yù)測(cè)都非常不準(zhǔn)確)。直觀地講,該模型對(duì)訓(xùn)練數(shù)據(jù)過于了解,已經(jīng)失去了概括能力。為了更好地理解這個(gè)概念,讓我們看一下高斯數(shù)據(jù)的生成過程,如圖1-2所示。

1-2

圖1-2 高斯數(shù)據(jù)的生成過程(實(shí)線)和樣本數(shù)據(jù)的直方圖

如果訓(xùn)練集沒有以完全統(tǒng)一的方式,采樣或者部分不平衡(某些類的樣本比其他類少),或者模型過度擬合,則結(jié)果可能由不準(zhǔn)確的分布表示,如圖1-3所示。

1-3

圖1-3 不準(zhǔn)確的分布

在這種情況下,模型會(huì)被迫學(xué)習(xí)訓(xùn)練集的細(xì)節(jié),直到它從分布中排除了許多潛在的樣本。該結(jié)果不再是高斯分布,而是雙峰分布,此時(shí)一些概率會(huì)偏低。當(dāng)然,測(cè)試和驗(yàn)證集是從訓(xùn)練集未覆蓋的小區(qū)域中采樣的(因?yàn)橛?xùn)練數(shù)據(jù)和驗(yàn)證數(shù)據(jù)之間沒有重疊),因此模型將在其任務(wù)中失敗,從而提供完全錯(cuò)誤的結(jié)果。

換句話說,模型已經(jīng)學(xué)會(huì)了處理太多細(xì)節(jié)而導(dǎo)致方差太高,在合理的閾值范圍內(nèi)增加了不同分類的可能性范圍。例如從肖像分類器可以了解到,戴藍(lán)色眼鏡的人是年齡范圍在 30~40 歲的男性(這是不切實(shí)際的情況,因?yàn)榧?xì)節(jié)水平通常非常低,但是對(duì)了解問題的本質(zhì)是有幫助的)。

可以總結(jié)一下,一個(gè)好的預(yù)測(cè)模型必須具有非常低的偏差和適當(dāng)?shù)偷姆讲睢2恍业氖牵ǔ2豢赡苡行У刈钚』@兩個(gè)值,因此我們必須接受平衡。

具有良好泛化能力的系統(tǒng)可能具有較高的偏差,因?yàn)樗鼰o法捕獲所有細(xì)節(jié)。相反,高方差允許非常小的偏差,但模型的能力幾乎限于訓(xùn)練集。在本書中,我們不打算討論分類器,但是你應(yīng)該完全理解這些概念,以便理解在處理項(xiàng)目時(shí)可能遇到的不同行為。

1.2.4 規(guī)范性分析

這樣做的主要目的是回答以下問題:如何影響系統(tǒng)的輸出?為了避免混淆,最好將這個(gè)概念翻譯成純機(jī)器學(xué)習(xí)語(yǔ)言,因此問題可能是獲得特定輸出需要哪些輸入值?

如1.2.3節(jié)所述,此階段通常與預(yù)測(cè)性分析合并,因?yàn)槟P屯ǔS糜谶@兩個(gè)任務(wù)。但是,在某些特定情況下,預(yù)測(cè)僅限于空輸入演變(例如在溫度示例中),并且必須在規(guī)定階段分析更復(fù)雜的模型。主要在于控制影響特定輸出的所有因素。

有時(shí),當(dāng)沒有必要時(shí),我們就只做表面分析。當(dāng)原因不可控時(shí)(例如氣象事件),或者當(dāng)包含全局潛在參數(shù)集更簡(jiǎn)單時(shí),就會(huì)發(fā)生這種情況。后一種選擇在機(jī)器學(xué)習(xí)中非常普遍,并且已經(jīng)開發(fā)了許多算法,在已存在潛在因素(例如EM或SVD推薦系統(tǒng))的情況下仍能夠高效工作。出于這個(gè)原因,我們并沒有關(guān)注這一特定方面(這在系統(tǒng)理論中非常重要),同時(shí),我們隱含地假設(shè)模型有研究不同輸入產(chǎn)生許多可能輸出的能力。

例如在深度學(xué)習(xí)中,我們可以創(chuàng)建反向模型來生成輸入空間的顯著映射,從而強(qiáng)制產(chǎn)生特定的輸出類。以肖像分類器為例,我們可能有興趣發(fā)現(xiàn)哪些視覺因素會(huì)影響類的輸出。診斷性分析通常對(duì)此是無效的,因?yàn)樵蚍浅?fù)雜并且其水平太低(例如輪廓的形狀)。因此,反向模型可以通過顯示不同幾何區(qū)域的影響來幫助解決規(guī)范性問題。然而,完整的規(guī)范性分析超出了本書的范圍,在許多情況下,也沒有必要使用規(guī)范性分析,因此不會(huì)在后續(xù)章節(jié)中考慮這樣的步驟。現(xiàn)在讓我們來分析不同類型的機(jī)器學(xué)習(xí)算法。

主站蜘蛛池模板: 瑞金市| 松溪县| 平和县| 麦盖提县| 京山县| 双柏县| 古浪县| 新营市| 洱源县| 巴中市| 腾冲县| 德庆县| 云和县| 芦溪县| 朝阳区| 湘潭县| 金平| 雷州市| 莒南县| 婺源县| 保定市| 铜川市| 从化市| 桓台县| 介休市| 衡南县| 阿图什市| 安平县| 许昌市| 朝阳区| 上饶市| 改则县| 崇礼县| 长汀县| 江阴市| 衡东县| 鲁山县| 普陀区| 鹿邑县| 鹤山市| 县级市|