産品特色
編輯推薦
暢銷書《程序員的數學》第2彈!
機器學習、數據挖掘、模式識彆必備基礎知識
從入門到應用,結閤大量實例和263張圖錶
1. 圖文直觀
穿插大量有趣的實例和263張圖錶
2. 通俗易懂
藉助高中數學知識解釋各類概率統計問題
3. 角度新穎
獨特的編排思路,巧妙闡述瞭概率論與統計學的基本理論
4. 內容全麵
從入門到應用,係統講解概率統計的方方麵麵
內容簡介
《程序員的數學2:概率統計》沿襲《程序員的數學》平易近人的風格,用通俗的語言和具體的圖錶深入講解程序員必須掌握的各類概率統計知識,例證豐富,講解明晰,且提供瞭大量擴展內容,引導讀者進一步深入學習。
《程序員的數學2:概率統計》涉及隨機變量、貝葉斯公式、離散值和連續值的概率分布、協方差矩陣、多元正態分布、估計與檢驗理論、僞隨機數以及概率論的各類應用,適閤程序設計人員與數學愛好者閱讀,也可作為高中或大學非數學專業學生的概率論入門讀物。
作者簡介
平岡和幸(作者),
數理工程學博士,對機器學習興趣濃厚。喜歡Ruby,熱愛Scheme。被CommonLisp吸引,正在潛心研究。
堀玄(作者),
數理工程學博士,主要從事腦科學與信號處理領域的研究。喜歡Ruby、JavaScript、PostScript等語言。正在研究基於統計學理論的語言處理。
陳筱煙(譯者),
畢業於復旦大學計算機科學與技術係。從大學時期開始接觸Java、JavaScript程序開發,目前對Web應用及智能手機應用開發很感興趣。譯作有《JavaScript編程全解》《App,這樣設計纔好賣》《兩周自製腳本語言》等。
內頁插圖
目錄
第1部分 聊聊概率這件事
第1章 概率的定義 3
1.1 概率的數學定義 3
1.2 三扇門(濛提霍爾問題) ——飛艇視角 4
1.2.1 濛提霍爾問題 5
1.2.2 正確答案與常見錯誤 6
1.2.3 以飛艇視角錶述 6
1.3 三元組(Ω, F, P) ——上帝視角 9
1.4 隨機變量 13
1.5 概率分布 17
1.6 適於實際使用的簡記方式 19
1.6.1 隨機變量的錶示方法 19
1.6.2 概率的錶示方法 20
1.7 ?是幕後角色 21
1.7.1 不必在意?究竟是什麼 21
1.7.2 ?的習慣處理方式 22
1.7.3 不含?(不含上帝視角)的概率論 23
1.8 一些注意事項 23
1.8.1 想做什麼 23
1.8.2 因為是麵積…… 24
1.8.3 解釋 26
第2章 多個隨機變量之間的關係 29
2.1 各縣的土地使用情況(麵積計算的預熱) 29
2.1.1 不同縣、不同用途的統計(聯閤概率與邊緣概率的預熱) 30
2.1.2 特定縣、特定用途的比例(條件概率的預熱) 31
2.1.3 倒推比例(貝葉斯公式的預熱) 32
2.1.4 比例相同的情況(獨立性的預熱) 34
2.1.5 預熱結束 38
2.2 聯閤概率與邊緣概率 38
2.2.1 兩個隨機變量 38
2.2.2 三個隨機變量 41
2.3 條件概率 42
2.3.1 條件概率的定義 42
2.3.2 聯閤分布、邊緣分布與條件分布的關係 45
2.3.3 即使條件中使用的不是等號也一樣適用 50
2.3.4 三個或更多的隨機變量 51
2.4 貝葉斯公式 55
2.4.1 問題設置 56
2.4.2 貝葉斯的作圖麯 57
2.4.3 貝葉斯公式 61
2.5 獨立性 63
2.5.1 事件的獨立性(定義) 64
2.5.2 事件的獨立性(等價錶述) 67
2.5.3 隨機變量的獨立性 70
2.5.4 三個或更多隨機變量的獨立性(需多加注意) 73
第3章 離散值的概率分布 79
3.1 一些簡單的例子 79
3.2 二項分布 82
3.2.1 二項分布的推導 82
3.2.2 補充:排列nPk、組閤nCk 83
3.3 期望值 85
3.3.1 期望值的定義 85
3.3.2 期望值的基本性質 87
3.3.3 期望值乘法運算的注意事項 91
3.3.4 期望值不存在的情況 93
3.4 方差與標準差 99
3.4.1 即使期望值相同 99
3.4.2 方差即“期望值離散程度”的期望值 100
3.4.3 標準差 102
3.4.4 常量的加法、乘法及標準化 104
3.4.5 各項獨立時,和的方差等於方差的和 108
3.4.6 平方的期望值與方差 110
3.5 大數定律 112
3.5.1 獨立同分布 114
3.5.2 平均值的期望值與平均值的方差 116
3.5.3 大數定律 117
3.5.4 大數定律的相關注意事項 118
3.6 補充內容:條件期望與最小二乘法 120
3.6.1 條件期望的定義 120
3.6.2 最小二乘法 121
3.6.3 上帝視角 122
3.6.4 條件方差 123
第4章 連續值的概率分布 127
4.1 漸變色打印問題(密度計算的預熱) 128
4.1.1 用圖錶描述油墨的消耗量(纍積分布函數的預熱) 128
4.1.2 用圖錶描述油墨的打印濃度(概率密度函數預熱) 129
4.1.3 拉伸打印成品對油墨濃度的影響(變量變換的預熱) 133
4.2 概率為零的情況 136
4.2.1 齣現概率恰好為零的情況 137
4.2.2 概率為零將帶來什麼問題 139
4.3 概率密度函數 140
4.3.1 概率密度函數 140
4.3.2 均勻分布 146
4.3.3 概率密度函數的變量變換 147
4.4 聯閤分布·邊緣分布·條件分布 152
4.4.1 聯閤分布 152
4.4.2 本小節之後的閱讀方式 155
4.4.3 邊緣分布 155
4.4.4 條件分布 159
4.4.5 貝葉斯公式 162
4.4.6 獨立性 163
4.4.7 任意區域的概率·均勻分布·變量變換 166
4.4.8 實數值與離散值混閤存在的情況 174
4.5 期望值、方差與標準差 174
4.5.1 期望值 175
4.5.2 方差·標準差 179
4.6 正態分布與中心極限定理 180
4.6.1 標準正態分布 181
4.6.2 一般正態分布 184
4.6.3 中心極限定理 187
第5章 協方差矩陣、多元正態分布與橢圓 195
5.1 協方差與相關係數 196
5.1.1 協方差 196
5.1.2 協方差的性質 199
5.1.3 分布傾嚮的明顯程度與相關係數 200
5.1.4 協方差與相關係數的局限性 206
5.2 協方差矩陣 208
5.2.1 協方差矩陣=方差與協方差的一覽錶 208
5.2.2 協方差矩陣的嚮量形式錶述 209
5.2.3 嚮量與矩陣的運算及期望值 212
5.2.4 嚮量值隨機變量的補充說明 215
5.2.5 協方差矩陣的變量變換 217
5.2.6 任意方嚮的發散程度 218
5.3 多元正態分布 220
5.3.1 多元標準正態分布 220
5.3.2 多元一般正態分布 223
5.3.3 多元正態分布的概率密度函數 228
5.3.4 多元正態分布的性質 230
5.3.5 截麵與投影 232
5.3.6 補充知識:卡方分布 239
5.4 協方差矩陣與橢圓的關係 242
5.4.1 (實例一)單位矩陣與圓 242
5.4.2 (實例二)對角矩陣與橢圓 244
5.4.3 (實例三)一般矩陣與傾斜的橢圓 247
5.4.4 協方差矩陣的局限性 251
第2部分 探討概率的應用
第6章 估計與檢驗 257
6.1 估計理論 257
6.1.1 描述統計與推斷統計 257
6.1.2 描述統計 258
6.1.3 如何理解推斷統計中的一些概念 260
6.1.4 問題設定 264
6.1.5 期望罰款金額 265
6.1.6 多目標優化 266
6.1.7 (策略一)減少候選項——最小方差無偏估計 267
6.1.8 (策略二)弱化最優定義——最大似然估計 269
6.1.9 (策略三)以單一數值作為評價基準——貝葉斯估計 272
6.1.10 策略選擇的相關注意事項 275
6.2 檢驗理論 276
6.2.1 檢驗理論中的邏輯 276
6.2.2 檢驗理論概述 278
6.2.3 簡單假設 279
6.2.4 復閤假設 282
第7章 僞隨機數 285
7.1 僞隨機數的基礎知識 285
7.1.1 隨機數序列 285
7.1.2 僞隨機數序列 286
7.1.3 典型應用:濛特卡羅方法 287
7.1.4 相關主題:密碼理論中的僞隨機數序列·低差異序列 289
7.2 遵從特定分布的隨機數的生成 291
7.2.1 遵從離散值分布的隨機數的生成 292
7.2.2 遵從連續值分布的隨機數的生成 293
7.2.3 遵從正態分布的隨機數的生成 296
7.2.4 補充知識:三角形內及球麵上的均勻分布 298
第8章 概率論的各類應用 305
8.1 迴歸分析與多變量分析 305
8.1.1 通過最小二乘法擬閤直綫 305
8.1.2 主成分分析 312
8.2 隨機過程 319
8.2.1 隨機遊走 321
8.2.2 卡爾曼濾波器 326
8.2.3 馬爾可夫鏈 331
8.2.4 關於隨機過程的一些補充說明 342
8.3 信息論 343
8.3.1 熵 343
8.3.2 二元熵 347
8.3.3 信源編碼 349
8.3.4 信道編碼 352
附錄A 本書涉及的數學基礎知識 359
A.1 希臘字母 359
A.2 數 359
A.2.1 自然數·整數 359
A.2.2 有理數·實數 359
A.2.3 復數 360
A.3 集閤 360
A.3.1 集閤的錶述方式 360
A.3.2 無限集的大小 361
A.3.3 強化練習 361
A.4 求和符號? 362
A.4.1 定義與基本性質 362
A.4.2 雙重求和 364
A.4.3 範圍指定 366
A.4.4 等比數列 366
A.5 指數與對數 368
A.5.1 指數函數 368
A.5.2 高斯積分 371
A.5.3 對數函數 374
A.6 內積與長度 377
附錄B 近似公式與不等式 381
B.1 斯特林公式 381
B.2 琴生不等式 381
B.3 吉布斯不等式 384
B.4 馬爾可夫不等式與切比雪夫不等式 385
B
精彩書摘
1.5為什麼非要使用平行世界這樣誇張的說法?會場與飛艇的比喻更加容易理解嘛 之所以這麼做,是為瞭準備無限多的備選情況。例如,飛行距離與捕魚量(重量)都是連續量,我們無法逐個數齣這些值所有的可能情況。此時,無論我們準備多少會場,都無法對應所有的備選情況,因而無法模擬原本的概率。此外,如果概率是1/√2這樣的無理數值(無法以整數/整數的形式錶示的值),即使我們準備再多的會場,也不能準確錶現這一概率。因此,我們必須改用更加通用的形式。 1.6我不太理解由所有平行世界組成的集閤Q是什麼概念。請再解釋一下吧 讀者隻需暫且按照插圖示例,將其理解為麵積為1的正方形即可。1.7節將作更詳細的解答。 1.7感覺我們是不是把問題過分簡化瞭?去除瞭一些關鍵的要素後,還有討論的價值嗎 這不正是數學常用的解決方式嗎? 例如,行星探測器與星體的距離時刻都在變化,如果我們以時間為橫軸,以距離為縱軸作圖,就能通過一張靜態圖像錶示探測器從過去到未來的運動情況。於是,時間這種特殊概念,也能轉換為數學形式,藉助普通的數字與函數錶述。 本節的內容也是如此。概率存在多種可能,如果我們以(Ω,F,P)錶述概率,就能以一種靜態的方式呈現所有的可能情況。於是,概率這種特殊概念就像這樣轉換為瞭數學形式,能通過普通的集閤、數字與函數錶述。 ……
前言/序言
《程序員的數學2:概率統計》 內容簡介 在瞬息萬變的數字時代,數據的洪流如同奔騰的河流,裹挾著信息,塑造著我們的決策。而在這股浪潮之下,隱藏著深刻的規律和必然。理解這些規律,便是駕馭數據、洞悉未來的關鍵。《程序員的數學2:概率統計》正是為緻力於掌握這一力量的你而精心打造的指南。 本書並非枯燥乏味的理論堆砌,而是以程序員的視角,深刻剖析概率統計這門強大而優雅的數學分支,如何在實際的軟件開發、數據分析、機器學習,乃至日常的決策中發揮著至關重要的作用。我們將從最基礎的概率論概念齣發,循序漸進,層層深入,最終抵達現代數據科學的核心。 第一部分:概率論的基石——理解隨機性 我們首先將從概率論的基石——事件、樣本空間和概率——開始。你將理解什麼是隨機事件,如何量化不確定性。我們將學習古典概率、統計概率和公理化概率,理解它們各自的應用場景。 事件與樣本空間: 每一個程序都可能包含著不確定性,例如用戶輸入、網絡延遲、傳感器讀數等等。我們如何描述這些不確定性?我們將學習如何定義事件,以及包含所有可能結果的樣本空間。例如,在模擬一次網絡請求時,成功或失敗就是一個事件,而所有可能的結果(如成功、超時、連接錯誤)構成瞭樣本空間。 概率的定義與性質: 如何量化一個事件發生的可能性?本書將詳細介紹概率的幾種主要定義方式,並闡述概率的基本公理和性質,例如加法法則(用於計算互斥事件或非互斥事件的聯閤概率)和乘法法則(用於計算多個事件同時發生的概率)。我們將探討條件概率,這是理解因果關係和依賴關係的核心,例如“已知用戶點擊瞭廣告,他購買商品的概率是多少?”。 隨機變量: 在程序中,我們經常需要處理數值型的隨機結果,例如一個函數的返迴值、一個算法的運行時間。隨機變量的概念將幫助我們將隨機事件映射到數值,使我們能夠進行更深入的數學分析。我們將區分離散隨機變量(如拋硬幣的正麵次數)和連續隨機變量(如一次網絡請求的響應時間)。 概率分布: 不同的隨機變量具有不同的概率分布規律。本書將深入介紹一些最重要、最常用的概率分布,包括: 伯努利分布與二項分布: 它們是描述獨立重復的0/1試驗(如成功/失敗)的基礎。理解二項分布對於分析用戶行為(如轉化率)、A/B測試結果等至關重要。 泊鬆分布: 適用於描述在固定時間或空間內發生隨機事件的次數,例如網站每分鍾的訪問量、某個時間段內發生的錯誤數量。 均勻分布: 最簡單的連續分布,錶示所有結果發生的可能性均等,例如在一個時間窗口內隨機生成一個數。 指數分布: 描述兩次連續事件發生之間的時間間隔,常用於分析係統故障間隔、用戶會話時長等。 正態分布(高斯分布): 概率統計中最核心、最強大的分布之一。許多自然現象和社會現象都近似服從正態分布,例如人的身高、測量誤差、許多性能指標。我們將學習其概率密度函數(PDF)和纍積分布函數(CDF),理解其“鍾形麯綫”的特性,以及標準正態分布的意義。 第二部分:統計推斷的藝術——從樣本到總體 有瞭概率論的堅實基礎,我們便進入瞭統計推斷的領域,這是從有限的觀測數據中提取信息、做齣關於未知總體的結論的科學。 描述性統計: 在開始推斷之前,我們首先需要有效地描述和概括數據。我們將學習各種描述性統計量,包括: 均值、中位數、眾數: 瞭解數據的中心趨勢。 方差、標準差、均方差: 量化數據的離散程度和波動性。 百分位數、四分位數: 刻畫數據的分布和分布範圍。 直方圖、箱綫圖、散點圖: 通過可視化手段直觀地展示數據特徵。 抽樣分布: 我們通常無法獲取總體數據,隻能通過抽樣來獲取信息。抽樣分布是連接樣本統計量和總體參數的關鍵橋梁。我們將重點關注樣本均值的抽樣分布,以及中心極限定理的強大威力。中心極限定理告訴我們,即使總體分布不服從正態分布,當樣本量足夠大時,樣本均值的抽樣分布也近似服從正態分布,這使得統計推斷成為可能。 參數估計: 如何利用樣本統計量來估計未知的總體參數?我們將學習: 點估計: 使用一個單一的數值來估計總體參數,例如使用樣本均值估計總體均值。 區間估計(置信區間): 提供一個範圍,我們有一定信心認為總體參數落在這個範圍內。我們將學習如何計算均值、比例、方差等的置信區間,並理解置信水平的含義。例如,我們可以計算齣“我們有95%的信心認為網站的用戶平均停留時間在X到Y分鍾之間”。 假設檢驗: 假設檢驗是統計推斷的核心技術之一,用於在統計證據的支持下,對關於總體參數的某種假設做齣判斷。我們將學習: 零假設(H0)和備擇假設(H1): 如何設定待檢驗的假設。 檢驗統計量: 用於量化樣本數據與零假設之間差異的統計量。 P值: 衡量在零假設成立的情況下,觀察到當前樣本數據或更極端數據的概率。我們將深刻理解P值的含義,以及如何根據P值做齣拒絕或不拒絕零假設的決定。 第一類錯誤(α)和第二類錯誤(β): 理解檢驗的風險。 常見的假設檢驗方法: 例如 t檢驗(用於比較兩組均值)、卡方檢驗(用於分析分類變量的關聯性)、Z檢驗等。這些檢驗在A/B測試、用戶行為分析、錯誤率檢測等場景中無處不在。 第三部分:概率統計在編程中的應用 理論知識固然重要,但《程序員的數學2:概率統計》更側重於將這些概念與實際的編程任務相結閤。 濛特卡洛方法: 利用隨機抽樣來近似計算難以解析求解的問題。我們將看到如何使用概率統計工具來模擬復雜的係統行為,例如模擬復雜算法的性能、估算高維積分。 隨機數生成器(RNG): 程序的許多方麵都需要隨機數,從遊戲開發到科學計算。我們將探討僞隨機數生成器的原理,以及如何評估其質量。 概率模型在算法設計中的應用: 例如,隨機化算法(如快速排序的隨機化版本)如何通過引入隨機性來提高平均性能和降低最壞情況發生的概率。 性能分析與優化: 利用統計方法分析程序運行時的性能指標,例如響應時間、內存占用,從而找齣瓶頸並進行優化。 A/B測試的統計學基礎: 如何科學地設計和評估A/B測試,確保實驗結果的有效性和可靠性。我們將詳細解析如何選擇閤適的統計檢驗方法,以及如何解讀P值和置信區間。 數據科學與機器學習入門: 概率統計是機器學習的基石。我們將簡要介紹樸素貝葉斯分類器(一個基於條件概率的經典分類算法),以及綫性迴歸(利用統計學原理進行預測)等概念,為你深入學習更高級的機器學習模型打下堅實基礎。 學習本書,你將獲得: 清晰的數學概念: 從根本上理解概率統計的核心思想。 編程視角下的講解: 將抽象的數學概念與具體的編程場景聯係起來。 實用的算法與方法: 學習如何將概率統計技術應用於解決實際的編程問題。 數據驅動的思維方式: 培養用數據說話、用統計思維解決問題的能力。 為進階學習打下堅實基礎: 掌握概率統計,是你深入機器學習、人工智能、大數據等前沿領域的必備通行證。 無論你是在開發復雜的分布式係統,還是在設計用戶友好的Web應用,亦或是在探索數據的無限可能,《程序員的數學2:概率統計》都將是你手中不可或缺的利器。讓我們一起,用數學的力量,洞悉隨機,掌控數據,創造更智能、更高效的未來!