機器學習-神經(jīng)網(wǎng)絡(luò)與支持向量機部分6_第1頁
機器學習-神經(jīng)網(wǎng)絡(luò)與支持向量機部分6_第2頁
機器學習-神經(jīng)網(wǎng)絡(luò)與支持向量機部分6_第3頁
機器學習-神經(jīng)網(wǎng)絡(luò)與支持向量機部分6_第4頁
機器學習-神經(jīng)網(wǎng)絡(luò)與支持向量機部分6_第5頁
已閱讀5頁,還剩156頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

機器學習For2013級計算機應(yīng)用技術(shù)研究生主講李鶴喜機器學習——人工神經(jīng)網(wǎng)絡(luò)1、概述人工神經(jīng)網(wǎng)絡(luò)(ArtificialNeuralNetworks,簡寫為ANNs)也簡稱為神經(jīng)網(wǎng)絡(luò)(NNs)或稱作連接模型(ConnectionistModel),是對人腦或自然神經(jīng)網(wǎng)絡(luò)(NaturalNeuralNetwork)若干基本特性的抽象和模擬。人工神經(jīng)網(wǎng)絡(luò)以對大腦的生理研究成果為基礎(chǔ)的,其目的在于模擬大腦的某些機理與機制,實現(xiàn)某個方面的功能。國際著名的神經(jīng)網(wǎng)絡(luò)研究專家,第一家神經(jīng)計算機公司的創(chuàng)立者與領(lǐng)導人HechtNielsen給人工神經(jīng)網(wǎng)絡(luò)下的定義就是:“人工神經(jīng)網(wǎng)絡(luò)是由人工建立的以有向圖為拓撲結(jié)構(gòu)的動態(tài)系統(tǒng),它通過對連續(xù)或斷續(xù)的輸入作狀態(tài)相應(yīng)而進行信息處理?!?、人工神經(jīng)網(wǎng)絡(luò)的提出人工神經(jīng)網(wǎng)絡(luò)是對人類大腦系統(tǒng)的一階特性的一種描述。簡單地講,它是一個數(shù)學模型,可以用電子線路來實現(xiàn),也可以用計算機程序來模擬,是人工智能研究的一種方法。3、人工神經(jīng)網(wǎng)絡(luò)的特點人工神經(jīng)網(wǎng)絡(luò)的以下幾個突出的優(yōu)點使它近年來引起人們的極大關(guān)注:

(1)可以充分逼近任意復雜的非線性關(guān)系;

(2)所有定量或定性的信息都等勢分布貯存于網(wǎng)絡(luò)內(nèi)的各神經(jīng)元,故有很強的魯棒性和容錯性;

(3)采用并行分布處理方法,使得快速進行大量運算成為可能;

(4)可學習和自適應(yīng)不知道或不確定的系統(tǒng);

(5)能夠同時處理定量(函數(shù)逼近)、定性(分類判別)知識。4、生物神經(jīng)元模型1、生物神經(jīng)網(wǎng)絡(luò)由樹突軸突突觸其他神經(jīng)元構(gòu)成軸突——細胞體突起的最長的外伸管狀纖維稱為軸突。軸突最長可達1米以上。軸突是把神經(jīng)元興奮的信息傳出到其它神經(jīng)元的出口。

樹突——細胞體的伸延部分產(chǎn)生的分枝稱為樹突,樹突是接受從其它神經(jīng)元傳入的信息的入口。突觸——是一個神經(jīng)元與另一個神經(jīng)元之間相聯(lián)系并進行信息傳送的結(jié)構(gòu)3、生物神經(jīng)元模型神經(jīng)元的六個基本特征:1)神經(jīng)元相互聯(lián)接,呈網(wǎng)狀結(jié)構(gòu);2)神經(jīng)元之間的聯(lián)接強度決定信號傳遞的強弱;3)神經(jīng)元之間的聯(lián)接強度是可以隨訓練改變的;4)信號可以是起刺激作用的,也可以是起抑制作用的;5)一個神經(jīng)元接受的信號的累積效果決定該神經(jīng)元的狀態(tài);6)每個神經(jīng)元可以有一個“閾值”。4、神經(jīng)元的MP模型MP-模型如圖所示,神經(jīng)元由輸入量x1,x2,…,

xn,對應(yīng)每個輸入量的權(quán)值wi、門限和輸出y組成,f為傳遞函數(shù)x1x2xnfy…w1w2wnf(v)v4、一般神經(jīng)元模型一組連接(對應(yīng)于生物神經(jīng)元的突觸),連接強度由各連接上的權(quán)值表示,權(quán)值為正表示激活,為負表示抑制。一個求和單元,用于求取各輸入信號的加權(quán)和(線性組合).一個非線性激活函數(shù)(作用函數(shù)),起非線性映射作用并將神經(jīng)元拘出幅度限制在一定范圍內(nèi).此外還有一個閾值4、一般神經(jīng)元模型4、一般神經(jīng)元模型兩種閾值,一種為負起抑制作用,一種為偏置激活函數(shù)的作用1、控制輸入對輸出的激活作用;2、對輸入、輸出進行函數(shù)轉(zhuǎn)換;3、將可能無限域的輸入變換成指定的有限范圍內(nèi)的輸出。幾種常見的激活函數(shù)

1、閾值函數(shù).

M-P模型2,分段線性函數(shù)它類似于一個放大系數(shù)為1的非線性放大器,當工作于線性區(qū)時它是一個線性組合器,放大系數(shù)趨于無窮大時變成一個閾值單元。幾種常見的激活函數(shù)3。Sigmoid函數(shù)雙曲正切函數(shù)這類具有平滑和漸近性,并保持單調(diào)性.幾種常見的激活函數(shù)神經(jīng)網(wǎng)絡(luò)的基本模型4、神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)模型1、前向神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)(feed-forwardNetworks)所謂前向網(wǎng)絡(luò),是各神經(jīng)元接收前一層的輸入,并輸出給下一層,沒有反饋。節(jié)點分為兩類,即輸入節(jié)點和計算節(jié)點,每一個計算節(jié)點可有多個輸入,但只有一個輸出,通常前饋型網(wǎng)絡(luò)可分為不同的層,第i層的輸入只與第i-1層的輸出相連,輸入與輸出節(jié)點與外界相連,而其他中間層則稱為隱層。4、神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)模型2、反饋神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)(feedbackneuralnetwork)反饋神經(jīng)網(wǎng)絡(luò)是一種反饋動力學系統(tǒng)。在這種網(wǎng)絡(luò)中,每個神經(jīng)元同時將自身的輸出信號作為輸入信號反饋給其他神經(jīng)元,它需要工作一段時間才能達到穩(wěn)定。Hopfield神經(jīng)網(wǎng)絡(luò)是反饋網(wǎng)絡(luò)中最簡單且應(yīng)用廣泛的模型,它具有聯(lián)想記憶的功能,如果將李雅普諾夫函數(shù)定義為尋優(yōu)函數(shù),Hopfield神經(jīng)網(wǎng)絡(luò)還可以用來解決快速尋優(yōu)問題。4、神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)模型3、隨機型神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)(RandomNeuralNetworks)前向型和反饋型的網(wǎng)絡(luò)是確定性的網(wǎng)絡(luò),即給定輸入則輸出是確定的,但實際上按照神經(jīng)生理學的觀點,生物神經(jīng)元本質(zhì)上是隨機的.因為神經(jīng)網(wǎng)絡(luò)重復地接受相同的刺激,其響應(yīng)并不相同,這意味著隨機性在生物神經(jīng)網(wǎng)絡(luò)中起著重要的作用.隨機神經(jīng)網(wǎng)絡(luò)正是仿照生物神經(jīng)網(wǎng)絡(luò)的這種機理進行設(shè)計的.隨機神經(jīng)網(wǎng)絡(luò)一般有兩種:一種是采用隨機性神經(jīng)元激活函數(shù);另一種是采用隨機型加權(quán)連接,即是在普通人工神經(jīng)網(wǎng)絡(luò)中加入適當?shù)碾S機噪聲。4、神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)模型3、自組織神經(jīng)網(wǎng)絡(luò)(SelfOrganizing

neural

Networks)自組織神經(jīng)網(wǎng)絡(luò)是一種無導師學習方式,更類似于人類大腦中生物神經(jīng)網(wǎng)絡(luò)的學習,其最重要特點是通過自動尋找樣本中的內(nèi)在規(guī)律和本質(zhì)屬性,自組織自適應(yīng)地改變網(wǎng)絡(luò)參數(shù)與結(jié)構(gòu)。這種學習方式大大拓寬神經(jīng)網(wǎng)絡(luò)在模式識別與分類方面的應(yīng)用。輸入模式輸出模式競爭層人工神經(jīng)網(wǎng)絡(luò)的學習

