第 一部分 機器學習基礎知識
第 1 章 開始機器學習 2
1.1 機器學習簡介 2
1.2 理解機器學習的背景知識 3
1.2.1 數(shù)學(線性代數(shù)、微分、統(tǒng)計和概率) 3
1.2.2 編程 4
1.3 機器學習發(fā)展史 4
1.3.1 機器學習的歷史與現(xiàn)狀 4
1.3.2 機器學習的三大學派 6
1.4 機器學習的分類 7
1.4.1 監(jiān)督學習、無監(jiān)督學習、強化學習 8
1.4.2 監(jiān)督學習的詳細分類 9
1.4.3 無監(jiān)督學習詳細分類 10
1.4.4 深度學習 11
1.5 小結 11
第 2 章 機器學習主要概念 12
2.1 模型:觀察問題的角度 12
2.1.1 模型的定義 13
2.1.2 簡單模型 14
2.1.3 復雜模型 15
2.1.4 結構模型 16
2.1.5 好模型的定義 17
2.2 損失函數(shù):模型的公式化學習目標 19
2.2.1 算術損失函數(shù) 20
2.2.2 概率損失函數(shù) 21
2.2.3 排序損失函數(shù) 23
2.2.4 模型復雜度與相關損失函數(shù) 24
2.3 優(yōu)化:實際訓練的方法 25
2.3.1 梯度下降法 26
2.3.2 牛頓/擬牛頓法 28
2.3.3 隨機梯度下降法 28
2.3.4 反向傳播 30
2.3.5 最新的優(yōu)化方法 31
2.4 模型評估:實際運用中的性能評估方法 31
2.4.1 模型的泛化特征評估 31
2.4.2 準確率 32
2.4.3 精確率與召回率 33
2.4.4 排序評估 34
2.5 小結 35
第二部分 機器學習的主要模型
第3 章 數(shù)據(jù)與問題 38
3.1 數(shù)據(jù)類型 38
3.1.1 文本數(shù)據(jù) 38
3.1.2 數(shù)值數(shù)據(jù) 39
3.1.3 圖像數(shù)據(jù) 39
3.1.4 音頻數(shù)據(jù) 40
3.1.5 混合數(shù)據(jù) 40
3.2 數(shù)據(jù)量與數(shù)據(jù)質量 40
3.2.1 數(shù)據(jù)量與機器學習的相關性 40
3.2.2 數(shù)據(jù)質量與機器學習的相關性 41
3.3 數(shù)據(jù)標準化 42
3.3.1 數(shù)值數(shù)據(jù)標準化 42
3.3.2 分類數(shù)據(jù)標準化 44
3.3.3 序數(shù)數(shù)據(jù)標準化 44
3.4 問題類型 45
3.4.1 回歸 45
3.4.2 分類 46
3.4.3 聚類問題 46
3.4.4 表征學習(嵌入學習) 47
3.5 小結 48
第4 章 利用購買歷史數(shù)據(jù)構建用戶群 49
4.1 聚類 49
4.2 K 中心點聚類 50
4.3 層次聚類 53
4.4 基于密度的聚類 56
4.5 計算相似度 57
4.5.1 閔氏距離 58
4.5.2 馬氏距離 59
4.6 小結 61
第5 章 構建文本分析系統(tǒng) 62
5.1 構建文本分類系統(tǒng) 62
5.1.1 文本分類的常用特征 62
5.1.2 利用特征進行分類操作 65
5.2 主題建模 69
5.3 語法分析 71
5.3.1 詞性標注 71
5.3.2 命名實體識別 74
5.4 詞嵌入學習——word2vec 75
5.5 小結 78
第6 章 構建電影推薦系統(tǒng) 79
6.1 電影推薦系統(tǒng) 79
6.2 相似度運算 80
6.2.1 杰卡德系數(shù) 80
6.2.2 余弦相似度 81
6.2.3 編輯距離 82
6.3 基于內容的推薦系統(tǒng) 83
6.4 協(xié)同過濾 84
6.4.1 均方根誤差 85
6.4.2 基于用戶/商品的協(xié)同過濾 86
6.4.3 隱因子模型 87
6.5 標準化 90
6.6 小結 91
第7 章 構建圖像識別系統(tǒng) 92
7.1 圖像處理基本概念 92
7.1.1 像素 92
7.1.2 濾波 93
7.1.3 卷積 95
7.2 圖像識別 97
7.2.1 圖像分類 98
7.2.2 圖像檢測 98
7.3 用于圖像識別的特征 99
7.3.1 輪廓線 99
7.3.2 角點 100
7.3.3 SIFT 103
7.3.4 主成分分析 105
7.4 利用深度學習進行圖像識別 107
7.4.1 關于CNN 107
7.4.2 卷積層 108
7.4.3 池化 109
7.4.4 激活函數(shù) 110
7.4.5 全連接層 111
7.5 小結 112
第8 章 解決機器學習中的多種問題 113
8.1 模型問題 113
8.1.1 過度學習 113
8.1.2 如何更輕松地找到好模型 119
8.2 數(shù)據(jù)問題 121
8.2.1 數(shù)據(jù)量過大 121
8.2.2 數(shù)據(jù)量過少 123
8.2.3 數(shù)據(jù)略微傾斜 124
8.3 速度問題 126
8.3.1 向量運算 126
8.3.2 機器學習高效運行系統(tǒng) 128
8.3.3 分布式處理 128
8.4 小結 129
第三部分 機器學習系統(tǒng)應用
第9 章 機器學習軟件簡介 132
9.1 安裝Python 與庫 132
9.2 著名數(shù)據(jù)庫簡介 133
9.2.1 機器學習庫 133
9.2.2 深度學習庫 134
9.2.3 與計算相關的庫 136
9.3 本書使用的工具包 136
9.3.1 Scikit-learn 137
9.3.2 TensorFlow 140
9.4 小結 151
第 10 章 利用購買歷史數(shù)據(jù)構建用戶群——實戰(zhàn) 152
10.1 數(shù)據(jù)集 152
10.2 數(shù)據(jù)預處理 153
10.3 K 均值聚類 160
10.4 確定正確的簇數(shù)K 161
10.4.1 定量評估 161
10.4.2 定性評估 164
10.5 分層聚類法 168
10.6 小結 173
第 11 章 構建文本分析系統(tǒng)——實戰(zhàn) 174
11.1 構建垃圾短信過濾器(文本分類) 174
11.1.1 用于示例的數(shù)據(jù)處理 174
11.1.2 通過特征分類 179
11.2 構建主題模型系統(tǒng) 182
11.3 構建詞性分析系統(tǒng) 184
11.4 構建專有名詞標記系統(tǒng) 185
11.5 小結 187
第 12 章 構建電影推薦系統(tǒng)——實戰(zhàn) 188
12.1 數(shù)據(jù)集 188
12.2 數(shù)據(jù)預處理 189
12.3 構建基于內容的電影推薦系統(tǒng) 192
12.4 構建基于協(xié)同過濾的電影推薦系統(tǒng) 198
12.4.1 實現(xiàn)奇異值分解 198
12.4.2 實現(xiàn)梯度下降法 203
12.4.3 評估近似結果 205
12.5 小結 209
第 13 章 構建圖像識別系統(tǒng)——實戰(zhàn) 210
13.1 圖像數(shù)據(jù)的K 均值聚類 210
13.2 以主成分分析進行人臉識別 213
13.3 運用CNN 進行手寫數(shù)字分類 223
13.3.1 生成特征 224
13.3.2 訓練與測試 228
13.4 小結 234