《数学之美》吴军 阅读笔记

阅前须知

以下部分没有涉及到任何具体的数学公式,如果需要具体公式可以根据对应章节看书或者上网查找。

不保证以下内容完全与书里提到的相符,可能我有理解错误的地方。

以下内容大部分基于书本,部分概念解释来源于互联网。

还有些问题因为我自己没懂所以也无法做出概括或者解释,以后可能会补上。

第一部分

信息的发展,数学的使用,因为人们需要计数所以逐渐发展出各种各样的计数方式,后来在大浪淘沙遗留下来的就是我们目前使用的。

其中很有意思的是“信息的冗余是确保信息传递的一种方式”。我们现在都在尽量避免信息的冗余,而在古代要想办法增加信息的冗余,因为重复意味着能被后世看见的概率增加。

第二部分 自然语言处理

从“主谓”之类的语言规则到基于统计方法的核心模型(通信系统和隐马尔可夫模型)。

语言规则

这方面的研究随着统计方法的崛起和研究人员的老去(没有成果的老去)而凋敝。

统计模型

1.统计模型——根据概率判断。一句话的组合A比组合B发生的概率更大,所以选用A。(概率的计算是根据巨大的统计量得出的)

2.语料选取——根据应用模型需求选取。举例:如果是网页搜索,用户输入的语料是杂乱而不准确的(噪声大),所以要用同样不干净(x)的语料来对模型进行训练(这样的准确度更高),而不能用干净准确的新闻稿。

3.分词——根据应用场景才能判断契合度。基本上已经完成这部分的统计语言模型的研究,有可提升度但花费时间精力提升的意义有限。分词:(1)颗粒度(指具体的详细和清晰程度)(2)分词错误,分为越界型错误(北京大学 生)和覆盖型错误(北 京 大 学)。

隐马尔可夫模型(应用于机器翻译,拼写纠错,手写体识别,图像处理,基因序列分析)

信息传递是编码解码的过程。

自然语言处理可以等价于通信解码的问题。

模型训练

有监督训练:大量人工标注数据

无监督训练:通过大量观测信号推算模型参数(鲍姆—韦尔奇算法)

(概率论与数理统计)信息用来减少不确定性的因素。互信息是两个随机事件相关性的量化度量。

机器翻译的难题之一是词义二义性。

首先被考虑的是用语法来分析词性,行不通(书里举例Bush翻译成人名还是灌木丛都是名词属性,并不给语法带来错误)。

根据上下文的类别关联词来判断多义词在文中的意思。使用大量文本数据算出互信息最大的词可以显著提高多义词翻译的正确性。

信息熵是对信息不确定性的量化度量。在有上下文的条件时对高阶语言模型应用条件熵,考虑训练语料和真实应用的文本差别引入相对熵的概念(相对熵越大,函数差异越大;相对熵越小,函数差异越小;相对熵为0,函数差异为0)。

语言模型复杂度可以直接衡量语言模型的好坏,复杂度小,每个位置的单词越确定,模型越好。

(离散数学 数理逻辑)第八章 简单之美 布尔代数与搜索引擎

搜索引擎快速展现搜索结果在于建索引。可以根据网页的重要性 质量 访问频率 建立不同级别的索引。

索引结构是用二进制表示关键字是否出现在文献里(有是1,没有是0),这个二进制数会很长但计算机做布尔运算很快。

(离散数学 图论遍历算法)第九章 搜索

广度优先搜索(BFS) 先访问每个节点直接相连的其他节点。适用于给定初始状态跟目标状态,要求从初始状态到目标状态的最短路径

深度优先搜索 (DFS) 一条道走到黑。使用”栈“数据结构来保存需要探索的节点。

网络爬虫 网页是节点,超链接是其中的弧,从任何网页出发用图的遍历算法可以自动访问到每个网页。

用哈希表(hash set)记录已经下载过的网页。