ANN研究中的核心問題:Howtodeterminetheweights(權(quán)值)人工神經(jīng)網(wǎng)絡(luò)最具有吸引力的特點是它的學習能力。1962年,Rosenblatt給出了人工神經(jīng)網(wǎng)絡(luò)著名的學習定理:人工神經(jīng)網(wǎng)絡(luò)可以學會它可以表達的任何東西。人工神經(jīng)網(wǎng)絡(luò)的表達能力大大地限制了它的學習能力。人工神經(jīng)網(wǎng)絡(luò)的學習過程就是對它的訓練過程

有導師學習(SupervisedLearning)與有導師訓練(SupervisedTraining)相對應(yīng)。輸入向量與其對應(yīng)的輸出向量構(gòu)成一個“訓練對”。有導師學習的訓練算法的主要步驟包括:

1)

從樣本集合中取一個樣本(Ai,Di);

2)

計算出網(wǎng)絡(luò)的實際輸出O;

3)

求E=Di-O;

4)

根據(jù)E調(diào)整權(quán)矩陣W;

5)對每個樣本重復上述過程,直到對整個樣本集來說,誤差不超過規(guī)定范圍。監(jiān)督學習(有教師學習)監(jiān)督學習(有教師學習)無導師學習(UnsupervisedLearning)與無導師訓練(UnsupervisedTraining)相對應(yīng)抽取樣本集合中蘊含的統(tǒng)計特性,并以神經(jīng)元之間的聯(lián)接權(quán)的形式存于網(wǎng)絡(luò)中。非監(jiān)督學習(無導師學習)強化學習(reinforcementlearning再勵學習)這種學習介于上述兩種情況之間,外部環(huán)境對系統(tǒng)構(gòu)出結(jié)果只給出評價(獎或懲)而不是給出正確答案,學習系統(tǒng)通過強化那些受獎勵的動作來改善自身性能神經(jīng)網(wǎng)絡(luò)的學習規(guī)則1)直接設(shè)計計算例如

Hopfield作優(yōu)化計算2)學習得到,即通過訓練(training)神經(jīng)網(wǎng)絡(luò)學習規(guī)則a)誤差糾正學習令為輸入時神經(jīng)元在n時刻的實際輸出,表示相應(yīng)的應(yīng)有的輸出(由訓練樣本給出)誤差:訓練指標:權(quán)值調(diào)整:b)Hebb學習

神經(jīng)心理學家Hebb提出的學習規(guī)則可歸結(jié)為”當某一突觸(連接)兩端的神經(jīng)元的激活同步(同為激括或同為抑制)時,該連接的強度應(yīng)增強,反之則應(yīng)減弱”。

Heb規(guī)則:權(quán)值調(diào)整函數(shù):神經(jīng)網(wǎng)絡(luò)的學習規(guī)則c)競爭學習顧名思義,在竟爭學習時網(wǎng)絡(luò)各輸出單元互相竟爭,最后達到只有一個最強者激活。最常見的一種情況是輸出神經(jīng)元之間有側(cè)向抑制性連接,這樣眾多輸出單元中如有某一單元較強,則它將獲勝并抑制其他單元,最后只有比較強者處于激活狀態(tài)。神經(jīng)網(wǎng)絡(luò)的學習規(guī)則BP反向傳播神經(jīng)網(wǎng)絡(luò)

BP(BackPropagation)網(wǎng)絡(luò)是1986年由Rumelhart

和McCelland為首的科學家小組提出,是一種按誤差逆?zhèn)鞑ニ惴ㄓ柧毜亩鄬忧梆伨W(wǎng)絡(luò),是目前應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)模型之一。BP網(wǎng)絡(luò)能學習和存貯大量的輸入-輸出模式映射關(guān)系,而無需事前揭示描述這種映射關(guān)系的數(shù)學方程。它的學習規(guī)則是使用誤差最速下降法,通過誤差反向傳播來不斷調(diào)整網(wǎng)絡(luò)的權(quán)值和閾值,使網(wǎng)絡(luò)的誤差平方和最小。BP神經(jīng)網(wǎng)絡(luò)模型拓撲結(jié)構(gòu)包括輸入層(input)、隱層(hidelayer)和輸出層(outputlayer)。BP反向傳播神經(jīng)網(wǎng)絡(luò)

Rumelhart,McClelland于1985年提出了BP網(wǎng)絡(luò)的誤差反向后傳BP(BackPropagation)學習算法BP算法基本原理利用輸出后的誤差來估計輸出層的直接前導層的誤差,再用這個誤差估計更前一層的誤差,如此一層一層的反傳下去,就獲得了所有其他各層的誤差估計。J.McClellandDavidRumelhart

BP神經(jīng)網(wǎng)絡(luò)模型多層BP神經(jīng)網(wǎng)絡(luò)(這里是4層)BP神經(jīng)網(wǎng)絡(luò)算法的推導在第n次迭代中輸出端的第j個單元的輸出為,則該單元的誤差信號為定義單元j的平方誤差為,則輸出端總的平方誤差的值為:其中c包括所有輸出單元,設(shè)訓練集中樣本總數(shù)為N,則平方誤差的均值為采用誤差下降法,就是根據(jù)誤差E(n)變化情況調(diào)整權(quán)值w,另一個角度說就是,權(quán)值w變化對誤差E信號有何影響。即要求取,如果為正,表示隨著w增加E增加,顯然應(yīng)該減少w,如果為負,表示隨著w增加E減少,當然應(yīng)該增加w,即按下列算式調(diào)節(jié),η是比例因子,也稱學習效率:BP神經(jīng)網(wǎng)絡(luò)算法的推導故取w為:故問題的關(guān)鍵在于如何求誤差前級輸入BP神經(jīng)網(wǎng)絡(luò)算法的推導設(shè)E(n)為學習的目標函數(shù),學習的目的是使E(n)達到最小.下面就逐個樣本學習的情況推導BP算法.上圖表示第j個單元接收到前一層i信號并產(chǎn)生誤差信號的過程求和傳遞函數(shù)實際輸出期望函數(shù)誤差前級輸入權(quán)重前級輸入前級輸入前級輸入前級輸入前級輸入前級輸入前級輸入誤差前級輸入前級輸入前級輸入前級輸入前級輸入BP神經(jīng)網(wǎng)絡(luò)算法的推導第j節(jié)點匯聚輸入的加權(quán)和為定義傳遞函數(shù)為φ(.),則節(jié)點j的輸出為:求誤差E(n)對各權(quán)值wji(n)的偏導BP神經(jīng)網(wǎng)絡(luò)算法的推導由于故有:按梯度下降法,權(quán)值的修正量為:其中負號表示修正量按梯度下降方式,δj(n)稱為局部梯度其記為:BP神經(jīng)網(wǎng)絡(luò)算法的推導對兩種節(jié)點進行討論1、單元j是輸出節(jié)點2、單元j是隱節(jié)點

其結(jié)構(gòu)如下圖所示神經(jīng)元k神經(jīng)元jBP神經(jīng)網(wǎng)絡(luò)算法的推導將此式對yj(n)求導得:2、單元j是隱節(jié)點

其結(jié)構(gòu)如下圖所示j節(jié)點后面是輸出節(jié)點k,則誤差平方和由于所以BP神經(jīng)網(wǎng)絡(luò)算法的推導上式式對yj(n)求導得:而其中q

為單元

的輸入端個數(shù)所以有代入式得:即當j為隱層節(jié)點時,其局部梯度等于下一層局部梯度加權(quán)和與激活函數(shù)的乘積。BP神經(jīng)網(wǎng)絡(luò)算法的推導(1)對于輸出節(jié)點j,δj(n)為與誤差信號ej(n)之積;總結(jié)以上推導,對于節(jié)點j權(quán)值修正量可寫為的計算有兩種情況:(2)對于隱節(jié)點j,δj(n)為與與后面一層的δk(n)加權(quán)和之積;BP神經(jīng)網(wǎng)絡(luò)算法的推導權(quán)值訓練周期:

