項目1 認識人工智能 1
1.1 人工智能簡介 2
1.1.1 為什么要學人工智能 2
1.1.2 人工智能的定義 2
1.1.3 人工智能的技術目標 3
1.1.4 人工智能的三次浪潮 3
1.1.5 人工智能的不完美性 5
1.2 人工智能、機器學習和深度學習 5
1.3 人工智能的技術架構 6
1.4 人工智能的應用場景 6
1.5 人工智能的主要方向 8
1.6 人工智能的主要算法 8
1.6.1 機器學習 8
1.6.2 深度學習 9
1.7 人工智能相關的基礎學習庫與工具 10
1.8 深度學習框架與平臺 11
1.9 人工智能簡單要素 12
1.9.1 訓練和測試 12
1.9.2 基于人工智能的編程和基于規(guī)則的編程 12
課后習題 14
項目2 Python基礎 17
2.1 Python安裝 18
2.2 Python基本知識 21
2.2.1 基本運算 21
2.2.2 變量 22
2.2.3 表達式和語句 22
2.2.4 類型 23
2.2.5 數(shù)字類型 23
2.2.6 字符串 23
2.2.7 注釋 25
2.3 模塊 25
2.4 數(shù)據結構 25
2.4.1 列表 26
2.4.2 元組 27
2.5 字典 27
2.5.1 創(chuàng)建字典 28
2.5.2 常見操作 28
2.6 集合 28
2.6.1 基本操作 28
2.6.2 其他操作 29
2.7 條件語句和循環(huán)語句 30
2.7.1 條件語句 30
2.7.2 循環(huán)語句 30
2.8 函數(shù) 31
2.8.1 規(guī)則 31
2.8.2 語法 31
2.8.3 Lambda函數(shù) 32
2.9 Python面向對象的編程 32
2.9.1 對象 32
2.9.2 繼承 34
2.9.3 組合 34
2.10 可視化 35
2.10.1 繪制圖形 35
2.10.2 顯示圖像 36
2.11 Python案例 37
課后習題 39
項目3 機器學習基礎 41
3.1 最小二乘法 42
3.2 激活函數(shù) 44
3.2.1 Sign函數(shù) 45
3.2.2 Sigmoid函數(shù) 45
3.2.3 Tanh函數(shù) 46
3.2.4 ReLU函數(shù) 47
3.3 損失函數(shù) 48
3.3.1 0-1損失函數(shù) 48
3.3.2 平方損失函數(shù) 48
3.3.3 對數(shù)損失函數(shù) 48
3.3.4 交叉熵損失函數(shù) 49
3.3.5 對比損失函數(shù) 49
3.4 梯度下降算法 49
3.5 前向傳播算法和反向傳播算法 50
3.5.1 前向傳播算法 50
3.5.2 反向傳播算法 51
3.6 學習率 52
3.7 正則化 53
3.7.1 正則化 53
3.7.2 正則化 53
3.8 歐氏距離和余弦相似度 54
3.8.1 歐氏距離 54
3.8.2 余弦相似度 54
3.8.3 基于角度間隔的方法 55
課后習題 55
項目4 特征工程及應用 57
4.1 特征工程的含義 58
4.1.1 數(shù)據和數(shù)據處理 58
4.1.2 特征工程 58
4.1.3 特征工程的重要性 59
4.1.4 特征的種類 60
4.2 歸一化和標準化 60
4.2.1 歸一化 61
4.2.2 標準化 62
4.3 模型存儲和模型加載 63
4.3.1 模型存儲 63
4.3.2 模型加載 63
4.4 特征選擇和降維 63
4.4.1 特征值和特征向量 63
4.4.2 奇異值和奇異值分解 64
4.5 特征選擇和特征轉換 65
4.5.1 PCA的含義 65
4.5.2 PCA降維過程的代碼實現(xiàn)方法 68
4.5.3 LDA的含義 72
4.5.4 LDA降維過程的代碼實現(xiàn)方法 72
4.6 Python參數(shù)搜索 76
課后習題 77
項目5 經典算法的實現(xiàn) 78
5.1 KNN算法 80
5.1.1 分類任務 80
5.1.2 回歸任務 81
5.2 支持向量機 82
5.2.1 支持向量機的基本原理 83
5.2.2 參數(shù)優(yōu)化 84
5.2.3 核函數(shù) 84
5.2.4 使用Scikit-Learn構建支持向量機 85
5.3 邏輯回歸 85
5.3.1 確定假設函數(shù) 85
5.3.2 構造損失函數(shù) 86
5.3.3 最小化損失函數(shù) 86
5.3.4 正則化 86
5.3.5 代碼實現(xiàn) 87
5.4 線性回歸 87
5.4.1 一元線性回歸 87
5.4.2 損失函數(shù) 88
5.4.3 優(yōu)化方法 88
5.5 樸素貝葉斯 88
5.5.1 樸素貝葉斯算法的流程 89
5.5.2 代碼實現(xiàn) 89
5.6 決策樹 90
5.6.1 ID3-最大信息增益 91
5.6.2 C4.5-最大信息增益比 91
5.6.3 CART-最大基尼系數(shù) 92
5.6.4 代碼實現(xiàn) 92
5.7 隨機森林 93
5.7.1 隨機森林算法的一般流程 94
5.7.2 代碼實現(xiàn) 94
5.8 梯度提升決策樹 95
5.8.1 梯度提升決策樹算法的一般流程 95
5.8.2 梯度提升和梯度下降的區(qū)別 95
5.8.3 梯度提升決策樹算法的實現(xiàn) 96
5.8.4 代碼實現(xiàn) 96
5.9 分類算法的評價指標 97
5.9.1 混淆矩陣 97
5.9.2 精確率 98
5.9.3 召回率 98
5.9.4 ROC 98
5.10 回歸算法的評價指標 99
5.10.1 偏差和方差 99
5.10.2 均方誤差 100
5.10.3 平均絕對誤差 100
5.10.4 R-squared 100
課后習題 101
項目6 神經網絡的構建和訓練 102
6.1 神經元 103
6.2 感知機的定義 103
6.3 簡單邏輯電路 104
6.3.1 與門 104
6.3.2 或門 104
6.3.3 非門 105
6.4 感知機的實現(xiàn) 105
6.5 感知機的局限性 106
6.6 多層感知機 107
6.6.1 異或問題表示 107
6.6.2 異或問題實現(xiàn) 108
6.7 感知機的訓練 109
課后習題 111
項目7 手寫數(shù)字識別 112
7.1 卷積神經網絡與圖像處理 113
7.1.1 卷積神經網絡 113
7.1.2 卷積神經網絡的實現(xiàn) 117
7.2 深度神經網絡 127
7.2.1 LeNet 128
7.2.2 AlexNet 128
7.2.3 VGGNet 129
7.2.4 ResNet 130
7.3 手寫數(shù)字識別案例 131
7.3.1 數(shù)據集解壓 131
7.3.2 加載數(shù)據集并識別 131
課后習題 133
項目8 人臉識別 135
8.1 人臉識別的流程 136
8.2 人臉檢測 137
8.2.1 人臉檢測的方法 137
8.2.2 評價指標 140
8.2.3 人臉檢測部分代碼 141
8.3 人臉對齊 141
8.3.1 人臉對齊的方法 141
8.3.2 評價指標 142
8.3.3 代碼實現(xiàn) 142
8.4 人臉表征 143
8.4.1 人臉表征的方法 144
8.4.2 評價指標 144
8.5 人臉屬性識別 145
項目9 商品情感分析 147
9.1 自然語言處理 148
9.2 情感分析 148
9.2.1 數(shù)據準備 149
9.2.2 數(shù)據預處理 149
9.2.3 商品情感識別 150
項目10 車牌識別 152
10.1 圖像識別與預處理 153
10.1.1 圖像識別的流程 153
10.1.2 圖像預處理 153
10.1.3 數(shù)字圖像的預處理 155
10.2 車牌檢測與識別 156
10.2.1 車牌檢測的流程 156
10.2.2 車牌識別的流程 159