读《数学之美》

到手《数学之美》也有一段的时间了,作为这段时间内我茶余饭后的书籍,确实引起了我极大的兴趣,因为时间分配的不多一天只有阅读一两章左右,昨天看完了所有的章节,意犹未尽啊。

从名字就可以看出来,这本书是讲数学的,不过呢,是讲实际应用中的数学原理(不涉及具体的实现,能让你知道这个东西大概的原理是什么样的),以前从来没有想到中学的余弦定理能有那么大的作用,还有费马定理等等。吴军博士还很通俗的讲了一下人工神经网络和神经一毛钱关系也没有(哈哈),被书中的很多想法惊艳到了,果然只有科研才是人类智慧的结晶啊(我早已放弃那些杂书了)。
这本书中没有讲什么关于学习数学的方法(完全不是学习指南),属于科普书籍的范畴,读完肯定能激发你对数学的兴趣(Trust me)!
因为我数学比较菜,所以看书的时候经常动手查wiki,所以文中提到的数学概念我都添加了维基链接和脚注。
好了,废话不多说。下面进入详情模式。


由于篇幅过多只举一例(实际上是我懒懒懒,欲知详情去买书),来看下数学在计算机的实际应用吧。
吴军博士在《数学之美》这本书中花了很大的篇幅介绍了自然语言处理方面的内容(统计语言模型、分词。隐含马尔可夫模型、信息的度量等等)。

自然语言从它产生开始,逐渐演变成一种上下文相关的信息表达和传递的方式,因此让计算机处理自然语言,一个基本的问题就是为自然语言这种上下文相关的特性建立数学模型。这种数学模型就是自然语言处理中常说的统计语言模型(Statistical Language Model)

篇幅过长其余的不再概(粘)述(贴),就说一下统计语言的二元模型(当然如果一个词的概率假设和前面N-1个词决定,那模型就被称为N元模型):
假定S是有意义的句子,由一段特定序列的词$w_1,w_2,w_3,...,w_n$组成,其中n为S的长度。现在我们想计算S在文本中出现的可能性,也就是数学上说的S的概率$P(S)$,既然$S=w_1,w_2,w_3,...,w_n$,那么我们可以把$P(S)$展开为:
$$P(S)=P(w_1,w_2,w_3,...,w_n)$$
利用条件概率公式,S这个序列出现的概率等于每一个词出现的概率相乘,于是$P(S)$可展开为:
$$P(S)=P(w_1)·P(w_2|w_1)·P(w_3|w_1,w_2)···P(w_n|w_1,w_2...w_{n-1})$$
但是现在又陷入一个问题——计算量太大,因为每一个词出现的概率可能就是一部词典,第一个词$P(w_1)$很好算,第二个词$P(w_2|w_1)$也不太难算,但是如上所说,每一个词的可能性都是一种语言词典的大小,到最后一个词,条件概率$P(S)=P(w_1,w_2,...,w_n)$,可能性太多,无法估算。
还好,俄国数学家马尔可夫提出的一个概念:

假设任意一个词$w_i$出现的概率只同它前面的那个词$w_{i-1}$有关,这种假设叫做马尔可夫假设

$$P(S)=P(w_1)·P(w_2|w_1)·P(w_3|w_2)···P(w_i|w_{i-1})···P(w_n|w_{n-1})$$

根据条件概率的定义,我们可以估算条件概率$P(w_i|w_{i-1})$:

$$P(w_i|w_{i-1})=\frac{P(w_{i-1},w_i)}{P(w_{i-1})}$$

而估算联合概率和边缘概率变的很简单,只要通过语料库数一数$w_{i-1},w_i$这对词在统计文本中前后相邻出现了多少次$*(w_{i-1},w_i)$以及$w_{i-1}$本身在同样的语料库中出现了多少次$*(w_{i-1})$然后用这两个数分别除以语料库的大小$*$,即可得到这些词或二元组的相对频度:

$$f(w_{i-1},w_i)=\frac{*(w_{i-1},w_i)}{*}$$

$$f(w_{i-1})=\frac{*(w_{i-1})}{*}$$

根据大数定理只要统计量足够,相对频度就等于频率,即

$$P(w_i,w_{i-1})\approx\frac{*(w_i,w_{i-1})}{*}$$

$$P(w_{i-1})\approx\frac{*(w_{i-1})}{*}$$

而$P(w_i|w_{i-1})$就是这两个数的比值,考虑到它们拥有相同的分母,可以约掉,即

$$P(w_i|w_{i-1})\approx\frac{*(w_i,w_{i-1})}{*(w_{i-1})}$$

OK,终于写完了。可以看到,利用数学我们可以将很复杂的问题化简到这么简单。这么简单的数学模型能解决复杂的语音识别和机器翻译等功能,还能说"数学无用论"吗?
模型做好了,对于模型的训练(得到模型中所有的条件概率)那也是必不可少的。最近发现Mathematica提供了Classify,我就随便试(装)了(B)一下(和文中的模型无关)



  1. 条件概率(英语:conditional probability)就是事件A在另外一个事件B已经发生条件下的发生概率。条件概率表示为P(A|B),读作“在B条件下A的概率”。
  2. 联合概率表示两个事件共同发生的概率。A与B的联合概率表示为$P(A \cap B)$或者$P(A,B)$。
  3. 边缘概率是某个事件发生的概率。边缘概率是这样得到的:在联合概率中,把最终结果中不需要的那些事件合并成其事件的全概率而消失(对离散随机变量用求和得全概率,对连续随机变量用积分得全概率)。这称为边缘化(marginalization)。A的边缘概率表示为$P(A)$,B的边缘概率表示为P(B)。
  4. 大数定律又称大数法则、大数律,在数学与统计学中,是描述相当多次数重复实验的结果的定律。根据这个定律知道,样本数量越多,则其平均就越趋近期望值。
全文完,若有不足之处请评论指正。
本文标题:读《数学之美》
文章作者:ZhaLiPeng
发布时间:2015年10月24日 18时22分
本文字数:本文一共有1.6k字
原始链接:https://imzlp.me/posts/19425/
许可协议: CC BY-NC-SA 4.0
转载请保留原文链接及作者信息,谢谢!
您的捐赠将鼓励我继续创作!