學習時每輸入一次全部訓練樣本稱為一個訓練周期,學習一個周期一個周期地進行,直到目標函數(shù)達到最小值或小于某一給定值.訓練網(wǎng)絡(luò)有兩種方式:(1)每輸入一個樣本修改一次權(quán)值;(2)批處理方式,待組成一個訓練周期的全部N個樣本都依此輸入后計算總的平均誤差:權(quán)值調(diào)整:其中計算方法與前面一樣BP神經(jīng)網(wǎng)絡(luò)算法的推導BP算法的步驟如下:(1)初始化,選定一結(jié)構(gòu)合理的網(wǎng)絡(luò),置所有可調(diào)參數(shù)(權(quán)和閾值)為均勻分布的較小數(shù)值;(2)對每個輸入樣本做如下計算:

①前向計算

l層的j單元其中

為前一層(l-1)的單元送來的工作信號.

i=0時BP神經(jīng)網(wǎng)絡(luò)算法的推導設(shè)單元j的傳遞函數(shù)(激活函數(shù))為sigmoid函數(shù),則求導:當l=1時,有若j屬于輸出層(l=L),BP神經(jīng)網(wǎng)絡(luò)算法的推導②反向計算δ對輸出單元

③按下式修正權(quán)值(3)n=n+1輸入新的樣本(或新一周期樣本),直至Eav

達到預定要求,訓練時各周期中樣本的輸入順序要重新隨即排序。對隱層單元BP網(wǎng)絡(luò)的標準學習算法學習的過程:神經(jīng)網(wǎng)絡(luò)在外界輸入樣本的刺激下不斷改變網(wǎng)絡(luò)的連接權(quán)值,以使網(wǎng)絡(luò)的輸出不斷地接近期望的輸出。學習的本質(zhì):對各連接權(quán)值的動態(tài)調(diào)整學習規(guī)則:權(quán)值調(diào)整規(guī)則,即在學習過程中網(wǎng)絡(luò)中各神經(jīng)元的連接權(quán)變化所依據(jù)的一定的調(diào)整規(guī)則。BP網(wǎng)絡(luò)的標準學習算法-算法思想學習的類型:有導師學習核心思想:將輸出誤差以某種形式通過隱層向輸入層逐層反傳學習的過程:信號的正向傳播誤差的反向傳播將誤差分攤給各層的所有單元---各層單元的誤差信號修正各單元權(quán)值6.4.2BP網(wǎng)絡(luò)的標準學習算法第一步,網(wǎng)絡(luò)初始化給各連接權(quán)值分別賦一個區(qū)間(-1,1)內(nèi)的隨機數(shù),設(shè)定誤差函數(shù)e,給定計算精度值ε

和最大學習次數(shù)M。第二步,隨機選取第k個輸入樣本及對應(yīng)期望輸出第三步,計算隱含層各神經(jīng)元的輸入和輸出BP網(wǎng)絡(luò)的標準學習算法第四步,利用網(wǎng)絡(luò)期望輸出和實際輸出,計算誤差函數(shù)對輸出層的各神經(jīng)元的偏導數(shù)。第五步,利用隱含層到輸出層的連接權(quán)值、輸出層和隱含層的輸出計算誤差函數(shù)對隱含層各神經(jīng)元的偏導數(shù)。第六步,利用輸出層各神經(jīng)元和隱含層各神經(jīng)元的輸出來修正連接權(quán)值。第七步,利用隱含層各神經(jīng)元的和輸入層各神經(jīng)元的輸入修正連接權(quán)。6.4.2BP網(wǎng)絡(luò)的標準學習算法第八步,計算全局誤差第九步,判斷網(wǎng)絡(luò)誤差是否滿足要求。當誤差達到預設(shè)精度或?qū)W習次數(shù)大于設(shè)定的最大次數(shù),則結(jié)束算法。否則,選取下一個學習樣本及對應(yīng)的期望輸出,返回到第三步,進入下一輪學習。BP網(wǎng)絡(luò)的標準學習算法BP算法直觀解釋情況一直觀表達當誤差對權(quán)值的偏導數(shù)大于零時,權(quán)值調(diào)整量為負,實際輸出大于期望輸出,權(quán)值向減少方向調(diào)整,使得實際輸出與期望輸出的差減少。whoe>0,此時Δwho<06.4.2BP網(wǎng)絡(luò)的標準學習算法BP算法直解釋情況二直觀表達當誤差對權(quán)值的偏導數(shù)小于零時,權(quán)值調(diào)整量為正,實際輸出少于期望輸出,權(quán)值向增大方向調(diào)整,使得實際輸出與期望輸出的差減少。e<0,此時Δwho>0whoBP神經(jīng)網(wǎng)絡(luò)的特點非線性映射能力能學習和存貯大量輸入-輸出模式映射關(guān)系,而無需事先了解描述這種映射關(guān)系的數(shù)學方程。只要能提供足夠多的樣本模式對供網(wǎng)絡(luò)進行學習訓練,它便能完成由n維輸入空間到m維輸出空間的非線性映射。泛化能力當向網(wǎng)絡(luò)輸入訓練時未曾見過的非樣本數(shù)據(jù)時,網(wǎng)絡(luò)也能完成由輸入空間向輸出空間的正確映射。這種能力稱為泛化能力。容錯能力輸入樣本中帶有較大的誤差甚至個別錯誤對網(wǎng)絡(luò)的輸入輸出規(guī)律影響很小。BP神經(jīng)網(wǎng)絡(luò)學習算法的矩陣實現(xiàn)設(shè)BP神經(jīng)網(wǎng)絡(luò)有輸入層、隱層和輸出層三層結(jié)構(gòu),其節(jié)點數(shù)分別為n1,n2,n3BP神經(jīng)網(wǎng)絡(luò)學習算法批訓練的矩陣實現(xiàn)設(shè)有N個訓練樣本集X={X1,X2,…,XN},Xi是n1維向量,將訓練樣本按列排布,得到批輸入矩陣考慮到閾值θ,輸入矩陣增加一行-1,即將X擴充成:BP神經(jīng)網(wǎng)絡(luò)學習算法批訓練的矩陣實現(xiàn)隱層有n2個節(jié)點,設(shè)輸入層與隱層節(jié)點間的權(quán)值矩陣為IW(含有閾值),則有則N個樣本的輸入加權(quán)求和v1矩陣為:BP神經(jīng)網(wǎng)絡(luò)學習算法批訓練的矩陣實現(xiàn)設(shè)隱層的傳遞函數(shù)(激活函數(shù))=1/(1+e-v),隱層輸出Y矩陣為:與隱層類似,對輸出層加權(quán)求和v2矩陣為:BP神經(jīng)網(wǎng)絡(luò)學習算法的矩陣實現(xiàn)設(shè)輸出層的傳遞函數(shù)(激活函數(shù))=1/(1+e-v),輸出O矩陣為:反向計算,誤差矩陣E為反向計算,輸出層的局部梯度BP神經(jīng)網(wǎng)絡(luò)學習算法的矩陣實現(xiàn)刪除隱層與輸出層的權(quán)矩陣HW的第一列有:計算隱層的局部梯度更新隱層與輸出層之間的權(quán)值矩陣HWBP神經(jīng)網(wǎng)絡(luò)學習算法的矩陣實現(xiàn)更新輸入層與隱層之間的權(quán)值矩陣:計算所有樣本批輸入后的誤差平方和判斷E<E閾值(如0.0001),網(wǎng)絡(luò)訓練結(jié)束,保存權(quán)值IW和HW。6.4.3BP神經(jīng)網(wǎng)絡(luò)學習算法的MATLAB實現(xiàn)MATLAB中BP神經(jīng)網(wǎng)絡(luò)的重要函數(shù)和基本功能函數(shù)名功能newff()生成一個前饋BP網(wǎng)絡(luò)tansig()雙曲正切S型(Tan-Sigmoid)傳輸函數(shù)logsig()對數(shù)S型(Log-Sigmoid)傳輸函數(shù)traingd()梯度下降BP訓練函數(shù)BP神經(jīng)網(wǎng)絡(luò)學習算法的MATLAB實現(xiàn)MATLAB中BP神經(jīng)網(wǎng)絡(luò)的重要函數(shù)和基本功能newff()功能建立一個前向BP網(wǎng)絡(luò)格式net=newff(PR,[S1S2...SN1],{TF1TF2...TFN1},BTF,BLF,PF)說明net為創(chuàng)建的新BP神經(jīng)網(wǎng)絡(luò);PR為網(wǎng)絡(luò)輸入取向量取值范圍的矩陣;[S1S2…SNl]表示網(wǎng)絡(luò)隱含層和輸出層神經(jīng)元的個數(shù);{TFlTF2…TFN1}表示網(wǎng)絡(luò)隱含層和輸出層的傳輸函數(shù),默認為‘tansig’;BTF表示網(wǎng)絡(luò)的訓練函數(shù),默認為‘trainlm’;BLF表示網(wǎng)絡(luò)的權(quán)值學習函數(shù),默認為‘learngdm’;PF表示性能數(shù),默認為‘mse’。BP神經(jīng)網(wǎng)絡(luò)學習算法的MATLAB實現(xiàn)MATLAB中BP神經(jīng)網(wǎng)絡(luò)的重要函數(shù)和基本功能tansig()功能正切sigmoid激活函數(shù)格式a=tansig(n)說明雙曲正切Sigmoid函數(shù)把神經(jīng)元的輸入范圍從(-∞,+∞)映射到(-1,1)。它是可導函數(shù),適用于BP訓練的神經(jīng)元。logsig()功能對數(shù)Sigmoid激活函數(shù)格式