构建网络爬虫—— “如何在有限时间里最多地爬下重要的网页(通常是首页)“,BFS明显优于DFS。

DFS与分布式结构(分布式结构是客户机/服务器结构的一种特殊类型。在这种结构中,数据分布存储在多台服务器上。一个分布式数据库是由分布于计算机网络上的多个逻辑相关的数据库组成的,其中,网络上的每个节点都具有独立处理能力,可以执行局部应用运算,也可通过网络执行全局应用运算。(百度百科))和下载服务器和网站服务器建立通信(1、服务器首先向一个大家都信任的第三方机构申请一个身份证书。 2、客户端向服务器建立通信之前首先向服务器请求获得服务器的证书。 3、服务器收到请求后把数字证书发送给客户端。 4、客户端获得服务器的证书之后,然后与可信任的第三方机构证书进行验证,验证通过后则进行正常的内容通信。)的过程相关。

关于BFS与DFS由调度系统来优先排序,BFS成分多一些。

页面分析和URL(统一资源定位符(Uniform Resource Locator)互联网上标准资源的地址)提取:随着网页设计复杂化,打开网页源代码URL不是可见的文本,是运行脚本后得到的结果。

URL表记录已下载网页采用哈希表,平均只需一次查找判断网页的URL是否在表中。

(维护哈希表,1.明确下载服务器的分工,2.判断是否可以批处理URL)

(线性代数)pagerank网页排名算法核心思想:如果一个网页被其他网页所链接,说明它受到普遍的承认和信赖,那么它的排名就高。

把互联网当作整体对待,注意网页之间的关联性。

第11章 网页和查询的相关性

长网页包含的关键词更多,所以转化成关键词频率(用来量度关键词在网页上出现的总次数与其他文字的比例)比单纯地找一个网页里的关键词字数更好。

度量网页和查询的相关性用关键词的总词频。

不同关键词的重要性不同,我们用权重衡量其重要性:一个词预测主题能力的越大,这个词的权重越大。反之一个词在任何网页里都有出现,则没有意义,我们称之为:停止词,停止词的权重为0。

TF-IDF (Term Frequency-Inverse Document Frequency, 词频-逆文件频率) 是一种用于资讯检索与资讯探勘的常用加权技术。 逆文本频率指数IDF(在特定条件下关键词的概率分布的交叉熵)等于一个公式(想知道是什么公式可以去搜一下),可以用来计算权重。

第12章 有限状态机和动态规划

手机定位与导航的关键技术:1.卫星定位 2.地址识别(通信编码相关)3.根据用户输入起点终点规划最短或最快路线(图论)。

有限状态机是一个特殊的有向图:若地址从状态机的开始状态经过若干中间状态走到终止状态,则地址有效。

有限状态机识别地址的两个关键:1.有效地址建立状态机, 2.地址字串的匹配算法。

因为程序匹配是严格的但自然语言是随意的,我们希望进行模糊匹配——基于概率的有限状态机和离散的马尔科夫链。

动态规划(Dynamic Programming)一个抽象的图包括一些节点和连接他们的弧。考虑弧的长度(权重)就出现了加权图。权重对应地图距离,行车时间,过路费金额等。

把寻找全局最短路径分解成寻找局部最短路径,动态规划可以降低最短路径的计算复杂度。

有限状态传感器,输入和输出的可能性不同(对每一种可能性赋予的权重不同)相应的有限状态传感器是加权的,概率最大的路径是句子的识别结果。

第14章 余弦定理和新闻分类

对于新闻实词进行重要性度量。在对应实词表里依次排序得到向量。(向量代数)每一篇新闻对应一个特征向量,通过对比特征向量就能算出新闻之间的相似度。向量之间的夹角是衡量两个向量相近程度的度量,可以通过夹角判断主题的接近程度。计算夹角用余弦定理。

(计算向量代数,有方向的线段,有机会去看看实例,不太好想象)

