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

2.4 機(jī)器學(xué)習(xí)

對(duì)于深度學(xué)習(xí)或者泛化一般機(jī)器學(xué)習(xí)而言,選擇不同的算法對(duì)數(shù)據(jù)分析的過(guò)程和數(shù)據(jù)的需求有著極大的不同,而其中最重要的部分就是算法的選擇。從本質(zhì)上來(lái)說(shuō),機(jī)器學(xué)習(xí)和數(shù)據(jù)分析就是一個(gè)對(duì)數(shù)據(jù)處理、分析、歸類(lèi)的過(guò)程,是人類(lèi)多科學(xué)智慧發(fā)展的成果和結(jié)晶,在進(jìn)行過(guò)程運(yùn)算的時(shí)候,充分應(yīng)用人工智能、神經(jīng)網(wǎng)絡(luò)、遞歸處理、邊緣抉擇等交叉學(xué)科的現(xiàn)有成果,可以充分利用不同學(xué)科、不同理論的關(guān)鍵思想。

2.4.1 機(jī)器學(xué)習(xí)發(fā)展的歷程

人類(lèi)一直試圖讓機(jī)器具有智能,也就是人工智能(Artificial Intelligence)。20世紀(jì)60年代,人工智能的發(fā)展經(jīng)歷了“推理時(shí)期”,通過(guò)賦予機(jī)器邏輯推理能力使機(jī)器獲得智能,當(dāng)時(shí)的AI程序能夠證明一些著名的數(shù)學(xué)定理,但由于機(jī)器缺乏知識(shí),遠(yuǎn)不能實(shí)現(xiàn)真正的智能。因此,20世紀(jì)70年代,人工智能的發(fā)展進(jìn)入“知識(shí)時(shí)期”,即將人類(lèi)的知識(shí)總結(jié)出來(lái)教給機(jī)器,使機(jī)器獲得智能。在這一時(shí)期,大量的專(zhuān)家系統(tǒng)問(wèn)世,在很多領(lǐng)域取得大量成果,但由于人類(lèi)知識(shí)量巨大,故出現(xiàn)“知識(shí)工程瓶頸”,機(jī)器學(xué)習(xí)的發(fā)展歷程圖如圖2-13所示。

圖2-13 機(jī)器學(xué)習(xí)的發(fā)展歷程圖

無(wú)論是“推理時(shí)期”還是“知識(shí)時(shí)期”,機(jī)器都是按照人類(lèi)設(shè)定的規(guī)則和總結(jié)的知識(shí)運(yùn)作的,永遠(yuǎn)無(wú)法超越其創(chuàng)造者,其次人力成本太高。于是,一些學(xué)者就想到,如果機(jī)器能夠自我學(xué)習(xí)問(wèn)題不就迎刃而解了。機(jī)器學(xué)習(xí)(Machine Learning)方法應(yīng)運(yùn)而生,人工智能進(jìn)入“機(jī)器學(xué)習(xí)時(shí)期”。“機(jī)器學(xué)習(xí)時(shí)期”也分為三個(gè)階段,20世紀(jì)80年代,連接主義較為流行,代表方法有感知機(jī)(Perceptron)和神經(jīng)網(wǎng)絡(luò)(Neural Network);20世紀(jì)90年代,統(tǒng)計(jì)學(xué)習(xí)方法開(kāi)始占據(jù)舞臺(tái),代表方法有支持向量機(jī)(Support Vector Machine)等;進(jìn)入21世紀(jì),深度神經(jīng)網(wǎng)絡(luò)被提出,連接主義卷土重來(lái)。隨著數(shù)據(jù)量和計(jì)算能力的不斷提升,以深度學(xué)習(xí)(Deep Learning)為基礎(chǔ)的諸多AI應(yīng)用逐漸成熟。

所以,人工智能是追求目標(biāo),機(jī)器學(xué)習(xí)是實(shí)現(xiàn)手段,深度學(xué)習(xí)是一種方法。

2.4.2 機(jī)器學(xué)習(xí)的步驟

機(jī)器學(xué)習(xí)是一類(lèi)算法的總稱(chēng),這些算法企圖從大量歷史數(shù)據(jù)中挖掘出其中隱含的規(guī)律,并用于預(yù)測(cè)或者分類(lèi),更具體地說(shuō),機(jī)器學(xué)習(xí)可以看作是尋找一個(gè)函數(shù),輸入是樣本數(shù)據(jù),輸出是期望的結(jié)果,只是這個(gè)函數(shù)過(guò)于復(fù)雜,以至于不太方便形式化表達(dá)。

通常學(xué)習(xí)一個(gè)好的函數(shù),可以分為以下三步:

(1)選擇一個(gè)合適的模型,這通常需要依據(jù)實(shí)際問(wèn)題而定,針對(duì)不同的問(wèn)題和任務(wù)需要選取恰當(dāng)?shù)哪P?,模型就是一組函數(shù)的集合。

(2)判斷一個(gè)函數(shù)的好壞,這需要確定一個(gè)衡量標(biāo)準(zhǔn),也就是我們通常說(shuō)的損失函數(shù)(Loss Function),損失函數(shù)的確定也需要依據(jù)具體問(wèn)題而定,如回歸問(wèn)題一般采用歐氏距離,分類(lèi)問(wèn)題一般采用交叉熵代價(jià)函數(shù)。

(3)找出最好的函數(shù),如何從眾多函數(shù)中最快的找出最好的那一個(gè),這一步是最大的難點(diǎn),做到又快又準(zhǔn)往往不是一件容易的事情。常用的方法有梯度下降算法、最小二乘法等和其他一些技巧。

學(xué)習(xí)得到最好的函數(shù)后,需要在新樣本上進(jìn)行測(cè)試,只有在新樣本上表現(xiàn)得好,才算是一個(gè)好的函數(shù)。

2.4.3 機(jī)器學(xué)習(xí)的分類(lèi)

首先對(duì)于不同的學(xué)習(xí)目的和計(jì)算要求,機(jī)器學(xué)習(xí)在實(shí)際中按不同目的有著不同分類(lèi),其中包括基于學(xué)科的分類(lèi)、基于學(xué)習(xí)模式的分類(lèi)及基于應(yīng)用領(lǐng)域的分類(lèi)。

1.基于學(xué)科的分類(lèi)

一般而言,機(jī)器學(xué)習(xí)在實(shí)際使用過(guò)程中主要應(yīng)用和使用若干種學(xué)科的知識(shí)和內(nèi)容,吸收兼并不同的思想和理念,從而使得機(jī)器學(xué)習(xí)最終的正確率提高。算法不同,學(xué)習(xí)過(guò)程和方式也不盡相同。機(jī)器學(xué)習(xí)在實(shí)際中所使用的學(xué)科方法主要分成以下幾類(lèi):

·統(tǒng)計(jì)學(xué):基于統(tǒng)計(jì)學(xué)的學(xué)習(xí)方法是收集、分析、統(tǒng)計(jì)數(shù)據(jù)的有效工具,描述數(shù)據(jù)的集中和離散情況,模型化數(shù)據(jù)資料。

·人工智能:是一種積極的學(xué)習(xí)方法,利用已有的現(xiàn)成的數(shù)據(jù)對(duì)問(wèn)題進(jìn)行計(jì)算,從而提高機(jī)器本身計(jì)算和解決問(wèn)題的能力。

·信息論:信息的度量和熵的度量,對(duì)其中信息的設(shè)計(jì)和掌握。

·控制理論:理解對(duì)象相互之間的聯(lián)系與通信,關(guān)注總體上的性質(zhì)。

因此可以說(shuō),機(jī)器學(xué)習(xí)的過(guò)程就是不同的學(xué)科之間相互支撐、相互印證、共同作用的結(jié)果。機(jī)器學(xué)習(xí)的進(jìn)步又直接擴(kuò)展了相關(guān)學(xué)科中人工智能的研究,取得了豐碩的成果,并且使得機(jī)器學(xué)習(xí)在原有基礎(chǔ)上產(chǎn)生了更大層次的飛躍。

2.基于學(xué)習(xí)模式的分類(lèi)

學(xué)習(xí)模式是指機(jī)器學(xué)習(xí)在過(guò)程訓(xùn)練中所使用的策略模式。一個(gè)好的學(xué)習(xí)模式一般是由兩部分構(gòu)成的,即數(shù)據(jù)和模型。數(shù)據(jù)提供基本的信息內(nèi)容,而模型是機(jī)器學(xué)習(xí)的核心,使得通過(guò)機(jī)器學(xué)習(xí)能夠?qū)?shù)據(jù)中蘊(yùn)含的內(nèi)容以能夠被理解的形式保存下來(lái)。

一般來(lái)說(shuō),機(jī)器學(xué)習(xí)中學(xué)習(xí)模式是根據(jù)數(shù)據(jù)中所包含的信息復(fù)雜度來(lái)分類(lèi)的,基本可以分成以下幾類(lèi):

