人工神經網絡會計學第1頁/共48頁目錄1、引例2、人工神經網絡3、BP神經網絡4、BP神經網絡在實例中的應用第2頁/共48頁1、引例 1981年生物學家格若根(W. )和維什(W.Wirth)發現了兩類蚊子(或飛蠓).他們測量了這兩類蚊子每個個體的翼長和觸角長,數據如下:翼長觸角長 類別1.781..961..861..721.24Af2.001..001..961..741.36Af翼長觸角長 類別 1.641.38Af 1.821.38Af 1.901.38Af 1.701.40Af 1.821.48Af 1.821.54Af 2.081.56Af第3頁/共48頁問:如果抓到三只新的蚊子,它們的觸角長和翼長分別為(l.24,1.80); ,1.84);(,).問它們應分別屬于哪一個種類? 解法一: 把翼長作縱坐標,觸角長作橫坐標;那么每個蚊子的翼長和觸角決定了坐標平面的一個點.其中 6個蚊子屬于 APf類;用黑點“·”表示;9個蚊子屬 Af類;用小圓圈“。”表示.得到的結果見圖1 第4頁/共48頁圖1 飛蠓的觸角長和翼長 第5頁/共48頁思路:作一直線將兩類飛蠓分開 例如;取A=(,)和 B=,1.16),過A B兩點作一條直線: y= ,其中X表示觸角長;y表示翼長. 分類規則:設一個蚊子的數據為(x, y), 如果y≥,則判斷蚊子屬Apf類; 如果y<;則判斷蚊子屬Af類. 第6頁/共48頁分類結果:,1.80),,1.84)屬于Af類;,)屬于 Apf類.圖2 分類直線圖 第7頁/共48頁?缺陷:根據什么原則確定分類直線? 若取A=(1.46,2.10), B=(1.1,1.6)不變,則分類直線變為分類結果變為: (1.24,1.80), (1.40,2.04) 屬于Apf類; (1.28,1.84)屬于Af類 哪一分類直線才是正確的呢? 因此如何來確定這個判別直線是一個值得研究的問題.一般地講,應該充分利用已知的數據信息來確定判別直線.第8頁/共48頁再如,如下的情形已經不能用分類直線的辦法: 新思路:將問題看作一個系統,飛蠓的數據作為輸入,飛蠓的類型作為輸出,研究輸入與輸出的關系。
第9頁/共48頁2、人工神經網絡 人工神經網絡是由大量的、簡單的處理單元(稱為神經元)廣泛地相互連接而形成的復雜網絡系統,它反映了人腦功能的許多基本特征,是一個高度復雜的非線性動力學系統。2.1 人工神經網絡概述第10頁/共48頁2.2 神經網絡的研究內容 (1)生物原型研究:研究神經細胞、神經網絡、神經系統的生物原型結構及其功能機理。 (2)建立理論模型:根據生物圓形的研究,建立神經元、神經網絡的理論模型,其中包括概念模型、知識模型、物理化學模型、數學模型等。 (3)網絡模型與算法研究:在理論模型研究的基礎上構成具體的神經網絡模型,以實現計算機模擬或準備制作硬件,包括網絡學習算法的研究。 (4)神經網絡應用系統:在網絡模型與算法研究的基礎上,利用神經網絡組成實際的應用系統。第11頁/共48頁2.3 神經網絡的應用神經網絡理論特別是在人工智能、自動控制、計算機科學、信息處理、機器人、模式識別、等方面都有重大的應用實例。下面列出一些主要應用領域:(1)模式識別和圖像處理。印刷體和手寫字符識別、語音識別、指紋識別、人體病理分析、目標檢測與識別、圖像壓縮和圖像復制等。(2)控制和優化。機器人運動控制、半導體生產過程控制、石油精煉優化控制、超大規模集成電路布線設計等。
第12頁/共48頁(3)預報和智能信息管理。股票市場預測、地震預報、借貸風險分析、IC卡管理和交通管理。(4)通信。自適應均衡、回波抵消、路由選擇和ATM網絡中的呼叫接納識別和控制。(5)空間科學。空間交匯對接控制、導航信息智能管理、飛行器制導和飛行程序優化管理等。 圖1 神經元的解剖圖第13頁/共48頁2.4 神經元與神經網絡結構大腦可視作為1000多億神經元組成的神經網絡第14頁/共48頁神經元的信息傳遞和處理是一種電化學活動。樹突由于電化學作用接受外界的刺激;通過胞體內的活動體現為軸突電位,當軸突電位達到一定的值則形成神經脈沖或動作電位;再通過軸突末梢傳遞給其它的神經元.從控制論的觀點來看;這一過程可以看作一個多輸入單輸出非線性系統的動態過程第15頁/共48頁2.5 神經網絡基本模型第16頁/共48頁歸納一下生物神經元傳遞信息的過程:生物神經元是一個多輸入、單輸出單元。常用的人工神經元模型可用圖2模擬。圖2 人工神經元(感知器)示意圖 第17頁/共48頁當神經元j有多個輸入 (i=1,2,…,m)和單個輸出時,輸入和輸出的關系可表示為: 其中 為閾值, 為從神經元i到神經元j的連接權重因子,f( )為傳遞函數,或稱激勵函數。
第18頁/共48頁例如,若記 取激發函數為符號函數 第19頁/共48頁則 S型激發函數: 第20頁/共48頁2.6 神經網絡分類神經網絡有分層網絡、層內連接的分層網絡、反饋連接的分層網絡、互連網絡等四種結構,其神經網絡模型有感知器網絡,線性神經網絡,BP神經網絡,徑向基函數網絡,反饋神經網絡等matlab 結構圖中結構體,本文主要學習研究了BP神經網絡,以及BP神經網絡在函數逼近和樣本含量估計等實例中的應用分析。 第21頁/共48頁3、BP神經網絡(Back )3.1 BP神經網絡概述BP神經網絡是一種多層前饋神經網絡,該網絡的主要特點是信號前向傳遞,誤差反向傳遞。在前向傳遞中,輸入信號從輸入層經隱 含層逐層處理,直至輸出層。每一層的神經元狀態只影響下一層神經元狀態。如果輸出層得不到期望輸出,則轉入反向傳播,根據預測誤差調整網絡權值和閥值,從而使BP神經網絡預測輸出不斷逼近期望輸出。第22頁/共48頁3.2 BP神經網絡的主要應用 目前,在人工神經網絡的實際應用中。絕大部分的神經網絡模型都采用BP神經網絡及其變化形式。它也是前向網絡的核心部分,體現了人工神經網絡的精華。BP網絡主要用于以下四方面: 1)函數逼近:用輸入向量和相應的輸出向量訓練一個網絡以逼近一個函數。
2)模式識別:用一個待定的輸出向量將它與輸入向量聯系起來。 3)分類:把輸入向量所定義的合適方式進行分類。 4)數據壓縮:減少輸出向量維數以便傳輸或存儲。第23頁/共48頁3.3 BP神經網絡模型結構 BP神經元模型 第24頁/共48頁 上圖給出一個基本的BP神經元模型,它具有R個輸入,每個輸入都通過一個適當的權值w和上一層相連,網絡輸出可表示為: a=f (w*p+b)f就是表示輸入/輸出關系的傳遞函數。BP網絡中隱層神經元的傳遞函數通常用log-型函數()、tan-型函數()以及純線性函數()。 如果BP網絡的最后一層是型神經元,那么整個網絡的輸出就限制在一個較小的范圍內;如果BP網絡的最后一層是型線性神經元,那么整個網絡的輸出可以取任意值。 下圖(上半部) 是一個典型的BP網絡結構。具有S個神經元,R個輸入和S個輸出,神經元采用S型傳遞函數() 。可見,就單層網絡而言,除傳遞函數不同外,與前面所介紹的感知器和線性神經網絡沒有什么不同。第25頁/共48頁第26頁/共48頁 上圖(下半部) 是一個典型兩層BP網絡 (一個隱層和一個輸出層)。
前饋型網絡通常有一個或多個隱層matlab 結構圖中結構體,隱層中的神經元均采用S型傳遞函數,輸出層的神經采用線性傳遞函數。隱層的非線性傳遞函數神經元可以學習輸入輸出之間的線性和非線性關系,線性輸出層是為了拓寬網絡輸出。如果需要限定網絡輸出(例如約束在0和1之間),則可以采用S型傳遞函數(例如())。 第27頁/共48頁 3.4 BP神經網絡的訓練過程 BP神經網絡拓撲結構圖第28頁/共48頁第29頁/共48頁第30頁/共48頁3.5 基于的BP神經網絡工具箱函數 最新版本的神經網絡工具箱幾乎涵蓋了所有的神經網絡的基本常用模型,如感知器和BP網絡等。對于各種不同的網絡模型,神經網絡工具箱集成了多種學習算法,為用戶提供了極大的方便。 R2007神經網絡工具箱中包含了許多用于BP網絡分析與設計的函數,BP網絡的常用函數如表1所示。第31頁/共48頁表1 BP網絡的常用函數表函數類型函數名稱函數用途前向網絡創建函數newcf創建級聯前向網絡Newff創建前向BP網絡傳遞函數型的對數函數型的正切函數純線性函數 學習函數基于梯度下降法的學習函數梯度下降動量學習函數性能函數mse均方誤差函數均方誤差規范化函數 顯示函數繪制網絡的性能繪制一個單獨神經元的誤差曲面繪制權值和閾值在誤差曲面上的位置計算單個神經元的誤差曲面第32頁/共48頁3.5.1 BP網絡創建函數1) newff該函數用于創建一個BP網絡。
調用格式為:net==newff(PR,[S1 S2..SN1],{TF1 TF2..TFN1},BTF,BLF,PF)其中:net=newff;用于在對話框中創建一個BP網絡。net為創建的新BP神經網絡;PR為網絡輸入向量取值范圍的矩陣;[S1 S2…SNl]表示網絡隱含層和輸出層神經元的個數;{TFl TF2…TFN1}表示網絡隱含層和輸出層的傳輸函數,默認為‘’;BTF表示網絡的訓練函數,默認為‘’;BLF表示網絡的權值學習函數,默認為‘’;PF表示性能數,默認為‘mse’。2)newcf函數用于創建級聯前向BP網絡,函數用于創建一個存在輸入延遲的前向網絡。 第33頁/共48頁3.5.2 神經元上的傳遞函數 傳遞函數是BP網絡的重要組成部分。傳遞函數又稱為激活函數,必須是連續可微的。BP網絡經常采用S型的對數或正切函數和線性函數。 1) :該傳遞函數為S型的對數函數。調用格式為: A=(N) info=(code) 其中,N:Q個S維的輸入列向量;A:函數返回值,位于區間(0,1); 2):該函數為雙曲正切S型傳遞函數。
調用格式為: A=(N) info=(code) 其中,N:Q個S維的輸入列向量;A:函數返回值,位于區間(-1,1)。 3):該函數為線性傳遞函數。調用格式為: A=(N) info=(code) 其中,N:Q個S維的輸入列向量;A:函數返回值,A=N。第34頁/共48頁3.5.3 BP網絡學習函數1)該函數為梯度下降權值/閾值學習函數,它通過神經元的輸入和誤差,以及權值和閾值的學習效率,來計算權值或閾值的變化率。調用格式為:[dW,ls]=(W,P,Z,N,A,T,E,gW,gA,D,LP,LS)[db,ls]=(b,ones(1,Q),Z,N,A,T,E,gW,gA,D,LP,LS)info=(code)2) 函數為梯度下降動量學習函數,它利用神經元的輸入和誤差、權值或閾值的學習速率和動量常數,來計算權值或閾值的變化率。第35頁/共48頁3.5.4 BP網絡訓練函數1)train神經網絡訓練函數,調用其他訓練函數,對網絡進行訓練。該函數的調用格式為:[net,tr,Y,E,Pf,Af]=train(NET,P,T,Pi,Ai)[net,tr,Y,E,Pf,Af]=train(NET,P,T,Pi,Ai,VV,TV)2) 函數為梯度下降BP算法函數。
函數為梯度下降動量BP算法函數。第36頁/共48頁3.6 BP神經網絡在實例中的應用%輸入兩種飛蠓的參數p=[1.78 1.96 1.86 1.72 2.00 1.96 1.74 1.64 1.82 1.90 1.70 1.82 2.08; 1.14 1.18 1.20 1.24 1.26 1.28 1.30 1.36 1.38 1.40 1.48 1.54 1.56];t=[1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 ];%兩種飛蠓的類別plot(p(1,find(t>0.5)),p(2,find(t>0.5)),'o');hold on;plot(p(1,find(t0.5)),'ro');plot(pp(1,find(y