a=logsig(N)說明對數(shù)Sigmoid函數(shù)把神經(jīng)元的輸入范圍從(-∞,+∞)映射到(0,1)。它是可導函數(shù),適用于BP訓練的神經(jīng)元。x1x2xixny1ykyq實際輸入x實際輸出y期望輸出d根據(jù)誤差e=d-y網(wǎng)絡(luò)權(quán)值w調(diào)節(jié)wBP神經(jīng)網(wǎng)絡(luò)算法的基本思想MATlABNN工具箱多層BP神經(jīng)網(wǎng)MATlABNN工具箱多層BP神經(jīng)網(wǎng)MATlABNNT傳遞函數(shù)類型net=newff([-12;05],[3,1],{'tansig','purelin'},'traingd');在MATLAB7.0下使用newff創(chuàng)建BP神經(jīng)網(wǎng)。例如我們創(chuàng)建一個2維輸入向量,具有3個隱層節(jié)點和一個輸出節(jié)點的3層結(jié)構(gòu)的BP神經(jīng)網(wǎng)絡(luò):隱節(jié)點數(shù)輸出節(jié)點數(shù)BP神經(jīng)網(wǎng)絡(luò)的創(chuàng)建、訓練與仿真1、BP神經(jīng)網(wǎng)絡(luò)的創(chuàng)建隱層傳遞函數(shù)輸出層傳遞函數(shù)輸入分量范圍訓練方式2、BP神經(jīng)網(wǎng)絡(luò)的訓練當確定完神經(jīng)網(wǎng)絡(luò)的具體結(jié)構(gòu)—輸入向量維數(shù)、隱層節(jié)點數(shù)、輸出節(jié)點數(shù),就要采用一定的訓練方法對神經(jīng)網(wǎng)絡(luò)進行訓練,目前應(yīng)用最多的是—梯度下降法。在Matlab神經(jīng)網(wǎng)絡(luò)工具箱中,設(shè)置了這一算法。并通過train()函數(shù)來實現(xiàn)神經(jīng)網(wǎng)絡(luò)的訓練?;菊Z法為:Trained_net=train(net,P,T)待訓練的網(wǎng)完成的訓練網(wǎng)輸入的特征向量訓練目標BP神經(jīng)網(wǎng)絡(luò)的創(chuàng)建、訓練與仿真仿真是對已經(jīng)訓練完成的BP神經(jīng)網(wǎng)絡(luò)進行應(yīng)用模擬,以檢查神經(jīng)網(wǎng)絡(luò)的響應(yīng)性能。即當網(wǎng)絡(luò)權(quán)值w,偏移值確定后,通過給定輸入Pgiven,檢查實際輸出y與期望是否相符。對于仿真結(jié)果滿足要求的網(wǎng)絡(luò)就可定型。仿真采用下列函數(shù):y=sim(trained_net,P);完成的訓練網(wǎng)輸入的特征向量網(wǎng)絡(luò)的實際輸出3、BP神經(jīng)網(wǎng)絡(luò)的仿真

BP神經(jīng)網(wǎng)絡(luò)的創(chuàng)建、訓練與仿真1、手寫數(shù)字字符的識別2、人臉的識別3、車型的識別4、車牌的識別5、指紋的識別6、虹膜的識別6、剛體目標的識別7、人體目標的識別基于BP神經(jīng)網(wǎng)絡(luò)的圖像識別的應(yīng)用領(lǐng)域神經(jīng)網(wǎng)絡(luò)手寫數(shù)字識別設(shè)計實例1、手寫數(shù)字圖像的歸一化處理將圖像歸一到16×8的像素矩陣2、將16×8的像素矩陣按列堆疊成128維向量矩陣→向量3、BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計

(1)輸入節(jié)點數(shù)的確定根據(jù)輸入特征向量是128維,故選輸入節(jié)點為128個。(2)輸出節(jié)點數(shù)的確定辨識10個手寫數(shù)字,以每個節(jié)點為1代表一個數(shù)字的標識,所以輸出節(jié)點可選10個節(jié)點;(3)隱層節(jié)點數(shù)的確定可按下列公式估計

式中n為輸入節(jié)點m為輸出節(jié)點數(shù),a=1~10為可調(diào)常數(shù)。這里取隱層節(jié)點20神經(jīng)網(wǎng)絡(luò)手寫數(shù)字識別設(shè)計實例3、BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計

(4)傳遞函數(shù)設(shè)計輸入節(jié)點數(shù)的確定由于以1作為類別的數(shù)值表示,即輸出最大限為1,故隱層與輸出層傳遞函數(shù)都選擇為logsig。(5)輸入數(shù)據(jù)和期望值按向量排成的矩陣組織,即220神經(jīng)網(wǎng)絡(luò)手寫數(shù)字識別設(shè)計實例神經(jīng)網(wǎng)絡(luò)手寫數(shù)字識別設(shè)計實例—實施神經(jīng)網(wǎng)絡(luò)手寫數(shù)字識別設(shè)計實例—實施SOM自組織神經(jīng)網(wǎng)絡(luò)

采用有導師學習規(guī)則的神經(jīng)網(wǎng)絡(luò)是以網(wǎng)絡(luò)的誤差或能量函數(shù)作為算法準則。而在很多情況下,人在認知過程中沒有預知的正確模式,人獲得大量知識常常是靠“無師自通”,即通過對客觀事物的反復觀察,分析與比較,自行揭示其內(nèi)在規(guī)律,并對具有共同特征的事物進行正確歸類。對于人的這種學習方式,基于有導師學習策略的神經(jīng)網(wǎng)絡(luò)是無能為力的。自組織神經(jīng)網(wǎng)絡(luò)的無導師學習方式更類似于人類大腦中生物神經(jīng)網(wǎng)絡(luò)的學習,其最重要特點是通過自動尋找樣本中的內(nèi)在規(guī)律和本質(zhì)屬性,自組織自適應(yīng)地改變網(wǎng)絡(luò)參數(shù)與結(jié)構(gòu)。這種學習方式大大拓寬神經(jīng)網(wǎng)絡(luò)在模式識別與分類方面的應(yīng)用。自組織網(wǎng)結(jié)構(gòu)上屬于層次型網(wǎng)絡(luò),有多種類型。如:自組織特征映射(SelfOrganizingFeatureMap)網(wǎng)絡(luò)—SOM);對偶(向)傳播(CounterPropagationNetwork)網(wǎng)絡(luò)—CPN);自適應(yīng)共振理論(AdaptiveResonanceTheory)網(wǎng)絡(luò)—ART等。其共同特點是都具有競爭層。最簡單的網(wǎng)絡(luò)結(jié)構(gòu)具有一個輸入層和一個競爭層。輸入模式輸出模式競爭層輸入層負責接受外界信息并將輸入模式向競爭層傳遞,起觀察作用。競爭層負責對該模式進行“分析比較”,找出規(guī)律以正確分類。這種功能是通過下面要介紹的競爭機制實現(xiàn)的。SOM自組織神經(jīng)網(wǎng)絡(luò)競爭學習是自組織網(wǎng)絡(luò)中最常用的一種學習策略,首先說明與之相關(guān)的幾個基本概念。1基本概念模式、分類、聚類與相似性模式:一般當網(wǎng)絡(luò)涉及識別、分類問題時,常用輸入模式(而不稱輸入樣本);分類:將待識別的輸入模式劃分為各自的模式類中去;聚類:無導師指導的分類稱為聚類,聚類的目的是將相似的模式樣本劃歸一類;相似性:輸入模式的聚類依據(jù)。2相似性測量神經(jīng)網(wǎng)絡(luò)的輸入模式用向量表示,比較不同模式的相似性可轉(zhuǎn)化為比較兩個向量的距離,因而可用模式向量間的距離作為聚類判據(jù)。模式識別中常用到的兩種聚類判據(jù)是歐式最小距離法和余弦法。一、競爭學習的概念與原理(1)歐式距離法

