10從感知器到人工神經(jīng)網(wǎng)絡(luò)_第1頁
10從感知器到人工神經(jīng)網(wǎng)絡(luò)_第2頁
10從感知器到人工神經(jīng)網(wǎng)絡(luò)_第3頁
10從感知器到人工神經(jīng)網(wǎng)絡(luò)_第4頁
10從感知器到人工神經(jīng)網(wǎng)絡(luò)_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

工神經(jīng)網(wǎng)絡(luò)(artificialneuralnetworks,ANN),一種用于強大的非線性回歸和分類模型,用新的策如果把感知器比喻成一個神經(jīng)元,那么人工神經(jīng)網(wǎng)絡(luò),即神經(jīng)網(wǎng),就是一個大腦。人腦就是由十幾億的神經(jīng)元和上千億的突觸組成,人工神經(jīng)網(wǎng)絡(luò)是一種感知器或其他人工神經(jīng)的有向圖。這個圖的邊帶有權(quán)重,這些權(quán)重是模型需要學(xué)習(xí)的參數(shù)。有許多著作整本書描述人工神經(jīng)網(wǎng)絡(luò);本章主要是對它的結(jié)構(gòu)和訓(xùn)練方法進(jìn)行介紹。目前scikit-learn的版本是0.16.1,在2014年GoogleSummer的項目中,多層感知器已經(jīng)被作者實現(xiàn),并提交在scikit-在第8章,感知器里,我們介紹過布爾函數(shù)如AND(與),R(或)和NAND(與非)近似,而XOR(異或)作為線性不可分函數(shù)不能被近似,如下圖所示:讓我們深入研究XOR來感受一下人工神經(jīng)網(wǎng)絡(luò)的強大。AND是兩個輸入均為1結(jié)果才為1,OR是兩個輸入至少有1個1結(jié)果即為1。XOR與它們不同,XOR是當(dāng)兩個輸入中有且僅有1個1結(jié)果才為1。我們把XOR輸出為1的兩個輸入看出是兩個條件均為真。第一個條件是至少有1個輸入為1,這與OR同。第二個條件是兩個輸入不都為1,這與NAND的條件相同。我們可以通過處理R和NAND的輸入,生成同樣輸出的XOR,然后用AND驗證兩個函數(shù)的輸出是否均為1。也就是說,R,NAND和AND可以組合生成同樣結(jié)果的XOR。ABAANDANANDAORAXOR000100010111100111111010ABAORANAND(AORB)AND(ANAND00010011111011111100我們不使用單個感知器來表示XOR近似一個線性函數(shù)。每個樣本的特征表述都被輸入到兩個神經(jīng)元:一個NAND神經(jīng)元和一個R神經(jīng)元。這些神經(jīng)元的輸出將連接到第三個AND神經(jīng)元上,測試XOR的條件是否為真。人工神經(jīng)網(wǎng)絡(luò)主要分為兩種類型。前饋人工神經(jīng)網(wǎng)絡(luò)(Feedforwardeuralntworks)是最常用的神經(jīng)網(wǎng)絡(luò)類型,一般定義為有向無環(huán)圖。信號只能沿著最終輸入的那個方向傳播。另一種類型是反饋人工神經(jīng)網(wǎng)絡(luò)(feedbackeuralntworks),也稱遞歸神經(jīng)網(wǎng)絡(luò)(ecurrenteuralntworks),網(wǎng)絡(luò)圖中有環(huán)。反饋環(huán)表示網(wǎng)絡(luò)的一種內(nèi)部狀態(tài),隨著不同時間內(nèi)輸入條件的改變,網(wǎng)絡(luò)的行為也會發(fā)生變化。反饋人工神經(jīng)網(wǎng)絡(luò)的臨時狀態(tài)讓它們適合處理涉及連續(xù)輸入的問題。因為目前citen沒有實現(xiàn)反饋人工神經(jīng)網(wǎng)絡(luò),本文只介紹前饋人工神經(jīng)網(wǎng)絡(luò)。多層感知器(multilayerperceptron,MLP)是最流行的人工神經(jīng)網(wǎng)絡(luò)之一。它的名稱不太恰當(dāng),多輸入層(nptlayer)由簡單的輸入人工神經(jīng)元構(gòu)成。每個輸入神經(jīng)元至少連接一個隱藏層(iddenlayer)的人工神經(jīng)元。隱藏層表示潛在的變量;層的輸入和輸出都不會出現(xiàn)在訓(xùn)練集中。隱藏層后面連接的是輸出層(otutlayer)。下圖所示的三層架構(gòu)的多層感知器。帶有+1標(biāo)簽的是常誤差項神經(jīng)tangentfunction)和邏輯函數(shù)(logisticfunction),公式如下所示:f(x)=tanh(x)f(x)= 1+和其他的監(jiān)督模型一樣,我們的目標(biāo)是找到成本函數(shù)最小化的權(quán)重值。通常,MLP平方和的均值,計算公式如下所示,其中的m表示訓(xùn)練樣本的數(shù)量:mMSEm