·歸納學(xué)習(xí):歸納學(xué)習(xí)是應(yīng)用范圍最廣的一種機(jī)器學(xué)習(xí)方法,通過(guò)大量的實(shí)例數(shù)據(jù)和結(jié)果分析,使得機(jī)器能夠歸納獲得該數(shù)據(jù)的一種一般性模型,從而對(duì)更多的未知數(shù)據(jù)進(jìn)行預(yù)測(cè)。

·解釋學(xué)習(xí):根據(jù)已有的數(shù)據(jù)對(duì)一般的模型進(jìn)行解釋?zhuān)瑥亩@得一個(gè)較為泛型的學(xué)習(xí)模型。

·反饋學(xué)習(xí):通過(guò)學(xué)習(xí)已有的數(shù)據(jù),根據(jù)不斷地獲取數(shù)據(jù)的反饋進(jìn)行模型的更新,從而直接獲取一個(gè)新的、可以對(duì)已有數(shù)據(jù)進(jìn)行歸納總結(jié)的機(jī)器學(xué)習(xí)方法。

因此可以看到,機(jī)器學(xué)習(xí)在學(xué)習(xí)模式上的分類(lèi),實(shí)際上就是學(xué)習(xí)模型的分類(lèi)。需要注意的是,在機(jī)器學(xué)習(xí)的運(yùn)行過(guò)程中,模型往往跟數(shù)據(jù)的復(fù)雜度成正比——數(shù)據(jù)的復(fù)雜度越大,模型的復(fù)雜度就越大,計(jì)算就越復(fù)雜。

不同的數(shù)據(jù)所要求的模型也是千差萬(wàn)別的,因此機(jī)器學(xué)習(xí)中學(xué)習(xí)模式的分類(lèi)實(shí)際上是基于不同的數(shù)據(jù)集而采用不同的應(yīng)對(duì)策略,基于應(yīng)對(duì)策略的不同而選擇不同的模型,從而獲得更好的分析結(jié)果。

3.基于應(yīng)用領(lǐng)域的分類(lèi)

機(jī)器學(xué)習(xí)的最終目的是解決現(xiàn)實(shí)中的各種問(wèn)題。通過(guò)機(jī)器學(xué)習(xí)的不同應(yīng)用領(lǐng)域,可以將其分成以下幾類(lèi):

·專(zhuān)家系統(tǒng):通過(guò)數(shù)據(jù)的學(xué)習(xí),獲得擁有某個(gè)方面大量的經(jīng)驗(yàn)和認(rèn)識(shí)的能力,從而使之能夠利用相關(guān)的知識(shí)來(lái)解決和處理問(wèn)題。

·數(shù)據(jù)挖掘:通過(guò)對(duì)既有知識(shí)和數(shù)據(jù)的學(xué)習(xí),從而能夠挖掘出隱藏在數(shù)據(jù)之中的行為模式和類(lèi)型,從而獲得對(duì)某一個(gè)特定類(lèi)型的認(rèn)識(shí)。

·圖像識(shí)別:通過(guò)學(xué)習(xí)已有的數(shù)據(jù),從而獲得對(duì)不同的圖像或同一類(lèi)型圖像中特定目標(biāo)的識(shí)別和認(rèn)識(shí)。

·人工智能:通過(guò)對(duì)已有模式的認(rèn)識(shí)和學(xué)習(xí),使得機(jī)器學(xué)習(xí)能夠用于研究開(kāi)發(fā)、模擬和擴(kuò)展人的多重智能的方法、理論和技術(shù)。

·自然語(yǔ)言處理:實(shí)現(xiàn)人與對(duì)象之間通過(guò)某種易于辨識(shí)的語(yǔ)言進(jìn)行有效通信的一種理論和方法。

除此之外,基于機(jī)器學(xué)習(xí)的應(yīng)用領(lǐng)域還包括對(duì)問(wèn)題的規(guī)劃和求解、故障診斷分析、經(jīng)驗(yàn)推理、計(jì)算機(jī)視覺(jué)等,機(jī)器學(xué)習(xí)的主要分類(lèi)如圖2-14所示。

圖2-14 機(jī)器學(xué)習(xí)的主要分類(lèi)

因此可以說(shuō),對(duì)于機(jī)器學(xué)習(xí)的各種分類(lèi),絕大部分都可以分成兩類(lèi),即問(wèn)題的模型建立和基于模型的問(wèn)題求解。

問(wèn)題的模型建立是指通過(guò)對(duì)數(shù)據(jù)和模式的輸入,做出描述性分析,從而確定輸入內(nèi)容的形式;基于模型的問(wèn)題求解是指對(duì)輸入的數(shù)據(jù)在分析后找出相關(guān)的規(guī)律,并利用此規(guī)律獲取提高解決問(wèn)題的能力。

2.4.4 機(jī)器學(xué)習(xí)的基本算法