X和Xi兩向量歐式距離:

兩個模式向量的歐式距離越小,兩個模式越相似,當兩個模式完全相同時,其歐式距離為零。如果對同一類內(nèi)各個模式向量間的歐式距離作出規(guī)定,不允許超過某一最大值T,則最大歐式距離T就成為一種聚類判據(jù)。(2)余弦法計算兩個模式向量夾角的余弦:兩個模式向量越接近,其類角越小,余弦越大。當兩個模式向量完全相同時,其夾角余弦為1。若同類內(nèi)各模式向量間的夾角規(guī)定不大于ΨT,則Ψ成為一種聚類判據(jù)。余弦法適合模式向量長度相同或模式特征只與向量方向相關(guān)的相似性測量。2相似性測量3側(cè)抑制與競爭自組織網(wǎng)絡(luò)(競爭型神經(jīng)網(wǎng)絡(luò))構(gòu)成的基本思想是網(wǎng)絡(luò)的競爭層各神經(jīng)元競爭對輸入模式響應(yīng)的機會,最后僅有一個神經(jīng)元成為競爭的“勝者”,這一獲勝神經(jīng)元則表示對輸入模式的識別?!w現(xiàn)了生物生神經(jīng)細胞的側(cè)抑制競爭機制。實驗表明,人眼的視網(wǎng)膜、脊髓和海馬中存一種側(cè)抑制現(xiàn)象,即,當一個神經(jīng)細胞興奮后,會對其周圍的神經(jīng)細胞產(chǎn)生抑制作用。這種側(cè)抑制使神經(jīng)細胞之間呈現(xiàn)出競爭,開始時可能多個細胞同時興奮,但一個興奮程度最強的神經(jīng)細胞對周圍神經(jīng)細胞的抑制作用也最強,其結(jié)果使其周圍神經(jīng)細胞興奮程度減弱,從而該神經(jīng)細胞是這次競爭的“勝者”,其它神經(jīng)細胞在競爭中失敗。自組織網(wǎng)絡(luò)在競爭層神經(jīng)元之間的連線,它們是模擬生物神經(jīng)網(wǎng)絡(luò)層內(nèi)神經(jīng)元相互抑制現(xiàn)象的權(quán)值,這類抑制性權(quán)值滿足一定的分布關(guān)系,如距離近的抑制強,距離遠的抑制弱。這種權(quán)值(或說側(cè)抑制關(guān)系)一般是固定的,訓練過程中不需要調(diào)整,在各類自組織網(wǎng)絡(luò)拓樸圖中一般予以省略。(不省略時,也只看成抑制關(guān)系的表示,不作為網(wǎng)絡(luò)權(quán)來訓練)。最強的抑制關(guān)系是競爭獲勝者“惟我獨興”,不允許其它神經(jīng)元興奮,這種抑制方式也稱為勝者為王。3側(cè)抑制與競爭4向量歸一化不同的向量有長短和方向區(qū)別,向量歸一化的目的是將向量變成方向不變長度為1的單位向量。單位向量進行比較時,只需比較向量的夾角。X向量的歸一化:

競爭學習原理(規(guī)則)競爭學習采用的規(guī)則是勝者為王,該算法可分為3個步驟。得到:(1)向量歸一化將自組織網(wǎng)絡(luò)中的當前輸入模式向量X和競爭層中各神經(jīng)元對應(yīng)的內(nèi)星權(quán)向量Wj(j=1,2,…m)全部進行歸一化處理。(2)尋找獲勝神經(jīng)元此式看出,欲兩單位向量的歐式距離最小,須使兩向量的點積最大。即因此,求最小歐式距離的問題就轉(zhuǎn)化為按此式求最大點積的問題,而且權(quán)向量與輸入向量的點積正是競爭層神經(jīng)元的凈輸入。(3)網(wǎng)絡(luò)輸出與權(quán)值調(diào)整勝者為王競爭學習算法規(guī)定,獲勝神經(jīng)元輸出為1,其余輸出為零。即只有獲勝神經(jīng)元才有權(quán)調(diào)整其權(quán)向量,調(diào)整后權(quán)向量為式中為學習率,一般其值隨著學習的進展而減小??梢钥闯?,當時,對應(yīng)神經(jīng)無的權(quán)值得不到調(diào)整,其實質(zhì)是“勝者”對它們進行了強側(cè)抑制,不允許它們興奮。應(yīng)注意,歸一化后的權(quán)向量經(jīng)過調(diào)整后得到的新向量不再是單位向量,需要重新歸一化。步驟(3)完成后回到步驟(1)繼續(xù)訓練,直到學習率衰減到零。二、自組織特征映射(SOM)神經(jīng)網(wǎng)絡(luò)1、SOM網(wǎng)絡(luò)的生物學基礎(chǔ)

生物學研究表明:人的大腦皮層中,存在許多不同功能的神經(jīng)網(wǎng)絡(luò)區(qū)域,每個功能區(qū)域完成各自的特定功能,如視覺、聽覺、語言理解和運動控制等等。當人腦通過感官接受外界的特定時空信息時,將引起大腦皮層的特定區(qū)域興奮。每個區(qū)域有若干神經(jīng)元組成,當該區(qū)域興奮時,總是以某一個神經(jīng)元(細胞)為興奮中心,呈現(xiàn)出墨西哥帽(MexicanHat)式興奮分布。

1981年芬蘭學者kohonen提出一個稱為自組織特征映射(SelfOrganizationFeatureMap-SOM或SOFM)網(wǎng)絡(luò),前述大腦神經(jīng)細胞興奮規(guī)律等,在該網(wǎng)絡(luò)中都得到了反應(yīng)。網(wǎng)絡(luò)區(qū)域中的這種興奮與抑制規(guī)律,將依據(jù)外界輸入環(huán)境的不同,神經(jīng)元(細胞)要靠競爭機制來決定勝負。大腦的這種區(qū)域性結(jié)構(gòu),雖有遺傳因素,但,各區(qū)域的功能大部分是后天通過環(huán)境的適應(yīng)和學習得到的,這就是神經(jīng)網(wǎng)絡(luò)的自組織(selforganization)特征.1、SOM網(wǎng)絡(luò)的生物學基礎(chǔ)2、SOM網(wǎng)絡(luò)的拓撲結(jié)構(gòu)與權(quán)值調(diào)整域2.1拓撲結(jié)構(gòu)

SOM網(wǎng)絡(luò)共有兩層,輸入層模擬感知外界輸入信息的視網(wǎng)膜。輸出層模擬做出響應(yīng)的大腦皮層。輸出層也是競爭層,網(wǎng)絡(luò)拓撲結(jié)構(gòu)形式常見有一維線陣和二維平面陣。網(wǎng)絡(luò)實現(xiàn)將任意維輸入模式在輸出層映射成一維離散圖形。網(wǎng)絡(luò)實現(xiàn)將任意維輸入模式在輸出層映射成二維離散圖形。SOM二維平面陣結(jié)構(gòu)3、SOM網(wǎng)絡(luò)的運行原理與學習算法SOM網(wǎng)絡(luò)的運行原理

SOM網(wǎng)絡(luò)表現(xiàn)為:網(wǎng)絡(luò)隨機輸入模式時,對某個特定的輸入模式,輸出層會有某個節(jié)點產(chǎn)生最大響應(yīng)而獲勝。按生物區(qū)域神經(jīng)興奮機制,獲勝神經(jīng)元對其鄰近神經(jīng)元存在一種側(cè)抑制(競爭)機制。