法。這個算法名稱是反向(back)和傳播(propagtin)的合成詞,是指誤差在網(wǎng)絡(luò)層的流向。理論上,反向傳播可以用于訓(xùn)練具有任意層、任意數(shù)量隱藏單元的前饋人工神經(jīng)網(wǎng)絡(luò),但是計算能力的實際限制會約束反向傳播的能力。反向傳播與梯度下降法類似,根據(jù)成本函數(shù)的梯度變化不斷更新模型參數(shù)。與我們前面介紹過的線性模型不同,神經(jīng)網(wǎng)絡(luò)包含不可見的隱藏單元;我們不能從訓(xùn)練集中找到它們。如果我們找不到這些隱藏單元,我們也就不能計算它們的誤差,不能計算成本函數(shù)的梯度,進(jìn)而無法求出權(quán)重值。如果一個隨機變化是某個權(quán)重降低了成本函數(shù)值,那么我們保留這個變化,就可能同時改變另一個權(quán)重的值。這種做法有個明顯的問題,就是其計算成本過高。而反向傳播算法提供了一種有效的解決方法。(ctivin)。首先,我們計算ie1單元的激勵。我們找到id1激勵函數(shù)處理輸入的加權(quán)和。注意Hidden1單元會收到一個常誤差項輸入單元,并沒有在下圖中畫第一個隱藏層三個隱藏單元的激勵計算完之后,我們再處理第二個隱藏層。本例中,第一個隱藏層第一個隱藏層到第二個隱藏層。與第一個隱藏層三個隱藏單元計算過程類似,都有一個常誤差項輸入單按照同樣方法計算dd5和Hd6的激勵。當(dāng)?shù)诙€隱藏層三個隱藏單元的激勵計算完成后,我們計算輸出層。up1的激勵是第二個隱藏層三個隱藏單元的激勵的加權(quán)和經(jīng)過激勵函數(shù)處理的結(jié)果。類似與隱藏單元,有一個常誤差項的輸入單元,如下圖所示:我們把輸出單元計算的誤差作為網(wǎng)絡(luò)誤差。隱藏單元表示不可見的變量;沒有數(shù)據(jù)可以進(jìn)行對照,因此我們無法度量隱藏單元。為了更新權(quán)重,我們必須把網(wǎng)絡(luò)的誤差反向傳回。于是,我們先從Output1輸出單元開始。其誤差等于真實值與預(yù)測值的差,乘以激勵函數(shù)對up1輸出單元的偏導(dǎo)數(shù):算完輸出層的誤差之后,我們把誤差傳回第二個隱藏層。首先,我們計算Hidden4Output1的誤差乘以連接Hidden4與Output1的權(quán)重,再Output2的誤差乘以連接按同樣的方法處理權(quán)重Weight2,我們把學(xué)習(xí)速率,id1的誤差以及pt2的值的乘積增加到Weight2。最后,我們計算常誤差項輸入的權(quán)重,把學(xué)習(xí)速率,ie1的誤差以及常誤差項的值1的乘積增加到常誤差項輸入的權(quán)重,如下圖所示:輸入層與第一隱藏層之間邊的權(quán)重全部更新之后,我們可以用同樣的方法計算第一隱藏層與第二隱藏層直接邊的權(quán)重。我們計算權(quán)重eh7,把學(xué)習(xí)速率,Hidden4的誤差以及ie1的值的乘積增加到eg7。同樣的方法計算Weight8與Weight15:把學(xué)習(xí)速率,Output2的誤差以及Hidden6的激勵的乘積增加到eg21之后,這個階段網(wǎng)絡(luò)權(quán)重的更新工作就完成了。我們現(xiàn)在可以用心的權(quán)重再運行一遍前向傳播,成本函數(shù)的值應(yīng)該會減少。重復(fù)這個過程直到模型收斂或者停止條件得到了滿足為止。與之前我們介紹過的線性模型不同,反向傳播不能優(yōu)化凸函數(shù)。反向傳播可能用某個局部最小值的參數(shù)值達(dá)到收斂,而不是全局最小值。實際應(yīng)用中,局部最小值通常可以解決問題。github上提供了單獨的MLP模塊NeuralNetworks init.py文件做如下修改即可:#initfrom.rbmimportfrom.multilayer_perceptronimportMultilfrom.multilayer_perceptronimportMultilall=