第15章 矩阵运算和文本处理中的两个分类问题

(线性代数)比较奇异值分解的计算复杂度和利用余弦定理计算文本相似度。我看不懂这一节。

大概讲矩阵的应用,将文本按主题归类和将词汇表中的字词按意思归类。实际应用先用奇异值分解做粗分类,再计算向量余弦迭代,最后有比较精确的结果。

第16章 信息指纹及其应用

将网址用函数随机映射到二进制16个字节的整数空间,降低储存网址的内存需求量(网址消重)。

网页爬虫在下载网页时会将访问的地址变成信息指纹存在哈希表内,遇到新地址就与哈希表对比看是否要下载。

随机映射成整数是因为整数查找比原来的网页地址的字符串查找速度要快很多。

产生信息指纹:为随机数产生器算法(将任意长的整数转化成特定长度的伪随机数)。

信息指纹的一个特点是不可逆(无法根据信息指纹推出原有的信息),可以应用于网络加密传输。(网站根据本地客户端cookie识别不同用户但无法了解用户的具体身份)

判断网页的查询用词是否完全相同的完美计算方法是计算两个集合的指纹再直接进行比较。(集合具有无序性,所以元素的出现顺序对于判断无影响)(利用信息指纹计算复杂度不需要额外空间)

为了有容错能力,推出相似哈希,将文章切成小片段挑选特征词比较计算指纹。

用信息指纹表示视频关键帧(每一秒或者若干秒有一帧是完整图像的是关键帧,其余帧是和关键帧相比的差异值),比较不同视频之间的信息指纹和出现时间可以判断盗版。

(概率论和组合数学)信息指纹由伪随机数产生,可能产生相同的信息指纹,经过证明(证明过程在书上),可能性几乎为0。

计算相似哈希分两步,一步是扩展(将二进制指纹扩展为实数),中间进行一些我看不懂的处理,第二步是收缩(将实数变回二进制数)(很神奇对吧)。

网站的相似哈希相差越小,网页的相似度越高。通过记录相似哈希可以判断网页是否出现过,避免重复建立索引浪费资源。

第17章 密码学的数学原理

把常用词对应成不同密码,使得破译者难以统计出任何规律。

当密码之间均匀分布并且独立统计时,提供的信息最少。均匀分布使得敌方无法统计,统计独立可以保证敌人即使知道加密算法,并且看到密码和明码,也无法破译另一段密码。

公开密钥下有具体加密的方法,但它们的基本原理是一致的(拥有两个密钥(yue四声),一个用来加密一个用来解密,在数学上是关联的)。公开密钥的好处是简单可靠灵活。

最彻底的解密方法对大数N进行因式分解(通过N找PQ,拼计算机的速度)(书上有详细的举例)。

第18章 搜索引擎反作弊和搜索结果权威性问题

搜索引擎作弊的目的是采取不正当手段提高自己网页的排名,早期常见方法是重复关键词(用小并且与背景相同颜色的字体)但很容易被发现并且纠正。

有PageRank(网页被引用链接越多排名越靠前)后出现买卖链接的生意。

搜索引擎作弊的本质是对排序加入噪声。因此反作弊法要增强排序算法的抗噪声能力。(有的低质量网站短期排名靠前,因为抓作弊需要时间)

余弦定理算出网站的出链向量间余弦距离几乎为1,则表明这些网站由一个人建立用来卖链接的。(改进PageRank后这种方法就不起作用了)

图论应用作弊网站相互连接形成Clique(集团,小圈子),有专门发现Clique的反作弊方法应用。还有JavaScript跳转页面,质量很高的落地页一闪而过,跳转到商业页面。

搜索结果权威性 计算步骤

1.对网页正文进行句法分析,找出涉及主题词的短语和对信息源的描述。(提及mention)

2.互信息,找主题词和信息源相关性。

3.对主题词短语进行聚合(把字面意思不同但实际含义相同的聚类)(矩阵运算)

