機器學習正在迅速改變我們的世界。我們幾乎每天都會讀到機器學習如何改變日常的生活。如果你在淘寶或者*這樣的電子商務網站購買商品,或者在愛奇藝或是騰訊視頻這樣的視頻網站觀看節(jié)目,甚至只是進行一次百度搜索,就已經觸碰到了機器學習的應用。使用這些服務的用戶會產生數(shù)據,這些數(shù)據會被收集,在進行預處理之后用來訓練模型,而模型會通過這些數(shù)據來提供更好的用戶體驗。此外,目前還有很多使用機器學習技術的產品或服務即將在我們的生活當中普及,如能夠解放雙手的無人駕駛汽車、聰明伶俐的智能家居產品、善解人意的導購機器人等?梢哉f要想深入機器學習的應用開發(fā)當中,現(xiàn)在就是一個非常理想的時機。
本書內容涵蓋了有監(jiān)督學習、無監(jiān)督學習、模型優(yōu)化、自然語言處理等機器學習領域所必須掌握的知識,從內容結構上非常注重知識的實用性和可操作性。全書采用由淺入深、循序漸進的講授方式,完全遵循和尊重初學者對機器學習知識的認知規(guī)律。本書適合有一定程序設計語言和算法基礎的讀者學習使用。
人工智能,火了!計算機是由程序驅動的,人工智能不過是一些特殊的算法。只要你有一些程序設計語言的基礎,跟隨本書,你也能進入人工智能的世界,成為一名人工智能應用的開發(fā)者。
本書特色
1. 內容實用實在、詳略得當,講授符合初學者的認知規(guī)律
本書內容涵蓋了有監(jiān)督學習、無監(jiān)督學習、模型優(yōu)化、自然語言處理等機器學習領域所必須掌握的知識,從內容結構上非常注重知識的實用性和可操作性。必須掌握的細節(jié)處絕不吝惜筆墨、手把手細致到每一次的鼠標點擊;僅需要大致了解處絕不鋪張浪費紙張、整體結構的描述提綱挈領。這樣的安排注重了對初學階段必備知識的深入了解,大致了解的知識也能夠有所認識,這種由淺入深、循序漸進的講授完全是遵循和尊重了初學者對機器學習知識的認知規(guī)律。
2. 行文幽默詼諧,以實例引導全程,特別適合初學者閱讀
本書介紹的基本理論知識、用于分類的機器學習算法、用于回歸的機器學習算法、數(shù)據預處理、數(shù)據表達與特征工程等,都是使用非常貼近生活場景的實例來引導的,這樣就避免了知識講述過于抽象,非常易于理解。同時,作者以幽默詼諧,貼近時代的語言對這些知識進行生動、通俗的一一講解,猶如一位你的老朋友,幫助你縮短入門機器學習的時間。縱觀全書,作者將大學生小 C 追求女神以及幫助他的朋友處理日常問題同機器學習的理論與操作進行對比介紹,這就使得整個學習過程變得簡單、生動起來。
3. 配套的人才培養(yǎng)與引入計劃,幫助讀者將學習成果轉化為真正的生產力
在筆者過去的工作當中,累積了數(shù)量可觀的各大互聯(lián)網公司招聘通道資源,以及諸多獵頭資源,可以幫助學有所長的讀者快速進入一個實際操作的場景中進一步提高自己的實操能力。除此之外,筆者和國內大部分相關的產業(yè)發(fā)展部門有著密切的聯(lián)系,對于有志于在人工智能領域創(chuàng)業(yè)的創(chuàng)業(yè)者來說,也能夠幫助其對接政策資源,幫助大家在創(chuàng)業(yè)過程中得到有關部門的支持,從而使得創(chuàng)業(yè)之路變得不那么坎坷。
段小手,君兮科技創(chuàng)始人,畢業(yè)于北京大學。具有10余年國內一線互聯(lián)網/電子商務公司項目管理經驗。其負責的跨境電子商務項目曾獲得國家發(fā)改委電子商務示范項目中關村現(xiàn)代服務業(yè)試點項目北京市信息化基礎設施提升項目北京市外貿綜合公共平臺等專項政策支持。目前重點研究領域為機器學習和深度學習等方面。
目
錄
第1章
概 述
1.1 什么是機器學習從一個小故事開始 /
002
1.2 機器學習的一些應用場景蝙蝠公司的業(yè)務單元 / 003
1.3 機器學習應該如何入門世上無難事 /
005
1.4 有監(jiān)督學習與無監(jiān)督學習 / 007
1.5 機器學習中的分類與回歸 / 008
1.6 模型的泛化、過擬合與欠擬合 / 008
1.7 小結 / 009
第2章
基于Python語言的環(huán)境配置
2.1 Python的下載和安裝 / 012
2.2 Jupyter Notebook的安裝與使用方法 /
013
2.2.1 使用pip進行Jupyter
Notebook的下載和安裝 / 013
2.2.2 運行Jupyter Notebook /
014
2.2.3 Jupyter Notebook的使用方法 / 015
2.3 一些必需庫的安裝及功能簡介 / 017
2.3.1 Numpy基礎科學計算庫 / 017
2.3.2 Scipy強大的科學計算工具集 / 018
2.3.3 pandas數(shù)據分析的利器 / 019
2.3.4 matplotlib畫出優(yōu)美的圖形 /
020
深入淺出Python 機器學習
VIII
2.4 scikit-learn非常流行的Python機器學習庫 / 021
2.5 小結 / 022
第3章 K最近鄰算法近朱者赤,近墨者黑
3.1 K最近鄰算法的原理 / 024
3.2 K最近鄰算法的用法 / 025
3.2.1 K最近鄰算法在分類任務中的應用 / 025
3.2.2 K最近鄰算法處理多元分類任務 / 029
3.2.3 K最近鄰算法用于回歸分析 / 031
3.3 K最近鄰算法項目實戰(zhàn)酒的分類 / 034
3.3.1 對數(shù)據集進行分析 / 034
3.3.2 生成訓練數(shù)據集和測試數(shù)據集 / 036
3.3.3 使用K最近鄰算法進行建模 /
038
3.3.4 使用模型對新樣本的分類進行預測 / 039
3.4 小結 / 041
第4章
廣義線性模型耿直的算法模型
4.1 線性模型的基本概念 / 044
4.1.1 線性模型的一般公式 / 044
4.1.2 線性模型的圖形表示 / 045
4.1.3 線性模型的特點 / 049
4.2 最基本的線性模型線性回歸 / 050
4.2.1 線性回歸的基本原理 / 050
4.2.2 線性回歸的性能表現(xiàn) / 051
4.3 使用L2正則化的線性模型嶺回歸
/ 053
4.3.1 嶺回歸的原理 / 053
4.3.2 嶺回歸的參數(shù)調節(jié) / 054
4.4 使用L1正則化的線性模型套索回歸 / 058
4.4.1 套索回歸的原理 / 058
4.4.2 套索回歸的參數(shù)調節(jié) / 059
4.4.3 套索回歸與嶺回歸的對比 / 060
目
錄
IX
4.5 小結 / 062
第5章
樸素貝葉斯打雷啦,收衣服啊
5.1 樸素貝葉斯基本概念 / 064
5.1.1 貝葉斯定理 / 064
5.1.2 樸素貝葉斯的簡單應用 / 064
5.2 樸素貝葉斯算法的不同方法 / 068
5.2.1 貝努利樸素貝葉斯 / 068
5.2.2 高斯樸素貝葉斯 / 071
5.2.3 多項式樸素貝葉斯 / 072
5.3 樸素貝葉斯實戰(zhàn)判斷腫瘤是良性還是惡性
/ 075
5.3.1 對數(shù)據集進行分析 / 076
5.3.2 使用高斯樸素貝葉斯進行建模 / 077
5.3.3 高斯樸素貝葉斯的學習曲線 / 078
5.4 小結 / 080
第6章
決策樹與隨機森林會玩讀心術的算法
6.1 決策樹 / 082
6.1.1 決策樹基本原理 / 082
6.1.2 決策樹的構建 / 082
6.1.3 決策樹的優(yōu)勢和不足 / 088
6.2 隨機森林 / 088
6.2.1 隨機森林的基本概念 / 089
6.2.2 隨機森林的構建 / 089
6.2.3 隨機森林的優(yōu)勢和不足 / 092
6.3 隨機森林實例要不要和相親對象進一步發(fā)展
/ 093
6.3.1 數(shù)據集的準備 / 093
6.3.2 用get_dummies處理數(shù)據 / 094
6.3.3 用決策樹建模并做出預測 / 096
6.4 小結 / 098
第7章
支持向量機SVM專治線性不可分
7.1 支持向量機SVM基本概念 / 100
7.1.1 支持向量機SVM的原理 / 100
7.1.2 支持向量機SVM的核函數(shù) / 102
7.2 SVM的核函數(shù)與參數(shù)選擇 / 104
7.2.1 不同核函數(shù)的SVM對比 / 104
7.2.2 支持向量機的gamma參數(shù)調節(jié) / 106
7.2.3 SVM算法的優(yōu)勢與不足 / 108
7.3 SVM實例波士頓房價回歸分析 / 108
7.3.1 初步了解數(shù)據集 / 109
7.3.2 使用SVR進行建模 / 110
7.4 小結 / 114
第8章
神經網絡曾入冷宮,如今得寵
8.1 神經網絡的前世今生 / 116
8.1.1 神經網絡的起源 / 116
8.1.2 第一個感知器學習法則 / 116
8.1.3 神經網絡之父杰弗瑞·欣頓 / 117
8.2 神經網絡的原理及使用 / 118
8.2.1 神經網絡的原理 / 118
8.2.2 神經網絡中的非線性矯正 / 119
8.2.3 神經網絡的參數(shù)設置 / 121
8.3 神經網絡實例手寫識別 / 127
8.3.1 使用MNIST數(shù)據集 / 128
8.3.2 訓練MLP神經網絡 / 129
8.3.3 使用模型進行數(shù)字識別 / 130
8.4 小結 / 131
第9章
數(shù)據預處理、降維、特征提取及聚類快
刀斬亂麻
9.1 數(shù)據預處理 / 134
9.1.1 使用StandardScaler進行數(shù)據預處理 / 134
9.1.2 使用MinMaxScaler進行數(shù)據預處理 / 135
9.1.3 使用RobustScaler進行數(shù)據預處理 / 136
9.1.4 使用Normalizer進行數(shù)據預處理 / 137
9.1.5 通過數(shù)據預處理提高模型準確率 / 138
9.2 數(shù)據降維 / 140
9.2.1 PCA主成分分析原理 / 140
9.2.2 對數(shù)據降維以便于進行可視化 / 142
9.2.3 原始特征與PCA主成分之間的關系 /
143
9.3 特征提取 / 144
9.3.1 PCA主成分分析法用于特征提取 / 145
9.3.2 非負矩陣分解用于特征提取 / 148
9.4 聚類算法 / 149
9.4.1 K均值聚類算法 / 150
9.4.2 凝聚聚類算法 / 153
9.4.3 DBSCAN算法 / 154
9.5 小結 / 157
第10章
數(shù)據表達與特征工程錦上再添花
10.1 數(shù)據表達 / 160
10.1.1 使用啞變量轉化類型特征 / 160
10.1.2 對數(shù)據進行裝箱處理 / 162
10.2 數(shù)據升維 / 166
10.2.1 向數(shù)據集添加交互式特征 / 166
10.2.2 向數(shù)據集添加多項式特征 / 170
10.3 自動特征選擇 / 173
10.3.1 使用單一變量法進行特征選擇 / 173
10.3.2 基于模型的特征選擇 / 178
10.3.3 迭代式特征選擇 / 180
10.4 小結 / 182
第11章
模型評估與優(yōu)化只有更好,沒有最好
11.1 使用交叉驗證進行模型評估 / 184
11.1.1 scikit-learn中的交叉驗證法 / 184
11.1.2 隨機拆分和挨個兒試試 / 186
11.1.3 為什么要使用交叉驗證法 / 188
11.2 使用網格搜索優(yōu)化模型參數(shù) / 188
11.2.1 簡單網格搜索 / 189
11.2.2 與交叉驗證結合的網格搜索 / 191
11.3 分類模型的可信度評估 / 193
11.3.1 分類模型中的預測準確率 / 194
11.3.2 分類模型中的決定系數(shù) / 197
11.4 小結 / 198
第12章
建立算法的管道模型團結就是力量
12.1 管道模型的概念及用法 / 202
12.1.1 管道模型的基本概念 / 202
12.1.2 使用管道模型進行網格搜索 / 206
12.2 使用管道模型對股票漲幅進行回歸分析 /
209
12.2.1 數(shù)據集準備 / 209
12.2.2 建立包含預處理和MLP模型的管道模型 / 213
12.2.3 向管道模型添加特征選擇步驟 / 214
12.3 使用管道模型進行模型選擇和參數(shù)調優(yōu) /
216
12.3.1 使用管道模型進行模型選擇 / 216
12.3.2 使用管道模型尋找更優(yōu)參數(shù) / 217
12.4 小結 / 220
第13章
文本數(shù)據處理親,見字如數(shù)
13.1 文本數(shù)據的特征提取、中文分詞及詞袋模型 /
222
13.1.1 使用CountVectorizer對文本進行特征提取 /
222
13.1.2 使用分詞工具對中文文本進行分詞 / 223
13.1.3 使用詞袋模型將文本數(shù)據轉為數(shù)組 / 224
13.2 對文本數(shù)據進一步進行優(yōu)化處理 / 226
13.2.1 使用n-Gram改善詞袋模型 / 226
13.2.2 使用tf-idf模型對文本數(shù)據進行處理 /
228
13.2.3 刪除文本中的停用詞 / 234
13.3 小結 / 236
第14章
從數(shù)據獲取到話題提取從研究員
到段子手
14.1 簡單頁面的爬取 / 238
14.1.1 準備Requests庫和User Agent
/ 238
14.1.2 確定一個目標網站并分析其結構 / 240
14.1.3 進行爬取并保存為本地文件 / 241
14.2 稍微復雜一點的爬取 / 244
14.2.1 確定目標頁面并進行分析 / 245
14.2.2 Python中的正則表達式 / 247
14.2.3 使用BeautifulSoup進行HTML解析 / 251
14.2.4 對目標頁面進行爬取并保存到本地 / 256
14.3 對文本數(shù)據進行話題提取 / 258
14.3.1 尋找目標網站并分析結構 / 259
14.3.2 編寫爬蟲進行內容爬取 / 261
14.3.3 使用潛在狄利克雷分布進行話題提取 /
263
14.4 小結 / 265
第15章
人才需求現(xiàn)狀與未來學習方向你是不
是下一個大牛
15.1 人才需求現(xiàn)狀 / 268
15.1.1 全球AI從業(yè)者達190萬,人才需求3年翻8倍 / 268
15.1.2 AI人才需求集中于一線城市,七成從業(yè)者月薪過萬
/ 269
15.1.3 人才困境仍難緩解,政策支援亟不可待 /
269
15.2 未來學習方向 / 270
15.2.1 用于大數(shù)據分析的計算引擎 / 270
15.2.2 深度學習開源框架 / 271
15.2.3 使用概率模型進行推理 / 272
15.3 技能磨煉與實際應用 / 272
15.3.1 Kaggle算法大賽平臺和OpenML平臺 / 272
15.3.2 在工業(yè)級場景中的應用 / 273
15.3.3 對算法模型進行A/B測試 / 273
15.4 小結 / 274
參考文獻 / 275