程序員的數學基礎課 : 從理論到 Python 實踐

黃申

  • 出版商: 人民郵電
  • 出版日期: 2021-03-01
  • 售價: $534
  • 貴賓價: 9.5$507
  • 語言: 簡體中文
  • 頁數: 314
  • 裝訂: 平裝
  • ISBN: 7115553610
  • ISBN-13: 9787115553614
  • 相關分類: Python程式語言
  • 立即出貨

  • 程序員的數學基礎課 : 從理論到 Python 實踐-preview-1
  • 程序員的數學基礎課 : 從理論到 Python 實踐-preview-2
程序員的數學基礎課 : 從理論到 Python 實踐-preview-1

買這商品的人也買了...

商品描述

本書緊貼電腦領域,從程序員的需求出發,精心挑選了程序員真正用得上的數學知識,通過生動的案例來解讀知識中的難點,使程序員更容易對實際問題進行數學建模,進而構建出更優化的算法和代碼。本書共分為三大模塊:“基礎思想”篇梳理編程中常用的數學概念和思想,既由淺入深地精講數據結構與數學中基礎、核心的數學知識,又闡明數學對編程和算法的真正意義;“概率統計”篇以概率統計中核心的貝葉斯公式為基點,向上講解隨機變量、概率分佈等基礎概念,向下講解樸素貝葉斯,並分析其在生活和編程中的實際應用,使讀者真正理解概率統計的本質,跨越概念和應用之間的鴻溝;“線性代數”篇從線性代數中的核心概念向量、矩陣、線性方程入手,逐步深入分析這些概念是如何與電腦融會貫通以解決實際問題的。除了理論知識的闡述,本書還通過Python語言,分享了通過大量實踐積累下來的寶貴經驗和編碼,使讀者學有所用。 本書的內容從概念到應用,再到本質,層層深入,不但註重培養讀者養成良好的數學思維,而且努力使讀者的編程技術實現進階,非常適合希望從本質上提升編程質量的中級程序員閱讀和學習。

作者簡介

黃申,博士,2015年美國傑出人才,微軟學者,IBM ExtremeBlue天才計劃成員,KDD WISDOM'20主席。2006年博士畢業於上海交通大學計算機科學與工程專業,師從俞勇教授,發表過20餘篇國際論文,擁有30多項國際專利。
有20多年機器學習和大數據領域的經驗,現任Glassdoor機器學習資深研發經理,曾任職於LinkedIn全球數據科學部、微軟亞洲研究院、IBM研究院、eBay中國研發中心,1號店和***飛牛網。
著有《大數據架構和算法實現之路:電商系統的技術實戰》《大數據架構商業之路:從業務需求到技術方案》兩本原創技術圖書,並翻譯出版了《Elasticsearch實戰》《Python機器學習實踐指南》等技術圖書,在極客時間發表了專欄《程序員的數學基礎課》。

目錄大綱

第一篇基礎思想1
第1章二進制、餘數和布爾代數2
1.1二進制2
1.1.1二進制計數法2
1.1.2二進制的位操作3
1.1.3負數的二進製表示11
1.2餘數15
1.2.1求餘和同餘定理15
1.2.2哈希16
1.2.3奇偶校驗17
1.2.4交叉驗證19
1.3布爾代數19
1. 3.1邏輯19
1.3.2集合23

第2章迭代、數學歸納和遞歸30
2.1迭代法30
2.1.1迭代法簡介30
2.1.2迭代法的應用31
2.2數學歸納法37
2.3遞歸41
2.3.1從數學歸納法到遞歸42
2.3.2分而治之44
2.4迭代法、數學歸納法和遞歸的關聯56

第3章排列、組合和動態規劃58
3.1排列58
3.2組合62
3.3動態規劃65
3.3.1編輯距離66
3.3.2狀態轉移67
3.3.3狀態轉移方程和編程實現70
3.3. 4動態規劃解決最優組合72

第4章樹和圖74
4.1圖和樹的概念74
4.2樹的常見應用77
4.2.1 WordNet中的關聯詞77
4.2.2二叉樹81
4.3樹的深度優先搜索和遍歷83
4.3.1前綴樹的構建和查詢83
4.3.2深度優先的實現88
4.4樹和圖的廣度優先搜索和遍歷94
4.4.1社交網絡中的好友問題94
4 .4.2實現社交好友推薦99
4.4.3如何更高效地求兩個用戶間的最短路徑104
4.4.4更有效的嵌套型聚合111
4.5圖中的最短路徑114
4 .5.1基於廣度優先或深度優先搜索的方法115
4.5.2一個優化的版本:Dijkstra算法116

