機器學習是人工智能的一個方向。它是一門多領域交叉學科,涉及概率論、統計學、矩陣論、神經網絡、計算機等多門學科。其目標是使用計算機模擬或實現人類學習活動,從現有大量的數據中學習,利用經驗不斷改善系統性能。機器學習步驟一般分為獲取數據、數據預處理、建立模型、模型評估和預測。本書共6章。第1章節主要介紹機器學習的基本概念及其發展史、機器學習分類、常見機器學習算法及其特點;第2章搭建機器學習開發環境,主要包括anaconda\pycharm\python軟件的安裝及使用,以及常見機器學習庫的介紹和安裝使用方法;第3章介紹了監督學習的4個經典算法:線性回歸、決策樹、k近鄰和支持向量機算法,其重點在算法的應用;第4章介紹了主成分分析降維算法、Kmeans聚類算法;第5章介紹人工神經網絡基礎,并通過房價預測和手寫數字識別實例進行驗證;第6章介紹強化學習的基本概念,有模型學習和無模型學習,最后介紹了Q-Learning算法和Sarsa算法。本書由人工智能技術專業教師和英特爾FPGA中國創新中心的工程師們合力編寫,講解了大量的具體程序案例,涵蓋大部分機器學習算法,教師和學生可以根據應用需求,選擇對應的知識點和算法。本書所有程序均已經在英特爾FPGA中國創新中心AILab實訓平臺上驗證實現。本書可作為高職高專院校電子信息類相關專業教材,也可作為科技人員的參考用書。
徐宏英,女,工學碩士,重慶電子工程職業學院骨干教師,參研國家自然科學基金一項,參研省級重點科技攻關項目一項,主持省級教改課題一項,參研省部級項目8項,第一主編出版教材1部,發表論文10余篇,申請專利8項,指導學生參加全國大學生電子設計大賽獲全國二等獎1項,指導學生參加職業技能競賽獲全國二等獎1項,省部級電子設計大賽、職業技能大賽10余項。
第1章 機器學習介紹001
1.1 機器學習簡介002
1.1.1 機器學習的基本概念003
1.1.2 機器學習的發展歷史005
1.2 機器學習的分類及典型算法010
1.2.1 機器學習的分類010
1.2.2 監督學習011
1.2.3 非監督學習014
1.2.4 半監督學習015
1.2.5 強化學習018
本章小結019
習題020
第2章 基于Python語言的機器學習環境搭建與配置023
2.1 機器學習相關軟件介紹024
2.1.1 機器學習開發語言024
2.1.2 機器學習開發工具028
2.2 機器學習開發環境搭建036
2.2.1 Python的安裝及使用036
2.2.2 Anaconda的安裝及使用041
2.2.3 PyCharm的安裝及使用052
2.3 常見機器學習庫函數功能介紹059
2.3.1 基礎科學計算庫(NumPy)059
2.3.2 科學計算工具集(Scipy)068
2.3.3 數據分析庫(Pandas)074
2.3.4 圖形繪制庫(Matplotlib)079
2.3.5 機器學習常用算法庫(Scikit-learn)080
本章小結083
習題084
第3章 監督學習087
3.1 線性回歸算法088
3.1.1 常用損失函數089
3.1.2 最小二乘法091
3.1.3 梯度下降法092
3.1.4 線性回歸算法實例094
3.2 決策樹算法098
3.2.1 分類準則099
3.2.2 ID3算法102
3.2.3 C4.5算法108
3.2.4 CART算法111
3.2.5 決策樹算法實例113
3.3 k近鄰算法116
3.3.1 k值的選取及特征歸一化117
3.3.2 kd樹120
3.3.3 k近鄰算法實例128
3.4 支持向量機算法133
3.4.1 線性可分性133
3.4.2 對偶問題136
3.4.3 核函數139
3.4.4 軟間隔142
3.4.5 支持向量機算法實例144
本章小結146
習題146
第4章 非監督學習149
4.1 非監督學習概述150
4.1.1 非監督學習的基本概念150
4.1.2 非監督學習的分類151
4.1.3 非監督學習的特點152
4.1.4 非監督學習的應用153
4.2 主成分分析降維算法154
4.2.1 數據降維介紹154
4.2.2 PCA算法介紹155
4.2.3 PCA算法求解步驟159
4.2.4 PCA算法實例161
4.3 K-means聚類算法163
4.3.1 聚類算法簡介163
4.3.2 K-means算法介紹164
4.3.3 K-means算法求解步驟165
4.3.4 K-means算法實例170
本章小結172
習題173
第5章 人工神經網絡175
5.1 人工神經網絡概述176
5.1.1 人工神經網絡的發展歷程176
5.1.2 人工神經網絡基礎180
5.1.3 人工神經網絡模型188
5.1.4 人工神經網絡的應用191
5.2 房價預測實例193
5.2.1 房價預測模型構建193
5.2.2 房價預測網絡構建198
5.3 手寫數字識別實例199
5.3.1 手寫數字識別簡介199
5.3.2 手寫數字識別網絡構建201
本章小結203
習題203
第6章 強化學習205
6.1 強化學習概述206
6.1.1 強化學習的基本概念206
6.1.2 強化學習的發展歷史208
6.1.3 強化學習的分類210
6.1.4 強化學習的特點及應用211
6.2 強化學習基礎212
6.2.1 馬爾可夫決策過程212
6.2.2 貪心算法213
6.3 有模型學習和無模型學習214
6.3.1 有模型學習214
6.3.2 無模型學習216
6.4 強化學習實例216
6.4.1 Q-Learning算法216
6.4.2 Sarsa算法232
本章小結242
習題243