精通特征工程.pdf
精通特征工程.pdf
PDF: https://github.com/jash-git/Jash-good-idea-20200304-001
你可以在本书的GitHub 仓库(https://github.com/alicezheng/feature-engineering-book)
前言 ………………………………………………………………………………………………………………………………………ix
第1 章 機器學習流程 ………………………………………………………………………………………………………..1
1.1 數據 …………………………………………………………………………………………………………………………..1
1.2 任務 …………………………………………………………………………………………………………………………..1
1.3 模型 …………………………………………………………………………………………………………………………..2
1.4 特徵 …………………………………………………………………………………………………………………………..3
1.5 模型評價 ……………………………………………………………………………………………………………………3
第2 章 簡單而又奇妙的數值…………………………………………………………………………………………….4
2.1 標量、向量和空間 ………………………………………………………………………………………………………5
2.2 處理計數 ……………………………………………………………………………………………………………………7
2.2.1 二值化 …………………………………………………………………………………………………………….7
2.2.2 區間量化(分箱) …………………………………………………………………………………………….9
2.3 對數變換 ………………………………………………………………………………………………………………….13
2.3.1 對數變換實戰 ………………………………………………………………………………………………..16
2.3.2 指數變換:對數變換的推廣 …………………………………………………………………………..19
2.4 特徵縮放/ 歸一化 ……………………………………………………………………………………………………..24
2.4.1 min-max 縮放 …………………………………………………………………………………………………24
2.4.2 特徵標準化/ 方差縮放 …………………………………………………………………………………..24
2.4.3 ℓ 2
歸一化 ……………………………………………………………………………………………………….25
2.5 交互特徵 ………………………………………………………………………………………………………………….28
2.6 特徵選擇 ………………………………………………………………………………………………………………….30
2.7 小結 …………………………………………………………………………………………………………………………31
2.8 參考文獻 ………………………………………………………………………………………………………………….32
vi | 目錄
第3 章 文本資料:扁平化、過濾和分塊 ………………………………………………………………………33
3.1 元素袋:將自然文本轉換為扁平向量 ………………………………………………………………………..34
3.1.1 詞袋 ………………………………………………………………………………………………………………34
3.1.2 n 元詞袋 ………………………………………………………………………………………………………..37
3.2 使用過濾獲取清潔特徵 ……………………………………………………………………………………………..39
3.2.1 停用詞 …………………………………………………………………………………………………………..39
3.2.2 基於頻率的過濾 …………………………………………………………………………………………….40
3.2.3 詞幹提取 ……………………………………………………………………………………………………….42
3.3 意義的單位:從單詞、n 元詞到短語 …………………………………………………………………………43
3.3.1 解析與分詞 ……………………………………………………………………………………………………43
3.3.2 通過搭配提取進行短語檢測 …………………………………………………………………………..44
3.4 小結 …………………………………………………………………………………………………………………………50
3.5 參考文獻 ………………………………………………………………………………………………………………….51
第4 章 特徵縮放的效果:從詞袋到tf-idf ……………………………………………………………………..52
4.1 tf-idf:詞袋的一種簡單擴展 ………………………………………………………………………………………52
4.2 tf-idf 方法測試 …………………………………………………………………………………………………………..54
4.2.1 創建分類資料集 …………………………………………………………………………………………….55
4.2.2 使用tf-idf 變換來縮放詞袋 …………………………………………………………………………….56
4.2.3 使用邏輯回歸進行分類 ………………………………………………………………………………….57
4.2.4 使用正則化對邏輯回歸進行調優 ……………………………………………………………………58
4.3 深入研究:發生了什麼 ……………………………………………………………………………………………..62
4.4 小結 …………………………………………………………………………………………………………………………64
4.5 參考文獻 ………………………………………………………………………………………………………………….64
第5 章 分類變數:自動化時代的資料計數 …………………………………………………………………..65
5.1 分類變數的編碼 ………………………………………………………………………………………………………..66
5.1.1 one-hot 編碼 …………………………………………………………………………………………………..66
5.1.2 虛擬編碼 ……………………………………………………………………………………………………….66
5.1.3 效果編碼 ……………………………………………………………………………………………………….69
5.1.4 各種分類變數編碼的優缺點 …………………………………………………………………………..70
5.2 處理大型分類變數 …………………………………………………………………………………………………….70
5.2.1 特徵散列化 ……………………………………………………………………………………………………71
5.2.2 分箱計數 ……………………………………………………………………………………………………….73
5.3 小結 …………………………………………………………………………………………………………………………79
5.4 參考文獻 ………………………………………………………………………………………………………………….80
目錄 | vii
第6 章 數據降維:使用PCA 擠壓資料 ………………………………………………………………………..82
6.1 直觀理解 ………………………………………………………………………………………………………………….82
6.2 數學推導 ………………………………………………………………………………………………………………….84
6.2.1 線性投影 ……………………………………………………………………………………………………….84
6.2.2 方差和經驗方差 …………………………………………………………………………………………….85
6.2.3 主成分:第一種表示形式 ………………………………………………………………………………86
6.2.4 主成分:矩陣- 向量表示形式 ……………………………………………………………………….86
6.2.5 主成分的通用解 …………………………………………………………………………………………….86
6.2.6 特徵轉換 ……………………………………………………………………………………………………….87
6.2.7 PCA 實現 ……………………………………………………………………………………………………….87
6.3 PCA 實戰 …………………………………………………………………………………………………………………88
6.4 白化與ZCA ………………………………………………………………………………………………………………89
6.5 PCA 的局限性與注意事項 …………………………………………………………………………………………90
6.6 用例 …………………………………………………………………………………………………………………………91
6.7 小結 …………………………………………………………………………………………………………………………93
6.8 參考文獻 ………………………………………………………………………………………………………………….93
第7 章 非線性特徵化與k-均值模型堆疊 ………………………………………………………………………94
7.1 k-均值聚類 ……………………………………………………………………………………………………………….95
7.2 使用聚類進行曲面拼接 ……………………………………………………………………………………………..97
7.3 用於分類問題的k-均值特徵化 …………………………………………………………………………………100
7.4 優點、缺點以及陷阱 ……………………………………………………………………………………………….105
7.5 小結 ……………………………………………………………………………………………………………………….107
7.6 參考文獻 ………………………………………………………………………………………………………………..107
第8 章 自動特徵生成:圖像特徵提取和深度學習……………………………………………………..108
8.1 最簡單的圖像特徵(以及它們因何失效) …………………………………………………………………109
8.2 人工特徵提取:SIFT 和HOG ………………………………………………………………………………….110
8.2.1 圖像梯度 ……………………………………………………………………………………………………..110
8.2.2 梯度方向長條圖 …………………………………………………………………………………………..113
8.2.3 SIFT 體系 …………………………………………………………………………………………………….116
8.3 通過深度神經網路學習圖像特徵 ……………………………………………………………………………..117
8.3.1 全連接層 ……………………………………………………………………………………………………..117
8.3.2 卷積層 …………………………………………………………………………………………………………118
8.3.3 ReLU 變換 ……………………………………………………………………………………………………122
8.3.4 回應歸一化層 ………………………………………………………………………………………………123
viii | 目錄
前言 ………………………………………………………………………………………………………………………………………ix
第1 章 机器学习流程 ………………………………………………………………………………………………………..1
1.1 数据 …………………………………………………………………………………………………………………………..1
1.2 任务 …………………………………………………………………………………………………………………………..1
1.3 模型 …………………………………………………………………………………………………………………………..2
1.4 特征 …………………………………………………………………………………………………………………………..3
1.5 模型评价 ……………………………………………………………………………………………………………………3
第2 章 简单而又奇妙的数值…………………………………………………………………………………………….4
2.1 标量、向量和空间 ………………………………………………………………………………………………………5
2.2 处理计数 ……………………………………………………………………………………………………………………7
2.2.1 二值化 …………………………………………………………………………………………………………….7
2.2.2 区间量化(分箱) …………………………………………………………………………………………….9
2.3 对数变换 ………………………………………………………………………………………………………………….13
2.3.1 对数变换实战 ………………………………………………………………………………………………..16
2.3.2 指数变换:对数变换的推广 …………………………………………………………………………..19
2.4 特征缩放/ 归一化 ……………………………………………………………………………………………………..24
2.4.1 min-max 缩放 …………………………………………………………………………………………………24
2.4.2 特征标准化/ 方差缩放 …………………………………………………………………………………..24
2.4.3 ℓ 2
归一化 ……………………………………………………………………………………………………….25
2.5 交互特征 ………………………………………………………………………………………………………………….28
2.6 特征选择 ………………………………………………………………………………………………………………….30
2.7 小结 …………………………………………………………………………………………………………………………31
2.8 参考文献 ………………………………………………………………………………………………………………….32
vi | 目录
第3 章 文本数据:扁平化、过滤和分块 ………………………………………………………………………33
3.1 元素袋:将自然文本转换为扁平向量 ………………………………………………………………………..34
3.1.1 词袋 ………………………………………………………………………………………………………………34
3.1.2 n 元词袋 ………………………………………………………………………………………………………..37
3.2 使用过滤获取清洁特征 ……………………………………………………………………………………………..39
3.2.1 停用词 …………………………………………………………………………………………………………..39
3.2.2 基于频率的过滤 …………………………………………………………………………………………….40
3.2.3 词干提取 ……………………………………………………………………………………………………….42
3.3 意义的单位:从单词、n 元词到短语 …………………………………………………………………………43
3.3.1 解析与分词 ……………………………………………………………………………………………………43
3.3.2 通过搭配提取进行短语检测 …………………………………………………………………………..44
3.4 小结 …………………………………………………………………………………………………………………………50
3.5 参考文献 ………………………………………………………………………………………………………………….51
第4 章 特征缩放的效果:从词袋到tf-idf ……………………………………………………………………..52
4.1 tf-idf:词袋的一种简单扩展 ………………………………………………………………………………………52
4.2 tf-idf 方法测试 …………………………………………………………………………………………………………..54
4.2.1 创建分类数据集 …………………………………………………………………………………………….55
4.2.2 使用tf-idf 变换来缩放词袋 …………………………………………………………………………….56
4.2.3 使用逻辑回归进行分类 ………………………………………………………………………………….57
4.2.4 使用正则化对逻辑回归进行调优 ……………………………………………………………………58
4.3 深入研究:发生了什么 ……………………………………………………………………………………………..62
4.4 小结 …………………………………………………………………………………………………………………………64
4.5 参考文献 ………………………………………………………………………………………………………………….64
第5 章 分类变量:自动化时代的数据计数 …………………………………………………………………..65
5.1 分类变量的编码 ………………………………………………………………………………………………………..66
5.1.1 one-hot 编码 …………………………………………………………………………………………………..66
5.1.2 虚拟编码 ……………………………………………………………………………………………………….66
5.1.3 效果编码 ……………………………………………………………………………………………………….69
5.1.4 各种分类变量编码的优缺点 …………………………………………………………………………..70
5.2 处理大型分类变量 …………………………………………………………………………………………………….70
5.2.1 特征散列化 ……………………………………………………………………………………………………71
5.2.2 分箱计数 ……………………………………………………………………………………………………….73
5.3 小结 …………………………………………………………………………………………………………………………79
5.4 参考文献 ………………………………………………………………………………………………………………….80
目录 | vii
第6 章 数据降维:使用PCA 挤压数据 ………………………………………………………………………..82
6.1 直观理解 ………………………………………………………………………………………………………………….82
6.2 数学推导 ………………………………………………………………………………………………………………….84
6.2.1 线性投影 ……………………………………………………………………………………………………….84
6.2.2 方差和经验方差 …………………………………………………………………………………………….85
6.2.3 主成分:第一种表示形式 ………………………………………………………………………………86
6.2.4 主成分:矩阵- 向量表示形式 ……………………………………………………………………….86
6.2.5 主成分的通用解 …………………………………………………………………………………………….86
6.2.6 特征转换 ……………………………………………………………………………………………………….87
6.2.7 PCA 实现 ……………………………………………………………………………………………………….87
6.3 PCA 实战 …………………………………………………………………………………………………………………88
6.4 白化与ZCA ………………………………………………………………………………………………………………89
6.5 PCA 的局限性与注意事项 …………………………………………………………………………………………90
6.6 用例 …………………………………………………………………………………………………………………………91
6.7 小结 …………………………………………………………………………………………………………………………93
6.8 参考文献 ………………………………………………………………………………………………………………….93
第7 章 非线性特征化与k-均值模型堆叠 ………………………………………………………………………94
7.1 k-均值聚类 ……………………………………………………………………………………………………………….95
7.2 使用聚类进行曲面拼接 ……………………………………………………………………………………………..97
7.3 用于分类问题的k-均值特征化 …………………………………………………………………………………100
7.4 优点、缺点以及陷阱 ……………………………………………………………………………………………….105
7.5 小结 ……………………………………………………………………………………………………………………….107
7.6 参考文献 ………………………………………………………………………………………………………………..107
第8 章 自动特征生成:图像特征提取和深度学习……………………………………………………..108
8.1 最简单的图像特征(以及它们因何失效) …………………………………………………………………109
8.2 人工特征提取:SIFT 和HOG ………………………………………………………………………………….110
8.2.1 图像梯度 ……………………………………………………………………………………………………..110
8.2.2 梯度方向直方图 …………………………………………………………………………………………..113
8.2.3 SIFT 体系 …………………………………………………………………………………………………….116
8.3 通过深度神经网络学习图像特征 ……………………………………………………………………………..117
8.3.1 全连接层 ……………………………………………………………………………………………………..117
8.3.2 卷积层 …………………………………………………………………………………………………………118
8.3.3 ReLU 变换 ……………………………………………………………………………………………………122
8.3.4 响应归一化层 ………………………………………………………………………………………………123
viii | 目录