数学之美最近读完了吴军老师的《数学之美》,受益匪浅,这本书适合有一定数学基础,并且想了解一些互联网技术背后所采用的数学原理的读者。吴军老师没有从“术”的层面给读者具体讲解技术背后使用的数学算法模型,而是用简单生动的语言,从“道”的层面阐述了解决某些问题所采用的数学方法和原理。读这本书的时候,大学高等数学、概率论与数理统计、线性代数像脱去了枯燥的外衣,让我真真切切领略到数学的魅力~
概率统计与语音识别
从阿兰·图灵1950年提出机器智能设想后已经过去60多年了,科学家们在探索机器智能语言处理的过程中走过一段很长的弯路,在最初的20多年里,科学家们都在尝试着让机器模拟人脑,让机器像人一样分析语句和语义。由于语法规则的分析树复杂度高,且语言中的多义词很难用规则来描述,所以20世纪50年代到70年代的研究成果几乎为零。
1970年贾里尼克提出使用统计语言模型解决语言识别问题,即根据语句中每个词出现的概率大小来决定句子的合理性,比传统的机器模拟人脑思维的方法简单很多。大学里面学过概率论与数理统计的小伙伴应该很容易理解,贾里尼克主要使用了里面的条件概率数学模型,假设S表示一个句子,句子由x1,x2,...,x10这10个单词顺序排列组成,P(S)为句子出现的概率,P(S)的计算公式如下:
P(S)=P(x1)•P(x2|x1)•P(x3|x1,x2)•••P(x10|x1,x2,•••,x10)
其中P(x1)为单词x1出现的概率,P(x2|x1)为单词x1出现的前提下,x2出现的概率,以此类推就能计算出其他词出现的条件概率。但是如果句子较长的情况下,按照上述方法计算复杂度较高,马尔可夫之前提出过简化这类过程的方法,那就是每个单词只与它前面的单词有关,P(S)的计算公式可简化为:
P(S)=P(x1)•P(x2|x1)•P(x3|x2)•••P(x10|x9)
此公式为二元概率统计语言模型,当每个单词只与它前面两个单词有关的时候,为三元概率统计语言模型,以此类推。随着模型阶数的增大,语音识别的精确度越高,但是相应的也会耗费很多资源。
从概率统计语言模型的公式可以看出,数学可以将复杂的问题用一种简单优雅的方式解决,并且它不仅能够解决语音识别问题,还能应用于机器翻译、拼写纠错、文献查询,嗯,就是这么强大。
布尔运算与搜索引擎
大多数人对布尔代数应该不陌生,我记得高中物理课本上就有“与”门、“非”门、“或”门,它表示逻辑的“是”与“非”,正好对应二进制1和0,1代表ture(真),0代表false(假)。基本的运算只有“与”、“或”和“非”三种,与我们日常生活息息相关的搜索引擎就是基于布尔运算来解决索引问题。
当我们在搜索引擎中输入某个关键字时,搜索引擎是如何从海量的网页中匹配到所有含有我们输入的关键字网页呢?索引的原理很简单,通过用一个很长的二进制表示一个关键字是否出现在每个网页中,有多少网页,就有多少二进制位,每一位对应一个网页。比如关键字“数学”的二进制数为100010010001,则第一、第五、第八和第十二个网页包含“数学”这个关键字,关键字将索引匹配到这些网页。当要找到同时包含“模型”的网页时,只需将这两个关键字的二进制数进行“与”的布尔运算。
看到搜索引擎索引这段内容时,我有点shock到了,没想到索引竟然是基于这么简单的原理,理论与实践的完美结合能发出绚丽多彩的光芒。
余弦定理与新闻分类
当年学习余弦定理的时候,怎么也想不到它会跟新闻分类有紧密的联系,只知道死记公式以保证考试的时候拿到分。了解计算机新闻分类的原理后,发现看似复杂的现象背后隐藏着一个简单完美的数学公式。
新闻分类就是把主题内容相似的新闻归到一类中,而词是组成新闻的最小单位,同类新闻的关键词重合率一定比非同类新闻的重合率高很多。首先计算出实词的出现频率,即实词在该新闻中出现次数比上总词数,并将新闻中的实词对照词汇表按位置依次排列,比如(0,0.5,0,•••,0.34,0.089),这样每篇新闻都可以用一个特征向量表示。注意要去掉“的”、“地”、“和”等虚词,以保证分类精度。
由于每篇新闻的文本长度不同,导致对应的特征向量上数值有较大差别,因此通过比较特征向量各个维度的数值大小对新闻分类没有实际意义。但是,可通过比较特征向量之间的夹脚大小来判断新闻的相似性,如果两篇新闻主题内容类似,则这两篇新闻的关键词在向量维度上分散情况类似,越相似的新闻,对应的特征向量夹角越小。通过余弦定理计算两个特征向量的夹角余弦,当两篇新闻特征向量夹角余弦等于1时,说明这两篇新闻完全相同,随着夹角余弦的减小,两篇新闻的相似性就越小,当等于零时,说明这两篇新闻完全没有关系。
上面列举了三个我认为很意思的数学原理与实际应用之间的关系,想了解更多内容的小伙伴可以去看吴军老师的《数学之美》,整本书都是干货,强烈推荐。PS:我没收广告费~~~
网友评论