《程序员的数学2》试读:前 言
本书的编写目标
本书的目标读者是那些希望在自己感兴趣的领域中运用概率统计知识,但并不打算成为数学专业人士的人。本书名称沿用笔者的另一本书《程序员的数学3:线性代数》,但内容更加普适而通用。
说起概率论与统计理论,很多人都会对此抱有一些负面印象:计算公式复杂,检验类型繁多,辛苦学习很久后却发现真正对工作有帮助的其实是那些电子表格软件。不少人在运用统计理论时态度也很消极,他们只是为了让别人相信自己的结论客观合理而被迫使用那些繁琐的处理。
然而概率统计理论并非没有价值。事实上,近年来为了更好地处理数据,人们开始在各个学科中积极应用概率统计理论。数据挖掘、垃圾邮件自动筛选、文档的自动分类与类似文件搜索、非法使用的鉴别(例如根据信用卡消费历史得出持卡人的消费模式,以检测非正常消费行为,或监视网络流量识别可疑的访问模式等)、语音识别与图像识别、通信工程(例如信号清晰的高音质通话技术)、基因分析、金融工程中的资产组合分析、受生物学启发得到的高效信息处理方式(神经网络、遗传算法等)以及基于蒙特卡罗模拟的循证式日程规划等各领域中都活跃着概率统计理论的身影。
为了了解这些技术,我们必须掌握一些概率统计基础知识。然而,目前面向非理科背景读者的教材少之又少,他们往往不知道应该怎样学习概率统计知识。概率论的专业教材需要一定的数学功底才能阅读,普通读者可能难以理解;而轻松易懂的入门书又常常不成体系,或是无法提供足够的信息。如果要应用概率统计理论,我们需要掌握更多的基础知识。例如,在实际应用中我们常会遇到多个事件同时发生的情况,如何才能胸有成竹地处理这类问题,而不是仅凭直觉或模糊的概念妄加猜测呢?为此,除了了解基本的计算步骤,我们还需要深刻理解以下两条概念。
概率是面积与体积的泛化
随机变量是一种以变量为名的函数
不了解这方面的读者可能难以理解这两句话,不过它们已经成为现代概率论的基础。另一方面,与统计相关的参考书通常会罗列各类分布与检验方法。可惜这种编排方式难以帮助我们将概率统计理论应用至上述当前热门的领域。然而,直接阅读专门介绍垃圾邮件分类的技术书也并非良策。换个角度讲,我们不可能仅靠从应用中学到的知识来改进已有的应用方式。如果基础知识不足,在实际应用中就不能深入理解问题,从而无法触及问题的本质。何况这些技术至今仍在不断发展,只学习一些阶段性的未成熟的技术并没有太大的价值。相比研究这些具体的检验方法与应用技术,我们更应该首先强化相关的基础知识,以应对(包括当前方式在内的)更广泛的应用情景。
如果读者已经具备了一定的数学基础(不但能够理解数学表达式,还能领会那些抽象而巧妙的描述方式),教材的选择就会轻松很多。注重学习效率的教材、基础知识详细的教材、讲解生动有趣的教材,不一而足,大家可随意挑选。然而,由于存在这一门槛,普通读者缺乏合适的教材,于是能够掌握稍微系统一点的概率统计知识的人就一下子少了很多。为此,本书在编写时考虑了以下三个原则。
精选了大量非数学专业读者也应当掌握的知识点
内容的深度与大学非数学系学生的学习能力相符
知识的讲解力求详细具体
因此,与传统教材相比,本书的着力点与讲解思路都较为独特。尽管本书面向初学者,却保持了一定的深度。虽然前半部分花了较长篇幅详解条件概率的概念,但省略了各种类型的分布,也没有具体介绍各类计算技巧及特征函数等内容。这是权衡了各个知识点的重要程度之后做出的决定。此外,有些部分的讲解看似冗长,实则语言明晰,非常易于理解。
在讲解各类估计与检验方式等统计学核心知识点时,本书也下了一番功夫。本书希望读者不仅能了解它们的用法,还能理解其背后的原理,因此详细介绍了相关的基础概念与思维方式。上文提到过,本书并不打算罗列所有的统计方法(尤其是数据的采集方式与区间估计等内容)。如果读者想要学习各种具体的估计与检验方法,请参考专门的统计学教材。本书将着重说明这些方法背后的理论依据,解释这些方法背后共通的原理。
0.1 在阅读本书前,需要预先掌握哪些数学知识A
需要具备高中理科级别的数学知识(包括向量、微积分等的概念与基本计算能力) 偶尔会用到大学级别的数学知识(主要是多元微积分),不过本书会为不具备这方面知识的读者提供必要的解释 不会使用大学数学系级别的知识(主要是测度论)。如果讲解时无法避免,本书将明确提示,并给出易于理解的说明,帮助读者建立直观印象此外,第5 章与8.1 节需要用到一些大学程度的线性代数知识(例如,需要通过正交矩阵将对称矩阵对角化)。如果读者之前不了解线性代数理论的应用价值,也许会惊叹它的巨大威力。
最后,附录A简单总结了求和符号、指数与对数的一些基础知识,读者如有需要可适当参考。
---------------------------
A 该部分在正文中称为“问答专栏”。——译者注
---------------------------
0.2 为什么要在写线性代数教材的同时再写一本概率统计教材
撰写这两本教材都是因为该学科的初学者与专家之间存在人才断层现象。在这两个领域中,一些有经验的人能够轻松解决的问题,初学者却常常感到过于复杂。产生这一问题的根本原因在于,无论是矩阵还是概率,不同水平的人对它们的理解程度往往大相径庭。例如,只要具备一定的线性代数基础,就一定会知道矩阵的本质是一种映射。然而,考虑到初学者不一定能够理解这种抽象的解释,入门教材一般会使用更浅显的说明方式。因此,笔者希望打破这一惯例,教授初学者矩阵更加本质的含义,即,矩阵是一种映射!
笔者相信,这本书证明了如下几点。 只要讲解详细,说明充分,初学者也能理解抽象概念的本质 即使不打算成为数学方面的专家,掌握这些本质也大有裨益 事实上,首先阐明概念的本质,往往更利于读者理解本书也将以此为目标。对于具备一定的概率统计基础的人来说,以下这句话是众所周知的常识。概率是一种面积!
本书希望让更多的人理解这一概念A。1.3 节将借助“上帝视角”具体讲解这句话的含义(它也许与读者的想象有些差别)。在理解了这句话之后,概率论中的很多问题都会迎刃而解,敬请期待。
图
--------------------------------
A 准确地讲,概率是一种测度。测度可以简单理解为面积与体积等可测量的量的泛化概念。
--------------------------------
本书的构成
本书包含以下两大部分。
第1部分:聊聊概率这件事
第2部分:探讨概率的应用
其中,第2部分中的各个主题相对独立,读者可依个人兴趣与喜好有选择地阅读。不过,这并不是这样分类的真正原因,这背后还有一个更为深层的理由,即“不希望读者混淆观测值与该观测值背后的生成机制”。
我们来看一个极为简单的例子。
背后的生成机制:算命箱中有七成是吉,三成是凶
观测值:5人抽签后,4人抽到了吉,1人抽到了凶
我们可以从7/10 与4/5 这两种角度来讨论吉凶的比例,但两者的含义与意义完全不同。我们可以直接观测到观测值,但无法观测该值生成的机制。要真正理解并应用统计方法,必须明确区分两者。
第1 部分虽然会告诉读者生成机制,但仅讨论由该机制生成的观测值具有怎样的性质。在充分理解这部分内容之后,第2 部分的重点将同时关注生成机制本身,讲解观测值怎样通过其背后的生成机制生成。我们姑且称前者为正问题,后者为逆问题。由于无法得到完整的信息,逆问题往往更难解决,且在讨论逆问题前,我们必须对正问题有深刻的理解。
现实问题往往属于逆问题,如果为了吸引读者而在正问题中混入逆问题,就很可能使读者感到混乱。为此,第1部分将集中讨论正问题,在读者对概率的基本概念了然于胸之后,再开始研究难度更大的逆问题。
0.3 为什么第1部分的例子多与赌局或游戏相关
上文所说的观测值与生成机制正是产生这种情况的原因。赌局与游戏背后的生成机制即是它们的规则,而这些规则我们可以事先知道。因此,它们非常适合作为第1 部分的实例。
在线资源
读者可以从图灵社区的网站上下载在各章末专栏的实验中执行的Ruby脚本A。
谢辞
原启介、高桥信、小山达树与堀英彰审读了本书的原稿,并对内容、编排与表述方式提供了很多有价值的建议。B 小柴健史给伪随机数部分提出了宝贵意见。使用过本书Beta 版的学习小组也提供了很多有益的反馈。kogai、studio-rain、mia、pige 以及其他一些匿名网友为本书在互联网上公开的草稿提出了许多勘误与问题。欧姆社开发部的诸位从各方面为本书的写作提供了支持C,使本书达到了仅凭笔者一人绝对无法达到的水准。mUDA为本书的关键概念绘制了形象有趣又令人印象深刻的插图。笔者在此向诸位表示衷心的感谢。本书得以面世,离不开大家的努力(因笔者水平所限,本书难免还有不足之处,望读者见谅并批评)。
笔者
2009年10 月
----------------------------
A http://www.ituring.com.cn/book/1254,点击“随书下载”。——编者注
B 阅读尚不成熟的原稿十分辛苦。多亏了几位的早期审读,笔者才能对包括本书整体框架在内的方方面面做出巨大改进。
C 大家除了准备邮件列表、版本管理系统、错误追踪系统等基本的软件环境,还提供了可以直接通过make指令确认运行结果的实验模拟程序,技术
作者: 平冈和幸, 堀玄
副标题: 概率统计
isbn: 7115400512
书名: 程序员的数学2
页数: 405
译者: 陈筱烟
定价: CNY 79.00
出版社: 人民邮电出版社
出版年: 2015-8-1
装帧: 平装
出品方: 图灵教育