在前面已經(jīng)提到,機(jī)器學(xué)習(xí)還是一門(mén)涉及多個(gè)領(lǐng)域的交叉學(xué)科,也是多個(gè)領(lǐng)域的新興學(xué)科,因此,它在實(shí)踐中會(huì)用到不同學(xué)科中經(jīng)典的研究方法,即算法。

1.機(jī)器學(xué)習(xí)的算法流程

對(duì)于機(jī)器學(xué)習(xí)來(lái)說(shuō),一個(gè)機(jī)器學(xué)習(xí)的過(guò)程是一個(gè)完整的項(xiàng)目周期,其中包括采集數(shù)據(jù)、數(shù)據(jù)的特征提取與分類(lèi),以及之后采用算法去創(chuàng)建機(jī)器學(xué)習(xí)模型,從而獲得預(yù)測(cè)數(shù)據(jù)。機(jī)器學(xué)習(xí)的算法流程如圖2-15所示。

圖2-15 機(jī)器學(xué)習(xí)的算法流程

在一個(gè)機(jī)器學(xué)習(xí)的完整算法流程中,整個(gè)機(jī)器學(xué)習(xí)程序會(huì)使用數(shù)據(jù)去創(chuàng)建一個(gè)能夠?qū)?shù)據(jù)進(jìn)行有效處理的學(xué)習(xí)“模型”。這個(gè)模型可以動(dòng)態(tài)地對(duì)本身進(jìn)行調(diào)整和反饋,從而較好地對(duì)未知數(shù)據(jù)進(jìn)行分類(lèi)和處理。

一個(gè)完整的機(jī)器學(xué)習(xí)項(xiàng)目主要包含以下內(nèi)容。

·輸入數(shù)據(jù):通過(guò)自然采集的數(shù)據(jù)集,包含被標(biāo)識(shí)和未被標(biāo)識(shí)的部分,作為機(jī)器學(xué)習(xí)最基礎(chǔ)部分。

·特征提?。和ㄟ^(guò)多種方式對(duì)數(shù)據(jù)的特征值進(jìn)行提取,一般而言,包含特征越多的數(shù)據(jù),機(jī)器學(xué)習(xí)設(shè)計(jì)出的模型就越精確,處理難度也越大。因此恰當(dāng)?shù)貙ふ乙粋€(gè)特征大小的平衡點(diǎn)是非常重要的。

·模型設(shè)計(jì):模型設(shè)計(jì)是機(jī)器學(xué)習(xí)中最重要的部分,根據(jù)現(xiàn)有的條件,選擇不同的分類(lèi),采用不同的指標(biāo)和技術(shù)。模型的訓(xùn)練更多的是領(lǐng)先數(shù)據(jù)的收集和特征的提取,這點(diǎn)需要以上各部分的支持。

·預(yù)測(cè)數(shù)據(jù):通過(guò)對(duì)已訓(xùn)練模式的認(rèn)識(shí)和使用,使得學(xué)習(xí)機(jī)器能夠用于研究開(kāi)發(fā)、模擬和擴(kuò)展人的多重智能的方法、理解和技術(shù)。

整個(gè)機(jī)器學(xué)習(xí)的流程是一個(gè)完整的項(xiàng)目生命周期,每一步都是以上一步為基礎(chǔ)進(jìn)行的。

2.基本算法的分類(lèi)

根據(jù)輸入的不同數(shù)據(jù)對(duì)數(shù)據(jù)的處理要求,機(jī)器學(xué)習(xí)會(huì)選擇不同種類(lèi)的算法對(duì)模型進(jìn)行訓(xùn)練。算法訓(xùn)練的選擇沒(méi)有特定的模式,一般而言,只要考慮輸入的數(shù)據(jù)形式和復(fù)雜度,以及使用者模型的使用經(jīng)驗(yàn),之后據(jù)此進(jìn)行算法訓(xùn)練,從而獲得更好的學(xué)習(xí)結(jié)果。

根據(jù)基本算法的訓(xùn)練模型,可將算法分成以下幾類(lèi),如圖2-16所示。

圖2-16 機(jī)器學(xué)習(xí)的算法分類(lèi)

