计算机科学领域里,确定性算法在过去发展到了瓶颈期,而随机化技术正像一把神秘的钥匙,在这个时候推开了效率与可行性的大门。给概率论和算法设计这两种不同的学科混在一起进行讲解的这本书,通过17章的内容,把离散数学、随机过程、信息论和优化思想这些内容都给囊括进来,只要你有一点概率论基础就能读懂现代大数据和机器学习背后的数学。这个书的结构是把思路从“为什么”转到“怎么做”,每一个章节都像是搭积木,先让基础知识的每一块积木都打好地基。第一至三章把“事件”、“随机变量”、“期望”这些基本功给你讲清楚。第四至六章把Chernoff界、Hoeffding界和马尔可夫不等式变成了有效的武器库,这在处理样本平均问题时能给你提供思路。第七至九章通过球箱模型和随机图来解释随机化如何把NP难题降维成多项式时间可解问题。十至十四章引入熵、互信息、鞅、样本复杂性还有VC维度这些概念来理解机器学习泛化误差。第十五至十七章介绍两两独立、通用哈希、布谷鸟哈希还有Lovász局部引理这些高级技巧。这次更新增加了近十年来算法与数据科学最热门的内容:正态分布的近似技巧、Rademacher复杂性对泛化误差的分析、幂律分布的解释还有布谷鸟哈希这种高效方案。书中也有大量练习与示例帮助你把理论变成实践。这个书适合一学期或两学期的教学内容使用:在一学期里每周可以覆盖两到三章内容,并配合编程作业进行学习;两学期里可以深入了解学习算法的部分还有机器学习实战项目。要想把这本书读好,你可以先通读目录画出兴趣图谱标出重点章节,遇到抽象概念时可以用伪代码把它们具体化并写下来形成肌肉记忆;做练习时先用直觉猜出解决方案再用理论验证正确性;反复阅读之后让随机化技术深入脑海中。