4.对网站的网页按照子域或子目录聚类

得到针对不同主题信息源网页具有权威性的关联矩阵,迭代算法得到收敛后的权威度关联矩阵。

第20章 最大熵模型

最大熵原理:对随机事件的概率分布进行预测时,我们的预测应当满足全部已知条件,对未知情况不要做主观假设。

第21章 拼音输入法的数学原理

对汉字的编码:对拼音的编码和消除歧义性的编码。

香农第一定理指出:对于一个信息,任何编码的长度都不小于它的信息熵。(任何输入法都不可能突破信息熵给定的极限。)

拼音转汉字的算法是动态规划,可以将汉语输入看成通信问题,输入法是将拼音串变到汉字串的转换器。一个拼音可以对应多个汉字,把拼音串对应的汉字从左到右连起来,形成一张有向图(称为网络图或篱笆图)。

拼音输入法就是要根据上下文在给定的拼音条件下找最优(最大概率)句子。对应网络图就是要从起点到终点找到最短路径——动态规划,拼音输入法与导航系统的数学模型是一样的。

现有的汉字输入法可提升的空间还很大,但速度不是唯一的衡量标准,用户体验也很重要。

(概率论)语言模型足够大,拼音输入法平均击键次数可以接近信息论的极限值(最理想 输入一个汉字平均敲1.3此键),放在云计算上可实现,个人客户端不现实。

客户端的优点是建立个性化语言模型。用户经常输入的内容和用语习惯的语料训练用户特定的语言模型

1.将训练语言的文本分类

2.根据类找特征向量X1 X2……

3.统计人输入的词并得出特征向量Y

4.计算Y与X们的余弦距离

5.选择前K个与Y距离最近的类对应的文本,作为特定用户语言模型训练数据

6.训练用户特定语言模型M1

大部分情况M1比通用模型好,但M1小,覆盖语言现象少(较少的专业术语或冷僻词),最好综合M1和通用模型——线性插值的模型(比起最大熵模型略差,但可以达到80%的收益)。

第23章 布隆过滤器

哈希表存储的优点是快速准确,缺点是耗费存储空间(当集合模型巨大时这个缺点尤为明显)。

布隆过滤器是一个很长的二进制向量和一系列随机映射函数。优点是快速,省空间,但有很小的可能性发生误识别率(可以建立小白名单存储误判的情况)。

贝叶斯网络状态之间没有直接因果关系,但有间接相关性,有量化可信度(概率描述)。贝叶斯网络的弧可以有附加的权重。(提问:什么是附加的权重)

贝叶斯网络的拓扑结构比马尔可夫链灵活,它不受链状结构的约束,可以更准确地描述事物之间的相关性。

使用贝叶斯网络前要先确定网络的拓扑结构(结构训练),还要知道各个状态之间的相关概率(参数训练)这两者通常交替进行。

文字处理方面,语义相近的词之间的关系可以用一个贝叶斯网络描述。

主题模型(Topic Model):基于统计的模型分析文本,从中抽取概念,分析主题。

文本分类:面对大量文本使用关联矩阵的奇异值分解或者余弦距离聚类将其分成一万类(这个数字可以由人工自由定义),把一篇文章归到一类或者若干类里,同一类文章共享很多关键词。不同文章通过关键词建立一种关系。

概念分类:(方法之一)对每个词以文本作为维度建立向量进行向量的聚类,得到对词的分类,分出来的每一类称为一个概念(一个概念包含多个词,一个词属于多个概念)。于是可以建立文章,概念和关键词之间的联系。

贝叶斯网络中网络的拓扑结构(结构训练)在复杂的问题上需要通过机器学习得到。

优化贝叶斯网络从理论上讲需要完备的穷举搜索(考虑每一条路径达到全局最优解),但计算量太大。

一般采用贪心算法(Greedy Algorithm)在每一步沿箭头寻找有限步,但可能会陷入局部最优解远离全局最优解。