第5章編程中的數學思維126
5.1數據結構、編程語言和基礎算法126
5. 1.1數據結構126
5.1.2編程語句128
5.1.3基礎算法128
5.2算法複雜度分析129
5.2.1複雜度分析的原理和法則130
5.2.2複雜度分析的案例134

第二篇概率統計138
第6章概率和統計基礎139
6.1概論和統計對於編程的意義139
6.1.1概率和統計的概念139
6.1.2概率和統計可以做什麼140
6.2隨機變量、概率分佈和期望值141
6.2.1隨機變量141
6.2.2概率分佈142
6.2.3期望值157
6.3聯合概率、條件概率和貝葉斯定理159
6.3.1聯合概率、條件概率和邊緣概率159
6.3.2貝葉斯定理162
6.3.3隨機變量之間的獨立性163

第7章樸素貝葉斯分類165
7.1原始信息的轉換165
7.2樸素貝葉斯的核心思想166
7.3基於樸素貝葉斯算法的文本分類170
7 .3.1文本分類系統的基本框架170
7.3.2自然語言的預處理171
7.3.3樸素貝葉斯模型的構建174
7.3.4樸素貝葉斯模型的預測176
7. 3.5樸素貝葉斯分類的實現177

第8章馬爾可夫過程181
8.1語言模型181
8.1.1鍊式法則181
8.1.2馬爾可夫假設181
8.1.3模型推導182
8.2語言模型的應用183
8.2.1信息檢索183
8.2.2中文分詞184
8.3馬爾可夫模型184
8.4隱馬爾可夫模型188
8.4.1模型的原理188
8.4.2模型的求解192
8.4.3模型的實現195

第9章信息熵200
9.1信息熵和信息增益200
9.1.1性格測試中的信息熵200
9.1.2信息增益203
9.2通過信息增益進行決策204
9.2.1通過信息熵挑選合適的問題204
9.2.2幾種決策樹算法207
9.3特徵選擇209
9.3.1特徵選擇209
9.3.2利用信息熵進行特徵選擇209
9.3.3利用卡方檢驗進行特徵選擇210

第10章數據分佈212
10.1特徵變換212
10.1.1為什麼需要特徵變換212
10.1.2兩種常見的特徵變換方法214
10.2統計意義217
10.2.1顯著性差異219
10.2.2統計假設檢驗和顯著性檢驗220
10.2.3 P值220
10.2.4不同的檢驗方法221
10.3擬合、欠擬合和過擬合及其處理229
10 .3.1擬合、欠擬合和過擬合229
10.3.2欠擬合和過擬合的處理233

第三篇線性代數235

第11章線性代數基礎236
11.1向量和向量空間236
11.1.1向量的概念236
11.1.2向量的運算239
11.1.3向量空間244
11.2矩陣250
11.2.1矩陣的運算250
11.2.2矩陣運算的幾何意義252

第12章文本處理中的向量空間模型256
12. 1信息檢索256
12.1.1信息檢索的概念256
12.1.2信息檢索中的向量空間模型257
12.2文本聚類259
12.2.1聚類算法的概念259
12.2.2使用向量空間進行聚類260
12.3文本分類263

第13章對象間關係的刻畫——矩陣267
13.1 PageRank的矩陣實現267
13.1.1 PageRank算法的回顧267
13.1.2簡化PageRank公式267
13.1.3考慮隨機跳轉269
13.1.4代碼的實現270
13.2用矩陣實現推薦系統272
13.2.1用矩陣實現推薦系統的核心思想272
13.2.2基於用戶的過濾272
13.2.3基於物品的過濾277

第14章矩陣的特徵279
14.1主成分分析(PCA)279
14.1.1 PCA的主要步驟279
14.1 .2 PCA背後的核心思想286
14.2奇異值分解(SVD)288
14.2.1方陣的特徵分解288
14.2.2矩陣的奇異值分解289
14.2.3潛在語義分析和SVD291

第15章回歸分析294
15.1線性方程組294
15.1.1高斯消元法295
15.1.2使用矩陣實現高斯消元法296
15.2最小二乘法299
15.2.1通過觀測值的擬合300
15.2.2最小二乘法302
15.2.3補充證明和解釋303
15.2.4演算示例305

第16章神經網絡311
16.1神經網絡的基本原理311
16.2基於TensorFlow的實現317
16.3 Word2Vec327