神經網絡算法與實現:基於Java語言
內容描述
人工神經網絡是由眾多連接權值可調的神經元連接而成,具有大規模並行處理、分佈式信息存儲、良好的自組織自學習能力等特點,能夠完成模式識別、機器學習以及預測趨勢等任務。
本書通過9章內容,並結合Java編程語言,由淺入深地介紹了神經網絡算法的應用。書中涉及神經網絡的構建、神經網絡的結構、神經網絡的學習、感知機、自組織映射等核心概念,並將天氣預測、疾病診斷、客戶特徵聚類、模式識別、神經網絡優化與自適應等經典案例囊括其中。本書在附錄中詳細地指導讀者進行開發環境的配置,幫助讀者更加順利地進行程序開發。
本書非常適合對神經網絡技術感興趣的開發人員和業餘讀者閱讀,讀者無需具備Java編程知識,也無需提前瞭解神經網絡的相關概念。本書將從零開始為讀者進行由淺入深地講解。
目錄大綱
目錄
第1章初識神經網絡1
1.1探索神經網絡1
1.2為什麼要用人工神經網絡2
1.3神經網絡的構造3
1.3.1基礎元素——人工神經元3
1.3.2賦予神經元生命——激活函數4
1.3.3基礎值——權值5
1.3.4重要參數——偏置5
1.3.5神經網絡組件——層5
1.4神經網絡結構6
1.4.1單層神經網絡7
1.4.2多層神經網絡7
1.4.3前饋神經網絡8
1.4.4反饋神經網絡8
1.5從無知到有識——學習過程8
1.6實踐神經網絡9
1.7小結15
第2章神經網絡是如何學習的16
2.1神經網絡的學習能力16
2.2學習範式17
2.2.1監督學習17
2.2.2無監督學習18
2.3系統結構——學習算法19
2.3.1學習的兩個階段——訓練和測試20
2.3.2細節——學習參數21
2.3.3誤差度量和代價函數22
2.4學習算法示例22
2.4.1感知機22
2.4.2Delta規則23
2.5神經網絡學習過程的編碼23
2.5.1參數學習實現23
2.5.2學習過程24
2.5.3類定義26
2.6兩個實例33
2.6.1感知機(報警系統)34
2.6.2ADALINE(交通預測)37
2.7小結42
第3章運用感知機43
3.1學習感知機神經網絡43
3.1.1感知機的應用和局限性44
3.1.2線性分離44
3.1.3經典XOR(異或)例子45
3.2流行的多層感知機(MLP)47
3.2.1MLP屬性48
3.2.2MLP權值49
3.2.3遞歸MLP50
3.2.4MLP在OOP範式中的結構50
3.3有趣的MLP應用51
3.3.1使用MLP進行分類51
3.3.2用MLP進行回歸53
3.4MLP的學習過程54
3.4.1簡單但很強大的學習算法——反向傳播55
3.4.2複雜而有效的學習算法——Levenberg–Marquardt57
3.5MLP實現58
3.5.1實戰反向傳播算法61
3.5.2探索代碼62
3.6Levenberg–Marquardt實現66
3.7實際應用——新生入學68
3.8小結71
第4章自組織映射72
4.1神經網絡無監督學習方式72
4.2無監督學習算法介紹73
4.3Kohonen自組織映射76
4.3.1一維SOM77
4.3.2二維SOM78
4.3.3逐步實現自組織映射網絡學習80
4.3.4如何使用SOM81
4.4Kohonen算法編程81
4.4.1探索Kohonen類84
4.4.2Kohonen實現(動物聚類)86
4.5小結88
第5章天氣預測89
5.1針對預測問題的神經網絡89
5.2無數據,無神經網絡——選擇數據91
5.2.1了解問題——天氣變量92
5.2.2選擇輸入輸出變量92
5.2.3移除無關行為——數據過濾93
5.3調整數值——數據預處理94
5.4Java實現天氣預測96
5.4.1繪製圖表96
5.4.2處理數據文件97
5.4.3構建天氣預測神經網絡98
5.5神經網絡經驗設計101
5.5.1選擇訓練和測試數據集101
5.5.2設計實驗102
5.5.3結果和模擬103
5.6小結105
第6章疾病診斷分類106
6.1什麼是分類問題,以及如何應用神經網絡106
6.2激活函數的特殊類型——邏輯回歸107
6.2.1二分類VS多分類109
6.2.2比較預期結果與產生結果——混淆矩陣109
6.2.3分類衡量——靈敏度和特異性110
6.3應用神經網絡進行分類111
6.4神經網絡的疾病診斷114
6.4.1使用神經網絡診斷乳腺癌114
6.4.2應用神經網絡進行早期糖尿病診斷118
6.5小結121
第7章客戶特徵聚類122
7.1聚類任務123
7.1.1聚類分析123
7.1.2聚類評估和驗證124
7.1.3外部驗證125
7.2應用無監督學習125
7.2.1徑向基函數神經網絡125
7.2.2Kohonen神經網絡126
7.2.3數據類型127
7.3客戶特徵128
7.4Java實現129
7.5小結135
第8章模式識別(OCR案例)136
8.1什麼是模式識別136
8.1.1定義大量數據中的類別137
8.1.2如果未定義的類沒有被定義怎麼辦138
8.1.3外部驗證138
8.2如何在模式識別中應用神經網絡算法138
8.3OCR問題140
8.3 .1簡化任務——數字識別140
8.3.2數字表示的方法140
8.4開始編碼141
8.4.1生成數據141
8.4.2構建神經網絡143
8.4.3測試和重新設計——試錯144
8.4.4結果145
8.5小結148
第9章神經網絡優化與自適應149
9.1神經網絡實現中的常見問題149
9.2輸入選擇150
9.2.1數據相關性150
9.2.2降維151
9.2.3數據過濾152
9.3結構選擇152
9.4在線再訓練154
9.4.1隨機在線學習155
9.4.2實現156
9.4.3應用157
9.5自適應神經網絡159
9.5.1自適應共振理論159
9.5.2實現160
9.6小結162
附錄ANetBeans環境搭建163
附錄BEclipse環境搭建175
附錄C參考文獻186
作者介紹
Fábio M. Soares擁有帕拉聯邦大學(Universidade Federal do Pará,UFPA)的計算機應用專業碩士學位,目前是該所大學的在讀博士生。他從2004年開始就一直在設計神經網絡解決方案,在電信、化學過程建模等多個領域開發了神經網絡技術的應用,他的研究主題涉及數據驅動建模的監督學習。
他也是一名個體經營者,為巴西北部的一些中小型公司提供IT基礎設施管理和數據庫管理等服務。在過去,他曾為大公司工作,如Albras(世界上zui重要的鋁冶煉廠之一)和Eletronorte(巴西的一個大型電源供應商)。他也有當講師的經歷,曾在亞馬遜聯邦農業大學(Federal Rural University)和卡斯塔尼亞爾的一個學院授課,兩所學校都在帕拉州,所教的學科涉及編程和人工智能。
他出版了許多作品,其中許多都有英文版,所有作品都是關於針對某些問題的人工智能技術。他在眾多權v會議上發表了一系列學術文章,如TMS(礦物金屬和材料學會)、輕金屬學會和智能數據工程、自動學習學會等學術會議。他還為Intech寫過兩章內容。
Alan MF Souza是來自亞馬遜高級研究所(Instituto de Estudos Superiores da Amaz?nia,IESAM)的計算機工程師。他擁有軟件項目管理的研究生學位以及帕拉聯邦大學(Universidade Federal do Pará,UFPA)的工業過程(計算機應用)碩士學位。自2009年以來,他一直從事神經網絡方面的工作,並從2006年開始與巴西的IT公司合作進行Java、PHP、SQL和其他編程語言的開發。他熱衷於編程和計算智能。目前,他是亞馬遜大學(Universidade da Amaz?nia,UNAMA)的教授和帕拉聯邦大學的在讀博士生。