第一章 介紹
1.神經網路 神經網路是單個並行處理元素的集合,我們從生物學神經系統得到啟發。在自然界,網路功能主要由神經節決定,我們可以通過改變連線點的權重來訓練神經網路完成特定的功能。 一般的神經網路都是可調節的,或者說可訓練的,這樣乙個特定的輸入便可得到要求的輸出。如下圖所示。這裡,網路根據輸出和目標的比較而調整,直到網路輸出和目標匹配。作為典型,許多輸入/目標對應的方法已被用在有監督模式中來訓練神經網路。 神經網路已經在各個領域中應用,以實現各種複雜的功能。這些領域包括:模式識別、鑑定、分類、語音、翻譯和控制系統。 如今神經網路能夠用來解決常規計算機和人難以解決的問題。我們主要通過這個工具箱來建立示範的神經網路系統,並應用到工程、金融和其他實際專案中去。
一般普遍使用有監督訓練方法,但是也能夠通過無監督的訓練方法或者直接設計得到其他的神經網路。無監督網路可以被應用在資料組的辨別上。一些線形網路和hopfield網路是直接設計的。總的來說,有各種各樣的設計和學習方法來增強使用者的選擇。 神經網路領域已經有50年的歷史了,但是實際的應用卻是在最近15年裡,如今神經網路仍快速發展著。因此,它顯然不同與控制系統和最優化系統領域,它們的術語、數學理論和設計過程都已牢固的建立和應用了好多年。我們沒有把神經網路工具箱僅看作乙個能正常執行的建好的處理輪廓。我們寧願希望它能成為乙個有用的工業、教育和研究工具,乙個能夠幫助使用者找到什麼能夠做什麼不能做的工具,乙個能夠幫助發展和拓寬神經網路領域的工具。因為這個領域和它的材料是如此新,這個工具箱將給我們解釋處理過程,講述怎樣運用它們,並且舉例說明它們的成功和失敗。我們相信要成功和滿意的使用這個工具箱,對範例和它們的應用的理解是很重要的,並且如果沒有這些說明那麼使用者的埋怨和質詢就會把我們淹沒。所以如果我們包括了大量的說明性材料,請保持耐心。我們希望這些材料能對你有幫助。
這個章節在開始使用神經網路工具箱時包括了一些注釋,它也描述了新的圖形使用者介面和新的運算法則和體系結構,並且它解釋了工具箱為了使用模組化網路物件描述而增強的機動性。最後這一章給出了乙個神經網路實際應用的列表並增加了乙個新的文字--神經網路設計。這本書介紹了神經網路的理論和它們的設計和應用,並給出了相當可觀的matlab和神經網路工具箱的使用。 2.準備工作 基本章節 第一章是神經網路的基本介紹,第二章包括了由工具箱指定的有關網路結構和符號的基本材料以及建立神經網路的一些基本函式,例如new、init、adapt和train。第三章以反向傳播網路為例講解了反向傳播網路的原理和應用的基本過程。 幫助和安裝 神經網路工具箱包含在nnet目錄中,鍵入help nnet可得到幫助主題。 工具箱包含了許多示例。每乙個例子講述了乙個問題,展示了用來解決問題的網路並給出了最後的結果。顯示嚮導要討論的神經網路例子和應用**可以通過鍵入help nndemos找到。 安裝神經網路工具箱的指令可以在下列兩份matlab文件中找到:the installation guide for ms-windows and macintosh 或者the installation guide for unix。
第二章 神經元模型和網路結構
1.符號 數學符號 下面給出等式和數字中用到的基本符號: 標量--小寫的斜體字.....a,b,c 向量--小寫加粗的非斜體字.....a,b,c 矩陣 - 大寫加粗的非斜體字.....a,b,c 向量表示一組數字 數學符號和字元的等價 從數學符號到字元的轉換或者反過來可以遵循一些規則,為了便於今後引用我們將這些規則列出。為了從數學符號變為matlab符號使用者需要: 變上標為細胞陣列標號 例如 變下標為圓括號標號 例如 和 變圓括號標號為二維陣列標號 例如 變數**算符為matlab 運算子和工具箱函式.
2.神經元模型 單神經元 下圖所示為乙個單標量輸入且無偏置的神經元。 這個輸入標量通過乘以權重為標量w的鏈結點得到結果wp,這仍是乙個標量。這裡,加權的輸入wp僅僅是轉移函式f的引數,函式的輸入是標量a。右邊的神經元有乙個標量偏置b,你既可以認為它僅僅是通過求和節點加在結果 wp上,也可以認為它把函式f左移了b個單位,偏置除了有乙個固定不變的輸入值1以外,其他的很像權重。標量n是加權輸入wp和偏置b的和,它作為轉移函式f的引數。函式f是轉移函式,它可以為階躍函式或者曲線函式,它接收引數n給出輸出a,下一節將給出各種不同的轉移函式。注意神經元中的w和b都是可調整的標量引數。神經網路的中心思想就是引數的可調整使得網路展示需要和令人感興趣的行為。這樣,我們就可以通過調整權重和偏置參量訓練神經網路做一定的工作。或者神經網路自己調整引數以得到想要的結果。 在這個工具箱裡所有的神經元都提供偏置,我們的許多例子中都用到了偏置並且假定它在這個工具箱的大多數情況下都要用到。可是,如果你願意的話,你也可以在乙個神經元中省略偏置。 正如上面所提到的,在神經元中,標量b是個可調整的引數。它不是乙個輸入。可是驅動偏置的常量1卻是乙個輸入而且當考慮線性輸入向量時一定要這樣認為。 轉移函式 在這個工具箱裡包括了許多轉移函式。你能在"transfer function graphs"中找到它們的完全列表。下面列出了三個最常用的函式。
上圖所示的階躍轉移函式限制了輸出,使得輸入引數小於0時輸出為0,大於或等於0時輸出為1,在第三章中我們將用它來進行分類。 工具箱中有乙個函式hardlim來數學上的階躍,如上圖所示。我們可以輸入以下** n = -5:0.1:5; plot(n,hardlim(n),'c+:'); 它產生一張在-5到5之間的階躍函式圖。 所有在工具箱中的數學轉移函式都能夠用同名的函式實現。 線性轉移函式如下圖所示 這種型別的神經元將在第四章的自適應線性濾波中用作線性擬合。 下圖顯示的曲線轉移函式的輸入引數是正負區間的任意值,而將輸出值限定於0到1之間。 這種傳遞函式通常用於反向傳播(bp)網路,這得益於函式的可微性。 在上面所示的每乙個轉移函式圖的右邊方框中的符號代表了對應的函式,這些圖表將替換網路圖的方框中的f來表示所使用的特定的轉移函式。
第三章轉移函式和圖示。
你能夠定義自己的傳遞函式,你可以不限於使用第13章所列的轉移函式。你能夠通過執行示例程式nn2n1來試驗乙個神經元和各種轉移函式。 帶向量輸入的神經元 乙個有r個元素輸入向量的神經元如下圖所示。這裡單個輸入元素 乘上權重得到加權值輸入求和節點。它們的和是wp,單行矩陣w和向量p的點乘。 這個神經元有乙個偏置b,它加在加權的輸入上得到網路輸入n,和值n是轉移函式f的引數。表示式自然可用matlab**表示為: n =w*p + b 可是,使用者很少要寫如此底層的**,因為這些**已經被建立到函式中來定義和模擬整個網路。上面所示的圖包括了許多細節。
當我們考慮有許多神經元和可能是許多神經元組成的多層網路時,我們可能會漏掉許多細節。因此,作者設計了乙個簡潔的符號代表單個神經元。這個符號如下圖中所示,它將會在以後的多重神經元電路中用到。 這裡輸入向量p用左邊的黑色實心豎條代表,p的維數寫在符號p下面,在圖中是rx1。(注意我們用的是大寫字母,正如在以前句子裡r用來表示向量大小時一樣。)因此,p是乙個有r個輸入元素的向量。這個輸入列向量乘上r列單行矩陣w。和以前一樣,常量1作為乙個輸入乘上偏置標量b,給轉移函式的網路輸入是n,它是偏置與乘積wp的和。這個和值傳給轉移函式f得到網路輸出a,在這個例子中它是乙個標量。注意如果我們有超過乙個神經元,網路輸出就有可能是乙個向量。 上面圖中定義了神經網路的一層。一層包括權重的組合,乘法和加法操作(這裡就是向量乘積wp),偏置b和轉移函式f。輸入陣列,即向量p不包括在一層中。 這個簡潔的網路符號每一次都會被用到,向量的大小會顯示在矩陣變數名字的下面。我們希望這個符號會讓你理解神經網路的結構以及與之相關的矩陣數學。
matlab神經網路工具箱
1 聚類 2 輸入輸出得擬合關係 3 模式識別和分類 4 動態時間序列 下面我們分別來看一下這些神經網路工具箱得使用 這是乙個簡單的對輸入輸出資料進行擬合得工具箱,使用具有隱藏層得神經網路結構。在本文中選取樣例,13 256得矩陣,表示256個人得13項身體指標樣本資料。在進行了前面比較簡單的選擇之...
MATLAB神經網路工具箱函式
說明 本文件中所列出的函式適用於matlab5.3以上版本,為了簡明起見,只列出了函式名,若需要進一步的說明,請參閱matlab的幫助文件。1.網路建立函式 newp 建立感知器網路 newlind 設計一線性層 newlin 建立一線性層 newff 建立一前饋bp網路 newcf 建立一多層前饋...
MATLAB 神經網路工具箱函式
說明 這裡所列出的函式適用於 matlab5.3 以上版本,為了簡明起見,只列出了函式名,若需要進一步的說明,請參閱 matlab 的幫助文件。newp 建立感知器網路 newlind 設計一線性層 newlin 建立一線性層 newff 建立一前饋 bp 網路 newcf 建立一多層前饋 bp 網...