SOM網(wǎng)絡(luò)的側(cè)抑制方式是:以獲勝神經(jīng)元為中心權(quán)值調(diào)整量最強,且由近及遠地逐漸遞減程度不同的調(diào)整權(quán)向量直到抑制。理論上按墨西哥帽分布調(diào)整權(quán)值,但其計算上的復雜性影響了網(wǎng)絡(luò)訓練的收斂性。因此在SOM網(wǎng)的應(yīng)用中常采用與墨西哥帽函數(shù)類似的簡化函數(shù)或其他一些方式(如優(yōu)勝域)。以獲勝神經(jīng)元為中心設(shè)定一個鄰域——優(yōu)勝域。優(yōu)勝鄰域內(nèi)的所有神經(jīng)元均按其離開獲勝神經(jīng)元的距離遠近不同程度地調(diào)整權(quán)值。優(yōu)勝鄰域開始可定義得較大,但其大小隨著訓練次數(shù)的增加不斷收縮,最終收縮到半徑為零。SOM網(wǎng)絡(luò)的學習算法

SOM網(wǎng)絡(luò)采用的學習算法稱Kohonen算法,是在勝者為王算法基礎(chǔ)上加以改進而成。其主要區(qū)別在于調(diào)整權(quán)向量的側(cè)抑制方式不同。勝者為王算法中,獲勝神經(jīng)元對周圍神經(jīng)元的抑制是“封殺”式的(只獲勝神經(jīng)調(diào)整權(quán)向量,周圍其它無權(quán)調(diào)整)

。當輸入模式的類別改變時,獲勝節(jié)點也會改變。獲勝節(jié)點對周圍的節(jié)點因側(cè)抑制作用也產(chǎn)生較大的響應(yīng),于是,獲勝節(jié)點及其優(yōu)勝鄰域內(nèi)的所有節(jié)點所連接的權(quán)向量均向輸入向量的方向作程度不同的調(diào)整。網(wǎng)絡(luò)通過自組織方式,用大量訓練樣本調(diào)整網(wǎng)絡(luò)的權(quán)值,最后使輸出層各節(jié)點成為對特定模式類敏感的神經(jīng)元,對應(yīng)的內(nèi)星權(quán)向量成為各輸入模式類的中心向量。并且當兩個模式類的特征接近時,代表這兩類的節(jié)點在位置上也接近。從而,在輸出層形成能夠反映樣本模式類分布情況的有序特征圖。

Kohonen算法采用優(yōu)勝域思想,模擬生物區(qū)域神經(jīng)興奮競爭機制。3、SOM網(wǎng)絡(luò)的運行原理與學習算法Kohonen算法(1)初始化

給定學習率初值η(0),(0<η(0)<1);確定初始優(yōu)勝(鄰)域Nj*(0)的初值;一般用半徑表示,可取競爭層陣列幅度的1/3~1/2,甚至可覆蓋整個競爭層。對各權(quán)向量賦隨機小數(shù)并進行歸一化,得:(2)接受輸入

從訓練集中隨機選取一個輸入模式進行歸一化處理,得:(3)尋找獲勝節(jié)點計算與的點積,j=1,2,…m,得到點積最大的獲勝節(jié)點j*;如若輸入模式未歸一化,可計算歐式距離,找出距離最小的為獲勝節(jié)點j*。(4)調(diào)整權(quán)值以j*為中心,對優(yōu)勝域Nj*(t)內(nèi)的所有節(jié)點調(diào)整權(quán)值:(6)更新鄰域Nj*(t)及學習率η(t)

Nj*(t)=INT[Nj*(0)(1-t/T)]t——當前學習次數(shù);T——預先設(shè)定的最大訓練次數(shù).η(t)=η(0)[1-t/T]——網(wǎng)絡(luò)在t時刻的學習率.

Nj*(t)和η(t)不限于上述形勢,也有其他形式。(5)檢查總模式數(shù)(P)是否全部參與了學習,否則返(2)Kohonen算法

Nj*(t)可以說是墨西哥帽函數(shù)的一種具體體現(xiàn)形勢,更新原則是使鄰域不斷縮小,這樣輸出平面上相鄰神經(jīng)元對應(yīng)的權(quán)向量之間既有區(qū)別又有相當?shù)南嗨菩?,從而,保證當獲勝節(jié)點對某一類模式產(chǎn)生最大響應(yīng)時,其臨近節(jié)點也能產(chǎn)生較大的響應(yīng)。鄰域的形狀可以是圓、正方形或六邊形等。當鄰域是半徑為d圓時,鄰域中的神經(jīng)元描述為:若25個神經(jīng)元排列成5×5二維格柵拓撲結(jié)構(gòu),第13神經(jīng)的指定優(yōu)勝域半徑的區(qū)域內(nèi)神經(jīng)元為:d=1d=2Kohonen算法(7)令t=t+1,返回步驟(2)(8)結(jié)束檢查

判斷η(t)是否衰減到某預定精度或判斷t=T.Kohonen算法Kohonen學習算法程序流程4.2.4SOM網(wǎng)絡(luò)的功能SOM網(wǎng)絡(luò)的功能特點之一是:保序映射,即能將輸入空間的樣本模式類有序地映射在輸出層上。例動物屬性特征映射1989年Kohonen給出一個SOM網(wǎng)的著名應(yīng)用實例,即把不同的動物按其屬性映射到二維輸出平面上,使屬性相似的動物在SOM網(wǎng)輸出平面上的位置也相近。訓練集選了16種動物,每種動物用一個29維向量來表示。前16個分量構(gòu)成符號向量(不同的動物進行16取1編碼),后13個分量構(gòu)成屬性向量,描述動物的13種屬性的有或無(用1或0表示)。16種動物的屬性向量(29維向量的后13個分量)動物屬性鴿子母雞鴨鵝貓頭鷹隼鷹狐貍狗狼貓虎獅馬斑馬牛小1111110000100000中0000001111000000大00000000000111112只腿11111110000000004只腿0000000111111111毛0000000111111111蹄0000000000000111動物屬性鴿子母雞鴨鵝貓頭鷹隼鷹狐貍狗狼貓虎獅馬斑馬牛鬃毛0000000000000110羽毛1111111000000000獵0000111101111000跑0000000011011110飛1001111000000000泳0011000000000000

SOM網(wǎng)輸出平面上有10×10個神經(jīng)元,16個動物模式輪番輸入訓練,最后輸出平面呈現(xiàn)16種動物屬性特征映射,屬性相似的挨在一起,實現(xiàn)了特征的有序分布。16種動物的屬性向量(29維向量的后13個分量)10×10神經(jīng)元X向量(29維)前16個分量(16取1,表達動物種類。)后13個分量(表達動物屬性)鴨鵝鴿母雞馬斑馬牛隼狼虎獅貓狗狐貓頭鷹鷹動物屬性特征映射

SOM網(wǎng)的功能特點之二是數(shù)據(jù)壓縮。

將高維空間的樣本在保持拓撲結(jié)構(gòu)不變的條件下投影到低維空間。如上例中輸入樣本空間為29維,通過SOM網(wǎng)后壓縮為二維平面的數(shù)據(jù)。

SOM網(wǎng)的功能特點之三是特征抽取。(規(guī)律的發(fā)現(xiàn))

在高維模式空間,很多模式的分布具有復雜的結(jié)構(gòu),從數(shù)據(jù)觀察很難發(fā)現(xiàn)其內(nèi)在規(guī)律。當通過SOM網(wǎng)映射到低維輸出空間后,其規(guī)律往往一目了然,實現(xiàn)某種特征抽取的映射。即高維空間的向量經(jīng)過特征抽取后可以在低維特征空間更加清晰地表達,因此映射的意義不僅僅是單純的數(shù)據(jù)壓縮,更是一種規(guī)律發(fā)現(xiàn)。如上例29維映射到二維后,相近屬性的動物實現(xiàn)了聚類分布的特點。

SOM網(wǎng)有許多應(yīng)用實例:解決旅行商最優(yōu)路經(jīng)問題,皮革外觀效果分類等。SVM支持向量機