(另一种找最优解的方法)信息论是保留信息较大的节点的直接连接,对简化网络进行完备搜索,找到全局最优解。

确定贝叶斯网络的结构后,要确定这些节点之间的弧的权重,使得后验概率(观察到这些数据)达到最大,EM(Expectation-Maximum)期望最大化算法。

第25章 条件随机场、文法分析及其他

统计文法规则的概率 把文法分析看成是一个括括号的过程。(我不明白这个,是每个句子都要括括号吗,是计算机可以自己括括号吗,如果它自己括了括号,那在括括号的时候就已经分析完了啊)

再做浅层分析(找出句子的主要词组以及它们之间的关系)可以采用条件随机场(提高句子浅层分析的正确性)。

条件随机场景是无向图,顶点之间的弧代表它们相互的依赖关系,采用一种概率分布。

基于条件随机场的数学模型可以用来对可能的犯罪进行预测,已经应用于美国洛杉矶并降低该地区的犯罪率。

第26章 维特比和他的维特比算法

维特比算法是特殊但应用广泛的动态规划算法,针对篱笆网图的有向图最短路径提出的。

(这个算法看得我有点头大,先放一下,具体内容看书吧)

CDMA(码分多址)技术 3G移动通信的基础

扩频传输 与固定频率传输的好处

1.抗干扰能力强

2.难以截获(信号能量低并且有密码)

3.利用带宽更充分

每个发送者有不同的密码,接收者会通过密码滤掉无法解码的信号,留下与密码相对应的信号。

第27章 期望最大化算法

文本自动分类新方法,既不用事先设定好分类也不用两两比较合并聚类。

随机挑选类别的中心点,优化中心点使它们和真实聚类中心尽可能一致(即收敛)。使用TF-IDF向量和向量之间的余弦距离。

步骤如下:

1.随机挑选K作为起始中心点。

2.计算所有点到这些聚类中心的距离

3.重新计算每一类的中心

4.重复以上步骤直到新旧中心点的偏移很小,即为过程收敛。

当距离函数足够好要保证同类相对距离近,不同类相对距离远(要考虑类的大小(点的数量),需要加权平均公式)。

拓展到一般的机器学习里,分为两个过程:1.根据现有聚类对数据点进行重新划分将分类结果看成是数学模型,聚类的中心值,点和聚类的隶属关系是模型的参数。2.根据重新划分的结果得到新的聚类。

期望值计算过程(E过程):计算观测数据输入到模型里的计算结果。

最大化过程(M过程):重新计算模型参数,以最大化期望值。

这一类算法都称为EM算法。比如 隐马尔科夫训练方法Baum-Welch算法,最大熵模型的训练方法GIS算法。

目标函数是凸函数,EM算法保证全局最优解,如果不是则可能给出局部最优解。

第28章 逻辑回归和搜索广告

逻辑回归模型是指将一个事件出现的概率逐渐适应到一条逻辑曲线(S形曲线)上。先变化快后减慢最后饱和,变量范围(定义域)从负无穷到正无穷,值域【0,1】,所以无论组成数据的大小都能得到概率分布。

第29章 各个击破算法和Google云计算的基础

云计算的关键之一是把非常大的计算问题自动分解到许多计算能力不是很强大的计算机上共同完成(分治算法Divide-and-Conquer)。

(如果希望通过10倍的机器来缩短计算时间)

第30章 Google大脑和人工神经网络

人工神经网络本质上是一种特殊的有向图,具有节点(神经元),有向弧(神经)。

特殊性:

1.节点分层,每一层的节点不能越过一层连接到上上层。(层数越多计算越复杂)

2.弧上有值(称为权重or权值),通过训练得到。

最下一层节点称为输入层,最上一层的节点称为输出节点(为什么不叫输出层),中间的称为中间层(隐含层)。智能相关问题可归结到一个多维空间进行模式分类的问题。

