面向移動設備的機器學習
內容描述
本書詳細闡述了與移動設備機器學習相關的基本解決方案,
主要包括面向移動設備的機器學習應用程序、監督學習和無監督學習算法、
iOS上的隨機森林、在Android中使用TensorFlow、在iOS中使用Core ML進行回歸、ML Kit SDK、
垃圾郵件檢測、Fritz、移動設備上的神經網絡、使用Google Cloud Vision的移動應用程序、
移動應用程序上機器學習的未來等內容。
此外,本書還提供了相應的示例、代碼,以幫助讀者進一步理解相關方案的實現過程。
本書適合作為高等院校計算機及相關專業的教材和教學參考書,
也可作為相關開發人員的自學教材和參考手冊。
目錄大綱
第1章面向移動設備的機器學習應用程序 1
1.1 機器學習的定義 2
1.2 機器學習過程 4
1.2.1 定義機器學習問題 5
1.2.2 準備數據 5
1.2.3 建立模型 7
1.2.4 進行預測/現場部署10
1.3 學習類型10
1.3.1 監督學習10
1.3.2 無監督學習12
1.3.3 半監督學習14
1.3.4 強化學習15
1.3.5 機器學習的挑戰16
1.4 在移動設備上進行機器學習17
1.4.1 在移動應用程序中實現機器學習的方法18
1.4.2 流行的移動機器學習工具和SDK 26
1.4.3 實現移動設備上機器學習應用程序所需的技能27
1.5 小結28
第2章監督學習和無監督學習算法29
2.1 監督學習算法簡介29
2.2 深入研究監督學習算法30
2.2.1 樸素貝葉斯32
2.2.2 決策樹34
2.2.3 線性回歸35
2.2.4 邏輯回歸36
2.2.5 支持向量機38
2.2.6 隨機森林40
2.3 無監督學習算法簡介41
2.4 深入研究無監督學習算法42
2.4.1 聚類算法43
2.4.2 關聯規則學習算法45
2.5 小結46
2.6 參考文獻46
第3章iOS上的隨機森林47
3.1 算法簡介47
3.1.1 決策樹47
3.1.2 隨機森林50
3.2 在Core ML中使用隨機森林解決問題52
3.2.1 數據集52
3.2.2 技術要求53
3.2.3 使用scikit-learn創建模型文件54
3.2.4 將scikit模型轉換為Core ML模型56
3.2.5 使用Core ML模型創建iOS移動應用程序57
3.3 小結60
3.4 深入閱讀60
第4章在Android中使用TensorFlow 61
4.1 關於TensorFlow 61
4.2 移動機器學習應用程序的體系結構64
4.3 使用TensorFlow模型編寫移動應用程序68
4.3.1 編寫第一個程序68
4.3.2 創建Android應用程序71
4.4 小結76
第5章在iOS中使用Core ML進行回歸77
5.1 回歸簡介77
5.2 了解Core ML的基礎81
5.3 在Core ML中使用回歸解決問題84
5.3.1 技術要求84
5.3.2 如何使用scikit-learn創建模型文件84
5.3.3 運行和測試模型87
5.3.4 將模型導入iOS項目88
5.3.5 編寫iOS應用程序88
5.3.6 運行iOS應用程序90
5.4 深入閱讀90
5.5 小結91
第6章ML Kit SDK 93
6.1 理解ML Kit 93
6.2 使用Firebase設備上的API創建文本識別應用97
6.3 使用Firebase雲端API創建文本識別應用103
6.4 使用ML Kit進行人臉檢測106
6.4.1 人臉檢測概念106
6.4.2 使用ML Kit進行臉部檢測的示例解決方案107
6.4.3 運行應用程序109
6.5 小結110
第7章垃圾郵件檢測111
7.1 理解NLP 111
7.1.1 關於NLP 111
7.1.2 文本預處理技術113
7.1.3 特徵工程114
7.1.4 分類/聚類文本115
7.2 理解線性SVM算法115
7.3 在Core ML中使用線性SVM解決問題117
7.3.1 關於數據117
7.3.2 技術要求118
7.3.3 使用Scikit Learn創建模型文件118
7.3.4 將scikit-learn模型轉換為Core ML模型119
7.3.5 編寫iOS應用程序120
7.4 小結124
第8章Fritz 125
8.1 關於Fritz 126
8.1.1 預建機器學習模型126
8.1.2 使用自定義模型的能力126
8.1.3 模型管理126
8.2 使用Fritz的實戰示例127
8.2.1 通過Fritz使用現有的TensorFlow for mobile模型127
8.2.2 使用Fritz預製模型創建Android應用程序138
8.2.3 在使用Fritz的iOS應用程序中使用現有的Core ML模型145
8.3 小結150
第9章移動設備上的神經網絡151
9.1 神經網絡介紹151
9.1.1 神經元的通信步驟151
9.1.2 激活函數152
9.1.3 神經元的排列153
9.1.4 神經網絡的類型154
9.2 圖像識別解決方案154
9.3 創建TensorFlow圖像識別模型154
9.3.1 關於TensorFlow的作用155
9.3.2 重新訓練模型156
9.3.3 將TensorFlow模型轉換為Core ML模型161
9.3.4 編寫iOS移動應用程序165
9.4 手寫數字識別解決方案168
9.5 關於Keras 169
9.6 安裝Keras 169
9.7 求解問題169
9.7.1 定義問題陳述170
9.7.2 問題方案171
9.8 小結180
第10章使用Google Cloud Vision的移動應用程序181
10.1 關於Google Cloud Vision的功能181
10.2 使用Google Cloud Vision的示例移動應用程序182
10.2.1 標籤檢測的工作原理182
10.2.2 先決條件183
10.2.3 準備工作184
10.2.4 理解應用185
10.2.5 輸出186
10.3 小結187
第11章移動應用程序上機器學習的未來189
11.1 主要的機器學習移動應用程序189
11.1.1 Facebook 190
11.1.2 Google Maps 190
11.1.3 Snapchat 190
11.1.4 Tinder 190
11.1.5 Netflix 190
11.1.6 Oval Money 191
11.1.7 ImprompDo 191
11.1.8 Dango 191
11.1.9 Carat 191
11.1.10 Uber 191
11.1.11 GBoard 191
11.2 主要創新領域191
11.2.1 個性化應用192
11.2.2 衛生保健192
11.2.3 有針對性的促銷和營銷192
11.2.4 視聽識別192
11.2.5 電子商務192
11.2.6 財務管理193
11.2.7 遊戲與娛樂193
11.2.8 企業應用193
11.2.9 房地產194
11.2.10 農業194
11.2.11 能源194
11.2.12 移動安全195
11.3 利益相關者的機會195
11.3.1 硬件製造商195
11.3.2 移動操作系統供應商196
11.3.3 第三方移動機器學習SDK提供商196
11.3.4 機器學習移動應用程序開發人員196
11.4 小結197
附錄A 問題與答案199
A.1 常見問題解答199
A.1.1 數據科學199
A.1.2 機器學習框架201
A.1.3 移動機器學習項目實現204
A.1.4 安裝206
A.2 參考文獻207