·監(jiān)督學(xué)習(xí):在監(jiān)督學(xué)習(xí)下,輸入數(shù)據(jù)被稱(chēng)為“訓(xùn)練數(shù)據(jù)”,每組訓(xùn)練數(shù)據(jù)有一個(gè)明確的標(biāo)識(shí)或結(jié)果,如對(duì)垃圾郵件系統(tǒng)中“垃圾郵件”“非垃圾郵件”,對(duì)手寫(xiě)數(shù)字識(shí)別中的“1”“2”“3”“4”等。在建立預(yù)測(cè)模型的時(shí)候,監(jiān)督學(xué)習(xí)建立一個(gè)學(xué)習(xí)過(guò)程,將預(yù)測(cè)結(jié)果與“訓(xùn)練數(shù)據(jù)”的實(shí)際結(jié)果進(jìn)行比較,不斷調(diào)整預(yù)測(cè)模型,直到模型的預(yù)測(cè)結(jié)果達(dá)到一個(gè)預(yù)期的準(zhǔn)確率。監(jiān)督學(xué)習(xí)的常見(jiàn)應(yīng)用場(chǎng)景如分類(lèi)問(wèn)題和回歸問(wèn)題。常見(jiàn)算法有邏輯回歸(Logistic Regression)和反向傳遞神經(jīng)網(wǎng)絡(luò)(Back Propagation Neural Network)。

·非監(jiān)督學(xué)習(xí):在非監(jiān)督學(xué)習(xí)下,數(shù)據(jù)并不被特別標(biāo)識(shí),學(xué)習(xí)模型是為了推斷出數(shù)據(jù)的一些內(nèi)在結(jié)構(gòu)。常見(jiàn)的應(yīng)用場(chǎng)景包括關(guān)聯(lián)規(guī)則的學(xué)習(xí)及聚類(lèi)等。常見(jiàn)算法包括Apriori算法及K-Means算法。

·半監(jiān)督學(xué)習(xí):在半監(jiān)督學(xué)習(xí)下,輸入數(shù)據(jù)部分被標(biāo)識(shí),部分沒(méi)有被標(biāo)識(shí),這種學(xué)習(xí)模型可以用來(lái)進(jìn)行預(yù)測(cè),但是模型需要學(xué)習(xí)數(shù)據(jù)的內(nèi)在結(jié)構(gòu)以便合理地組織數(shù)據(jù)來(lái)進(jìn)行預(yù)測(cè)。應(yīng)用場(chǎng)景包括分類(lèi)和回歸,算法包括一些對(duì)常用監(jiān)督式學(xué)習(xí)算法的延伸,這些算法首先試圖對(duì)未標(biāo)識(shí)數(shù)據(jù)進(jìn)行建模,在此基礎(chǔ)上再對(duì)標(biāo)識(shí)的數(shù)據(jù)進(jìn)行預(yù)測(cè),如圖論算法(Graph Inference)或者拉普拉斯支持向量機(jī)(Laplacian SVM)等。

在企業(yè)數(shù)據(jù)應(yīng)用的場(chǎng)景下,人們最常用的可能就是監(jiān)督學(xué)習(xí)和非監(jiān)督學(xué)習(xí)的模型。在圖像識(shí)別等領(lǐng)域,由于存在大量的非標(biāo)識(shí)的數(shù)據(jù)和少量的可標(biāo)識(shí)數(shù)據(jù),目前半監(jiān)督學(xué)習(xí)是一個(gè)很熱門(mén)的話(huà)題。而強(qiáng)化學(xué)習(xí)更多的應(yīng)用在機(jī)器人控制及其他需要進(jìn)行系統(tǒng)控制的領(lǐng)域。

·強(qiáng)化學(xué)習(xí):在強(qiáng)化學(xué)習(xí)下,輸入數(shù)據(jù)作為對(duì)模型的反饋,不像監(jiān)督學(xué)習(xí)模型那樣,輸入數(shù)據(jù)僅僅作為一個(gè)檢查模型對(duì)錯(cuò)的方式。強(qiáng)化學(xué)習(xí)模型的輸入數(shù)據(jù)直接反饋到模型,模型必須對(duì)此立刻做出調(diào)整。常見(jiàn)的應(yīng)用場(chǎng)景包括動(dòng)態(tài)系統(tǒng)及機(jī)器人控制等。常見(jiàn)算法包括Q-Learning及時(shí)間差學(xué)習(xí)(Temporal difference learning)。

主站蜘蛛池模板: 图们市| 互助| 那坡县| 开江县| 鄄城县| 阜新市| 镇康县| 天等县| 万载县| 同江市| 新野县| 睢宁县| 调兵山市| 应用必备| 山西省| 广宁县| 徐水县| 合阳县| 盐津县| 尉犁县| 梁河县| 科尔| 宁远县| 尖扎县| 霍城县| 沭阳县| 淮北市| 德兴市| 菏泽市| 汤阴县| 随州市| 柳江县| 临桂县| 枣阳市| 安远县| 辽中县| 石棉县| 嘉祥县| 平乐县| 铅山县| 沙田区|