支持向量機(SupportVectorMachine,SVM)是CorinnaCortes和Vapnik等于1995年首先提出的,它在解決小樣本、非線性及高維模式識別中表現(xiàn)出許多特有的優(yōu)勢,并能夠推廣應(yīng)用到函數(shù)擬合等其他機器學習問題中。支持向量機方法是建立在統(tǒng)計學習理論的VC維理論和結(jié)構(gòu)風險最小原理基礎(chǔ)上的,根據(jù)有限的樣本信息在模型的復雜性(即對特定訓練樣本的學習精度)和學習能力(即無錯誤地識別任意樣本的能力)之間尋求最佳折衷,以求獲得最好的推廣能力。SVM支持向量機

SVM有如下主要幾個特點:(1)非線性映射是SVM方法的理論基礎(chǔ),SVM利用內(nèi)積核函數(shù)代替向高維空間的非線性映射;(2)對特征空間劃分的最優(yōu)超平面是SVM的目標,最大化分類邊際的思想是SVM方法的核心;(3)支持向量是SVM的訓練結(jié)果,在SVM分類決策中起決定作用的是支持向量。(4)SVM是一種有堅實理論基礎(chǔ)的新穎的小樣本學習方法。它基本上不涉及概率測度及大數(shù)定律等,因此不同于現(xiàn)有的統(tǒng)計方法。從本質(zhì)上看,它避開了從歸納到演繹的傳統(tǒng)過程,實現(xiàn)了高效的從訓練樣本到預報樣本的“轉(zhuǎn)導推理”,大大簡化了通常的分類和回歸等問題。SVM支持向量機

(5)SVM的最終決策函數(shù)只由少數(shù)的支持向量所確定,計算的復雜性取決于支持向量的數(shù)目,而不是樣本空間的維數(shù),這在某種意義上避免了“維數(shù)災(zāi)難”。(6)少數(shù)支持向量決定了最終結(jié)果,這不但可以幫助我們抓住關(guān)鍵樣本、“剔除”大量冗余樣本,而且注定了該方法不但算法簡單,而且具有較好的“魯棒”性。這種“魯棒”性主要體現(xiàn)在:①增、刪非支持向量樣本對模型沒有影響;②支持向量樣本集具有一定的魯棒性;③有些成功的應(yīng)用中,SVM方法對核的選取不敏感SVM支持向量機——線性分類器

假定大小為n

的訓練樣本集{(xi,yi),i=…,n

},由二類別組成,如果xi∈Rd屬于第1類標記為正(yi=1),如果屬于第2類,則標記為負(yi=-1).學習的目標是構(gòu)造一判別函數(shù),將檢測數(shù)據(jù)據(jù)盡可能正確地分類.針對訓練樣本集為線性和非線性兩種情況分別討論.支持向量機分類器SVM線性可分情況 先考慮二維情況下的線性可分的兩類樣本(○,×),如圖所示,存在很多條可能的分類線能夠?qū)⒂柧殬颖痉珠_。顯然分類線a最好,因為它更遠離每一類樣本,風險小。而其他的分類線離樣本較近,只要樣本有較小的變化,將會導致錯誤的分類結(jié)果。因此分類線a是代表一個最優(yōu)的線性分類器。所謂最優(yōu)分類線就是要求分類線不但能將兩類無誤地分開,而且要使兩類的分類間隔最大。圖中H是最優(yōu)分類線,H1和H2分別為過各類樣本中離分類線最近的點且平行于分類線的直線,H1和H2之間的距離叫做兩類的分類空隙或者分類間隔(margin)。 將二維推廣到高維,最優(yōu)分類線就成為最優(yōu)分類超平面。abcHH1H2SVM線性分類器線性可分情況 設(shè)線性可分樣本集為(xi,yi),i=1,2,…,n,x∈Rd,y∈{+1,-1}是類別號。d維空間中線性判別函數(shù)的一般形式為g(x)=wTx+b,則分類超平面方程為:

wTx+b=0

其中,w為分類超平面的法線,是可調(diào)的權(quán)值向量;b為偏置,決定相對原點的位置。當兩類樣本是線性可分時,滿足條件:

(wTxi)+b≥+1 yi

=+1 (wTxi)+b≤-1 yi

=-1

Z1線性可分情況如果存在分類超平面使得g(x)=wTx+b=0,wTx+b=0ω1ω2SVM線性分類器點到平面的距離由于w是可以按比例改變的,因此可以縮放w

和b使得在ω1類g(x)=1,和ω2類g(x)=-1,可以用方程表示為

1、存在一個間隔,滿足2、要求滿足SVM線性分類器g(x)=1和g(x)=-1兩條直線間的距離下面是數(shù)學計算問題,對于每一個xi,yi(對于ω1為+1,對于ω2為-1)表示相應(yīng)類的標識器。要使間隔2/||w||最大,實際上就是要||w||最小,即這是一個滿足一系列線性不等式條件的非線性(二次方程)最優(yōu)化問題。采用拉格朗日函數(shù)SVM線性分類器根據(jù)Karushi-Kuhn-Tucker條件以上最小化問題滿足以下條件:

={

1,

2,…,

N}T是拉格朗日乘子組成的向量。SVM線性分類器這里可以看出采用||w||2平方的好處,可以將||w||變化成wTw,便于求導運算。數(shù)對向量的導數(shù)

(wTw)’=2w通過L-函數(shù)對w求導計算得SVM線性分類器通過L-函數(shù)對b求導計算得拉格朗日乘子只能為0或正數(shù),所以具有最優(yōu)解的向量參數(shù)w是Ns<=N個特征向量的線性組合,即其中i

不為0向量的線性組合這些αi

不為0所對應(yīng)的向量xi就是支持向量,這也是支持向量機的由來,這些向量點就是取得最大間隔分類兩個超平面上的點。兩個超平面任何一方的支持向量滿足:SVM線性分類器前面我們通過拉格朗日函數(shù)對w

和b求導得到兩個約束:把這兩個等式和拉格朗日函數(shù)結(jié)合起來,可以把w帶入拉格朗日函數(shù)L,SVM線性分類器SVM線性分類器現(xiàn)在求拉格朗日乘子i

就是求凸函數(shù)L

的最大值,即條件約束SVM線性分類器i為與每個樣本對應(yīng)的Lagrange

乘子.這是一個不等式約束下二次函數(shù)尋優(yōu)的問題,存在唯一解。

容易證明,解中將只有一部分(通常是少部分)i

不為零,對應(yīng)的樣本就是支持向量.解上述問題后得到的最優(yōu)分類函數(shù)是.式中的求和實際上只對支持向量進行.b*是分類閾值,可以用任一個支持向量滿足下式中的等號

求得,或通過兩類中任意一對支持向量取中值求得SVM線性分類器++●++++++不可分的類對于不可分的情況,上述討論不再有效,不存在超平面可以把兩類分開而沒有點落在分離帶內(nèi)如圖所示。++●●●●●●●●●●+++++●SVM線性不可分情況一般訓練特征向量屬于下面三類中的一種:位于分割帶以外的向量。這類向量滿足:落在分離帶內(nèi)且正確分類的向量圖中方框內(nèi)的點,滿足:錯誤分類的向量,圖中圓內(nèi)的點,滿足不等式:SVM線性不可分情況在不可分的情況下,這三種情況通過引進ξi可以統(tǒng)一歸為同一約束問題,即對于第一類問題ξi=0,對于第二類問題0<ξi<=1,對于第三類問題1<ξi,帶內(nèi)但錯誤在超平面另一側(cè)帶內(nèi)但正確帶外正確SVM線性不可分情況我們希望錯分和落在分離帶內(nèi)的少,對嚴格的進行放松條件即用滿足作為約束條件,所以ξi稱為松弛變量現(xiàn)在的優(yōu)化問題描述是:使分類間隔盡量大,但同時保證ξi>0的點盡量少.用數(shù)學術(shù)語表示等價于對代價函數(shù)J的最小化,即其中ξ是參數(shù)ξi組成的向量,而I(ξi)代表帶內(nèi)向量計數(shù),即SVM線性不可分情況參數(shù)C是一個正常數(shù),用來控制兩個競爭條件的相對影響,由于I(ξi)是一個不連續(xù)的量優(yōu)化求導困難,所以選擇一個最接近的代價函數(shù)進行優(yōu)化,不可分類的優(yōu)化問題變成

SVM線性不可分的情況這里的(ξi)實際上帶內(nèi)點到各自超平面的距離,將上述2個約束條件加入代價函數(shù)獲得相應(yīng)的拉格朗日函數(shù)表示為:應(yīng)用Karush-Kuhn-Tucker條件為有有有SVM線性不可分的情況此外還有約束