另外,在Linux和MacOS系統(tǒng)里,復(fù)制.py文件的權(quán)限記得改成chmod644Infromsklearn.cross_validationfromsklearn.cross_validationimportfromsklearn.neural_networkimportimportnumpyasy=[0,1,1,0]*X=np.array([[0,0],[0,1],[1,0],[1,1]]*X_train,X_test,y_train,y_test=train_test_split(X,y,然后,我們將Mtarrpolsir類實例化。用_dn設(shè)置神經(jīng)網(wǎng)絡(luò)架構(gòu)中隱藏層的層數(shù)。我們將隱藏層的層數(shù)設(shè)置為兩層。liyPctnaier類自動創(chuàng)建兩個輸入單元和一個輸出單元。在多元分類問題中分類器會為每一個可能的類型創(chuàng)建一個輸出。選擇神經(jīng)網(wǎng)絡(luò)架構(gòu)是很復(fù)雜的事情。確定隱藏單元和隱藏層的數(shù)量有一些首要原則,但是都沒有必然的依據(jù)。隱藏單元的數(shù)量由樣本數(shù)量,訓(xùn)練數(shù)據(jù)的噪聲,要被近似的函數(shù)復(fù)雜性,隱藏單元的激勵函數(shù),學(xué)習(xí)算法和使用的正則化方法決定。實際上,架構(gòu)的效果只能通過交叉檢驗得出。Inclfclf=clf.fit(X_train,MultilayerPerceptronClassifier(activation='logistic',

alpha=1e-05,batch_size=200,hidden_layer_sizeslearning_rate='constant',learning_rate_init=0.max_iter=200,power_t=0.5,random_state=3,shuftol=1e-05,verbose=False,warm_start=False)Inprintprint('層數(shù):%s,輸出單元數(shù)量:%s(clf.n_layers_,clf.n_outputs_))predictions=clf.predict(X_test)print('準(zhǔn)確率:%s'%clf.score(X_test,fori,pinprint('真實值:%s,預(yù)測值:%s(y_test[i],在上一章我們介紹過用支持向量機識別MNIST數(shù)據(jù)集里面的手寫數(shù)字。下面我們用人工神經(jīng)網(wǎng)絡(luò)來識別:Infromfromsklearn.datasetsimportfromsklearn.cross_validationimporttrain_test_split,fromsklearn.pipelineimportfromsklearn.preprocessingimportfromsklearn.neural_network.multilayer_perceptronimportMultilayerPercepInififname=='main':digits=load_digits()X=digits.datay=digits.target用llarrpolsir訓(xùn)練模型前,我們用ple絡(luò)包括一個輸入層和一個輸出層,兩個隱藏層,其中一個有150個單元,另一個有100個單元。我們還增加了正則化alpha超參數(shù)的值。最后,我們打印三個交叉驗證組合的預(yù)測準(zhǔn)確率。Inpipelinepipeline=('ss',('mlp',izes=[150,100],print('準(zhǔn)確率:%s'%cross_val_score(pipeline,X,y,n_jobs=-準(zhǔn)確率:[ 0.87646077本章我們介紹了人工神經(jīng)網(wǎng)絡(luò),一種通過人工神經(jīng)元的組合來表述復(fù)雜函數(shù)的強大的分類和回歸模型。完全連接后面一層。帶一個隱藏層和若干隱藏單元的MLP是一種通用函數(shù)近似器。它可以表示任何連續(xù)函數(shù),盡管它未必能夠自動的學(xué)習(xí)到適當(dāng)?shù)臋?quán)重。我們還介紹了網(wǎng)絡(luò)的隱藏層如何表示不可見的變量,以及如何用反向傳播算法學(xué)習(xí)權(quán)重。最后,我們用scitean的多次感知這是本書的最后一章。我們介紹許多模型,學(xué)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論