简单模型可以用直线分割,复杂模型要用曲线分割(非线性函数,神经元函数)。规定神经元只能对输入变量线性组合后的结果进行一次非线性变换

训练人工神经网络

有监督的训练(有先标注好的样本)。假设C为成本函数,表示根据人工神经网络得到的输出值和实际训练数据输出值的差距。按照解决最优化问题常用梯度下降法:向最陡的方向走,可以最快保证走到山顶。找到让成本达到最小值的那组参数。

因为无法获得大量标注好的数据,必须借助无监督的训练得到人工神经网络的参数。

无监督的训练只有输入数据,没有对应的输出数据,所以没有成本C,无法知道模型输出和正确输出之间的差值。所以要定义一种新的成本函数,它能够在不知道正确输出值的情况下预估训练模型的好坏。成本函数的设计是难题,主要遵循的原则是同类靠近,不同类远离。估计语言模型的条件概率就可以用熵作为成本函数。

人工神经网络与贝叶斯网络

共同点:

1.都是有向图,遵循马尔科夫假设。

2.训练方法相似

3.对于模式分类问题的效果相似

4.训练计算量都很大

差异:

1.人工神经网络在结构上完全标准化;贝叶斯网络更灵活

2.神经元变量要先进行线性组合,最后对一个变量进行非线性变换;贝叶斯网络没有限制,灵活的同时也复杂。

3.贝叶斯考虑上下文前后相关性(应用语音识别文字,翻译);人工神经网络相对孤立(应用估计概率模型的参数)。

20世纪60年代末的发展困境,人工神经网络只有输入输出层无法完成简单的异或逻辑运算(不是线性可分),复杂的人工神经网络的训练量计算机难以承受。

Google大脑:大规模并行处理的神经网络。

应用人工神经网络的技术原因:人工神经网络有通用性,稳定性,相对简单可实现。

在减少计算量方面的改进:1.减少每一个迭代的计算量(随机梯度下降法(抽取少量数据减少计算时间但牺牲准确性))2.减少训练迭代次数(L-BFGS方法)。

存储问题:数据存储在输入端的服务器本地,模型参数由另一组服务器单独存储。

第31章 区块链的数学基础

区块链 Blockchain: Block: 模块、单元或数据块,Chain: 链条。

(以比特币为例)防伪信息:当比特币被创造出来,记录其原始信息的区块链就产生了,这个区块链里的信息无法更改,在交易过程中,可以添加流通和交易信息但不能覆盖原有信息。比特币的持有者可以通过私钥产生公钥,这个公钥可以验证比特币的真伪和所属权。(这种技术的推广可以验证真伪和所属权并不泄露信息)。

运用椭圆曲线加密方法。两个人有各自的私钥并能由私钥推出公钥(不能逆向推导),交换公钥后根据自己的私钥和对方的公钥来加密和解密。

第32章 大数据应用

除了IT行业,医疗保健对大数据也很热衷。

第33章 量子密钥分发的数学原理

一次性密码永远是安全的,但必须让信息的发送和接收方同时获得这一个一次性密码。

量子通信是一种特殊的激光通信,利用光子的特性对信息编码和传递。

激光振动频率可控可以用来传递信息,量子密钥分发利用光子的偏振性。

接收方和发送方要通过几次通信彼此确认密钥,并且这个密钥只能使用一次 (时间换取通信安全性)。

第34章 希尔伯特第十问题和机器智能的极限

“图灵规划了计算机可计算问题的边界,我们对人类知识的贡献只是巨大空间里的一个点,边界内有很多未知的领域,这是虚空,边界外的虚空更大。划定这条边界后,为边界内的问题提供一个通行方法。人工智能或计算机的边界已经由数学的边界划定了。我们今天遇到的问题反而是不知道怎样将一些应用场景转化为计算机能够解决的数学问题。整本《数学之美》,其实讲的都是这件事。”

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值