相關(guān)的Wolfe二元表達式為SVM線性不可分的情況將上面的條件帶入拉格朗日函數(shù)并整理可得滿足最大的拉格朗日常數(shù)條件約束

,

從上面的分析可以看出支持向量機用于兩類別的分類最后轉(zhuǎn)化為確定約束條件下拉格朗日乘子αi.公式形式上與線性可分是一致的,所不同的是,這里αi的約束條件是0=<αi

<=CSVM線性不可分的情況線性不可分的核函數(shù)方法 對于線性不可分(非線性)問題:采用一個非線性變換φ(x)把輸入數(shù)據(jù)映射到一個高維特征空間,然后在高維特征空間進行線性分類,最后再映射回到原空間就成為輸入空間的非線性分類。 考慮到可能存在一些樣本不能被分離超平面分離,增加一個松弛變量ξ,優(yōu)化問題為: 約束為

其中,C為一常數(shù),起控制對錯分樣本懲罰的程度的作用,實現(xiàn)在錯分樣本的比例與算法復雜度之間的折衷。C值越大,表示主要把重點放在減少分類錯誤上,C值越小,表示主要把重點放在分離超平面,避免過學習問題。線性不可分的核函數(shù)方法

Lagrange函數(shù)定義如下: 式中,αi≥0,βi≥0。線性不可分的核函數(shù)方法

分別對w,b和ξi

求偏微分并置0,得

帶入Lagrange函數(shù),得優(yōu)化問題的對偶形式: 在約束條件:

下,求下列函數(shù)的最大值: 特征空間的維數(shù)非常高,在大多數(shù)情況下難以直接在特征空間計算最優(yōu)分類面。支持向量機通過定義核函數(shù)(KernelFunction)方法將這一問題轉(zhuǎn)化到輸入空間進行計算: 假設(shè)有非線性映射φ:Rn→H

將輸入空間的樣本映射到高維特征空間H中,當在特征空間構(gòu)造最優(yōu)分類面時,訓練算法僅使用特征空間的點積,即φ(xi)Tφ(xj)。所以,只要構(gòu)造一個函數(shù)K()使得K(xi,xj)=φ(xi)Tφ(xj),這樣,在高維空間中實際上只需進行內(nèi)積計算,不必知道變換φ的形式。

線性不可分的核函數(shù)方法根據(jù)泛函的有關(guān)理論,只要一種函數(shù)K(x,xi)滿足Mercer條件,它就對應(yīng)某一變換空間的內(nèi)積。滿足Mercer條件的內(nèi)積函數(shù)K(x,xi)稱為核函數(shù),常用的核函數(shù)主要有: 高斯徑向基函數(shù):

神經(jīng)網(wǎng)絡(luò)函數(shù):d次多項式:線性不可分的核函數(shù)方法

優(yōu)化問題變?yōu)椋?/p>

約束條件: 求下列函數(shù)的最大值 對應(yīng)的分類函數(shù)為:線性不可分的核函數(shù)方法…K(x1,x)…K(x2,x)K(xs,x)α1y1α2y2αsysy權(quán)值wi=αiyi基于s個支持向量x1,x2,…,Xs的非線性變換(內(nèi)積)輸入向量xxdx1x2線性不可分的核函數(shù)方法支持向量機的學習算法①給出一組輸入樣本xi,i=1,2,…,n及其對應(yīng)的期望輸出yi∈{+1,-1};②在約束條件:下求解下面函數(shù)的最大值,得到;③計算: 其中xs為一個特定的支持向量;④ 對于待分類向量x,選擇某一特定類型的核函數(shù)K(x,xi),計算: 為+1或-1,決定x屬于哪一類。線性不可分的核函數(shù)方法-歸納 支持向量機求解實際是二次規(guī)劃問題,經(jīng)典的解法有積極方集法、對偶方法、內(nèi)點算法等。當訓練樣本增多時,這些算法便面臨“維數(shù)災(zāi)難”將導致無法訓練,近年來許多學者提出了多種算法來解決對偶尋優(yōu)問題。1、塊算法 選擇一部分樣本構(gòu)成工作樣本集,在工作樣本集上使用通用的優(yōu)化算法訓練數(shù)據(jù)。算法保持了支持向量而剔除其中的非支持向量,并用訓練結(jié)果對剩余樣本進行檢驗,將不符合訓練結(jié)果的樣本與本次結(jié)果的支持向量合并成為一個新的工作樣本集,重新訓練,如此重復直至獲得最優(yōu)結(jié)果。當支持向量的數(shù)目遠遠小于訓練樣本數(shù)目時,塊算法能夠大大提高運算速度。支持向量機的學習算法2、分解算法 分解算法把問題分解成為固定樣本數(shù)的子問題,工作樣本集的大小固定在算法速度可以容忍的限度內(nèi),每次只針對工作集中固定樣本個數(shù)進行訓練。在對工作集進行優(yōu)化訓練后,該方法只更新乘子αi

的一個固定大小的子集,其他保持不變。即每當一個新樣本加入到工作集中,工作集中另一個樣本要被移走,即使支持向量的個數(shù)超過工作樣本集的大小也不改變工作樣本集的規(guī)模。然后再進行優(yōu)化訓練,重復進行。該方法關(guān)鍵是如何選擇一種最優(yōu)工作集,使得對應(yīng)的二次規(guī)劃子問題的優(yōu)化成為整個目標函數(shù)的改進。支持向量機的學習算法SVM支持向量機序貫最小優(yōu)化算法(SMO)背景:SMO(Sequentialminimaloptimization)順序最小優(yōu)化算法是一種用于支持向量機訓練優(yōu)化算法。由微軟研究院的約翰·普萊特(JohnPlatt)發(fā)明于1998年,目前被廣泛使用于SVM的訓練過程中,并在通行的SVM庫libsvm

中得到實現(xiàn)。1998年,SMO算法發(fā)表在SVM研究領(lǐng)域內(nèi)引起了轟動,因為先前可用的SVM訓練方法必須使用復雜的方法,并需要昂貴的第三方二次規(guī)劃(QP)工具。而SMO算法較好地避免了這一問題。成為最快的二次規(guī)劃優(yōu)化算法。關(guān)于SMO的資料就是他本人寫的《SequentialMinimalOptimization-AFastAlgorithmforTrainingSupportVectorMachines》了。

SMO 該算法是將分解算法推向極致得出的,每次迭代僅優(yōu)化兩個點的最小子集(工作集中只有兩個樣本)。該算法的優(yōu)點在于兩個數(shù)據(jù)點的優(yōu)化問題可以獲得解析解,從而不需要將QP(QuadraticProgramming)二次規(guī)劃優(yōu)化算法作為算法的一部分。它的工作集的選擇不是傳統(tǒng)的最陡下降法,而是采用啟發(fā)式,通過兩個嵌套循環(huán)來尋找優(yōu)化的樣本變量。在外循環(huán)尋找不滿足要求的樣本,然后在內(nèi)循環(huán)再選擇另一個樣本,進行一次優(yōu)化,然后再循環(huán)進行下一次優(yōu)化,直到全部樣本都滿足優(yōu)化條件。SVM支持向量機序貫最小優(yōu)化算法(SMO),第一步選取一對αi

和αj

,選取方法使用啟發(fā)式方法(后面講)。第二步,固定除αi

和αj

之外的其他參數(shù),確定W極值條件下的αi

,αj

由αi

表示。SMO之所以高效就是因為在固定其他參數(shù)后,對一個參數(shù)優(yōu)化過程很高效。序貫最小優(yōu)化算法(SMO)支持向量機解決非線性分類,最后歸結(jié)為一個對偶函數(shù)最后的優(yōu)化問題,原式為:

這個是由拉格朗日方法然后求偏導列式帶入核函數(shù)得到的目標函數(shù),受到以下條件約束:s.t.序貫最小優(yōu)化算法(SMO)序貫最小優(yōu)化算法(SMO)假設(shè)我們選取了初始值

{α1,α2}

滿足了問題中的約束條件。接下來,我們固定{α3,α4,…,αn},這樣W就是α1,

和α2

的函數(shù)。并且

α1

和α2

滿足條件:由于{α1,α

溫馨提示

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

評論

0/150

提交評論