文章目录

  • 数学之美
    • 第六章 信息的度量和作用
      • 1信息熵
      • 2信息的作用
      • 3互信息
      • 4延伸阅读
    • 第7章 贾里尼克和现代语言处理
      • 1早年生活
      • 2 从水门事件到莫妮卡·莱文斯基
      • 3一位老人的奇迹
    • 第八章 简单之美
      • 1布尔代数
      • 2索引
      • 3总结
    • 第九章 图论和网络爬虫
      • 1图论
      • 2网络爬虫
      • 3延伸阅读
        • 1欧拉七桥的证明
        • 2构建网络爬虫的工程要点
      • 4小结
    • 第十章PageRank,Google的民主表决式网页排名技术
      • 1PageRank算法的原理
      • 2延伸阅读
      • 3小结

数学之美

第六章 信息的度量和作用

信息有用,大家都直到,那么如何用数学描述其作用呢?以及信息用途的背后有没有理论基础呢?

这就是信息熵出现的历史背景,出现在1948年香农的一篇论文-“通信的数学原理”;

1信息熵

举个例子来理解信息熵,2014年世界杯比赛共有32支球队参赛,哪知球队获胜呢?大家来猜;

当然比较有技巧的猜测方式是用二分法,比如我先问获胜队伍在1-16号里嘛?如果在,那么继续问是否在1-8号里,这样问5次一定能得到正确的答案;

如果每回答一次就需要付一元钱那么这条信息的价值为5元钱;这个例子用钱来表述了信息的价值;

而香农是用比特来表示的信息的价值:

  • 将上述元这个货币单位换成比特,即上述信息的价值为5bit,意思是需要猜五次;
  • 再次思考,我们上述问题有个假设:每支球队的获胜概率是一样的,如果不一样呢?
  • 如果不一样,用这个公式:H=−(p1xlogp1+p2xlogp2+p3xlogp3...+pnxlogpn)H=-(p_1 x logp_1 + p_2 x logp_2 + p_3 x logp_3 ...+ p_n x logp_n)H=−(p1​xlogp1​+p2​xlogp2​+p3​xlogp3​...+pn​xlogpn​)
  • 同理,对于一个随机变量X其熵为H(X)=−∑xP(x)logP(x)H(X)=-\sum_{x} P(x)logP(x)H(X)=−∑x​P(x)logP(x)
  • 从上述公式来看,变量的不确定性越大、熵也就越大、把它搞清楚所需要的信息量也就越大;
  • 简单理解下熵的概念就OK

2信息的作用

所有和自然语言处理、信号处理相关的工作都是在消除不确定性,从而获得确定性的信息;

网页搜索本质也是利用信息消除不确定性的过程,这时合理的做法是挖掘新的隐含信息,比如网页本身的质量信息;

概括来讲:信息的作用是消除不确定性,自然语言处理的大量问题就是寻找相关的信息;

3互信息

两个时间相关性的量化度量,就是在了解了其中一个Y的前提下,对消除另一个X不确定性所提供的信息量:
I(X;Y)=H(x)-H(X|Y)

这个数学概念的作用是什么呢?举个例子:
bush既可以翻译成灌木丛,又可以翻译成布什总统,那么究竟翻译成什么呢?正确的做法是:从文本中找出大量和布什总统一起出现的词,然后再找出和灌木丛一起出现的词,这些词就是互信息;在翻译Bush时就可以看看那些词中出现了哪些,这就是互信息的作用;

4延伸阅读

其中讲了相对熵,个人理解其更多的作用在于:自然语言领域使用上下文信息消除不确定性;

第7章 贾里尼克和现代语言处理

作者感叹:
当前物欲横流的中国社会,学术界浮躁,年轻人焦虑,少数有着远大志向的年轻人是十分孤独的;

作者还提到一本书:《巨人三传》

这本书的目的就是为了介绍大师;

1早年生活

二战使其学业荒废,二战结束后重新回到学校,从小学补起,而且学习成绩一塌糊涂,小学时从来没得到过A,其实吧,作者也说,我个人也感悟到,小学的成绩真的有用嘛?

我说下个人的示例,虽然我不是名人,但是还有一定的示范作用,我小学的时候生活在一个强制性学习的环境中:

  • 老师让我上黑板用友字造三个词,我他丫的只知道一个朋友
  • 结果可想而知,被老师拿教杆照顾了下头,吖的,给我打出了包,我他丫的哭了一节课;
  • 现在想想还气,我不就是不会造词嘛,有什么影响,结果那样打我;
  • 结果呢?我们整个镇,有几个考上大学的,就我一个211院校好吧,只能说那时候的教育十分烂,超级烂;

作者也提及:小学生和中学生其实没必要花那么多时间读书,而他们的社会经验、生活能力以及在那时建立起的志向将帮助他们的一生;

后来麻省理工学院给了他全额奖学金,其决定去麻省理工学习电机工程,虽然中间改变了几次目标,但是其通过努力走向成功的志向始终没变;

在麻省理工学院,其遇到了很多大师级人物,同时作者提到:一个人要想在自己的领域做到世界一流,他的周围必须有非常多的一级大师;

后来毕业获得博士学位后,在哈佛大学教了一年书,去了康奈尔大学任教,成为了贾里尼克教授;

2 从水门事件到莫妮卡·莱文斯基

贾里尼克在康奈尔十年磨一剑,悟出了自然语言处理的真谛,之后选择了去IBM公司做研究,其将自然语言处理当成通信问题,使用隐含马尔可夫模型取得了巨大成效;

其因此获得了美国工程院院士

3一位老人的奇迹

IBM由于遭遇危机,贾里尼克后来去了约翰·霍普金斯大学,建立了CLSP实验室;

其使用了两年时间就将CLSP变成了世界一流的研究中心,其做法是:

  • 首先申请了大量的研究经费
  • 然后每年邀请世界上的顶级科学家到CLSP来和其学生一起工作;
  • 招募了很有潜力的年轻学者
  • 同时将自己的学生排到世界著名的公司去实习,建立了声誉;

其实叭,这个经历对于我们年轻人没有什么借鉴意义,毕竟那时他已经是自然语言处理领域的元老级人物,能申请到经费是很关键的因素;

可借鉴的一点是:其治学极为严谨,对学生的要求也十分苛刻,淘汰学生的比率极高,毕业时间也极长;

但是另一方面,其对学生也十分照顾,其给学生提供学费和生活费,并给英语不好的外籍学生请私人教练,我个人觉得,就我们学校而言,这类老师占极少数,而大多数老师感觉不怎么关心学生,即使关心学生感觉关心的也不是正道,逼迫学生,压榨学生, 试问这样的环境,学生怎么可能静下心来去认认真真做研究,又怎么能不浮躁呢!哎,悲剧就是如此!!!

贾里尼克对作者的最大帮助是:告诉作者什么是可行的,什么是不可行的,即将其在科研路熵踩的坑传授给了作者;

另外贾里尼克个人的一些特点:

  • 除了治学严谨外
  • 其心直口快、不留余地,在他面前讨论学术问题一定要十分严谨
  • 为人十分公正
  • 是一个闲不住的人,周末都会来实验室加班,70岁之后头脑仍然十分清醒

第八章 简单之美

技术分为两种:术和道,术是做事的基本方法,道是原理和原则,追求术的人一辈子都很辛苦,而追求道的人才能游刃有余;

Google搜索质量的第一负责人每天都会分析那些不好的搜索结果,但是有非常多的搜索工程师就做不到这一点,他们总想着用一个算法就搞定,毕其功于一役;

1布尔代数

其实二进制并不是布尔发明的,布尔做的是发明了:布尔代数,即0-1运算;

1938年。香农在其硕士论文中使用布尔代数来实现开关电路,才使得布尔代数称为数字电路的基础; 香农,只能说太牛逼了;

布尔代数对于数学的意义等同于量子力学对物理学的意义;

2索引

为什么能在0.00x秒内就能索引到成百上千的搜索结果呢?技巧就是建立索引;

最简单的索引结构就是用一个很长的二进制表示一个关键字是否出现在每篇文献中,有多少篇文献就有多少位数;

这样的话,搜索引擎的索引就变成了一张大表:表的每一行为关键词,其后面跟着一组数字,表示包含本关键词的文献;

现在常见的搜索引擎都对所有词建立索引,但是在工程上十分具有挑战性;

作者简单算了下,索引显然不是一台服务器的内存所能保存下的,所以需要分布式的技术才能搞定,但是像Google这种服务器几乎是无限的公司也感受到了数据带来的压力;

所以:需要根据网页的重要性、质量和访问的频率建立常用和非常用等不同级别的索引,常用的索引需要访问速度非常快,附加信息多,更新速度也要快才行;

无论搜索引擎多复杂,原理上依然简单,即布尔代数;

3总结

发觉真理在形式上从来是最简单的,而不是复杂和含混的 — 牛顿;

第九章 图论和网络爬虫

前面讲到如何建立搜索引擎的索引,那么如何将互联网上的所有网页下载下来呢?这就用到了图论的知识;

1图论

图论的起源可追溯到大数学家欧拉,1736年,当地村民有一项娱乐活动:如何才能每座桥恰好经历一遍并回到出发点,以这样的方式来通过哥尼斯堡的七座桥呢? 欧拉用数学方法证明了这一点无法做到,此为图论的起源;

然后作者简单讲了下DFS和BFS;

2网络爬虫

我们可以从任何一个网页出发,用图的遍历算法,自动地访问到每一个网页并把他们保存起来,完成这个功能的程序叫做网络爬虫;

下载过程中,如何记录哪些网页已经下载,哪些网页没有下载呢?使用Hash表来记录;

3延伸阅读

1欧拉七桥的证明

2构建网络爬虫的工程要点

首先最主要的问题:使用BFS还是DFS?各个网站最重要的网页是主页,所以显然BFS优于DFS,但是工程上,后爬哪个网页的调度程序,原理上基本是BFS。

只是说BFS的成分多一点,记住不是简单的BFS、DFS;

第二个问题:页面的分析和URL的提取
就是说一个网页中有其他网页的地址怎么提取?因为很多网页的跳转地址都不是静态的,因此需要模拟浏览器内核将网页运行起来,然后再去分析,这就需要浏览器内核工程师来做这些工作,但是世界上杰出的浏览器内核工程师并不多;

第三个问题:记录哪些网页已经下载—Hash表;
这里面有两个核心问题:一个服务器内存存不下这些散列表,存储散列表的服务器的通信问题成了整个爬虫系统的瓶颈;

没有正确的答案,但是思路如下:

  • 明确各个服务器的分工,即看到URL就知道交给哪个服务器去做
  • 然后为了避免通信瓶颈的问题,可以批量查询哪些URL是否下载,而不是一次只查询一个,这样通信的次数就大大降低了

4小结

很多数学方法就是那样,看上去没什么用,但是随着时间的推移,很多方法会派上用场,这恐怕是世界上那么多人毕生研究数学的原因叭!

第十章PageRank,Google的民主表决式网页排名技术

搜索的排名取决于两组信息:这个网页的质量、以及这个查询与每个网页的相关性信息

1PageRank算法的原理

在1998年前后,比较圆满的解决了搜索结果中排序不好的问题

核心是:如果一个网页被很多其他网页所链接,说明其收到普遍的承认和信赖,它的排名就高;

然后根据此思想来设计算法,当然矩阵运算工程量十分大,佩奇和布林两个人利用稀疏矩阵的技巧,大大简化了计算量,并实现了该排名算法;

2延伸阅读

主要讲了PageRank的计算方法,这里略;

3小结

佩奇因为这个算法,于30岁获得了美国工程院院士,是继乔布斯和比尔盖茨后又一位当选院士的辍学生;

数学之美-读书笔记6-10章相关推荐

  1. 数学之美-读书笔记11-15章

    文章目录 数学之美 第十一章 如何确定网页和查询的相关性 1搜索关键词权重的科学度量-TF-IDF 第十二章 有限状态机和动态规划-地图与本地搜索的核心技术 1地址分析和有限状态机 2全球导航和动态规 ...

  2. 度量相似性数学建模_数学之美读书笔记

    2020年6月读,先通读一遍,随后为写读书笔记又重新读了一遍,收获颇丰,虽然没有很多数学或者编程方面的知识,但正如作者所说,这本书讲述的是道,而非术. 读这本书让我领略到了科学的趣味,并不是枯燥的敲代 ...

  3. 数据分析?他们早就开始用了——数学之美读书笔记

    数据分析?他们早就开始用了? 标题取得很好听,其实就是<数学之美>这本书的读书笔记.这是每一个想学编程了解计算机的人都不应该错过的好书,必须推荐 光 看这个名字,你可能以为它就是一本讲数学 ...

  4. PMP读书笔记(第10章)

    大家好,我是烤鸭:     今天做一个PMP的读书笔记. 第十章 项目沟通管理 项目沟通管理 项目沟通管理的核心概念 项目沟通管理的趋势和新兴实践 裁剪考虑因素 在敏捷或适应型环境中需要考虑的因素 1 ...

  5. 数学之美读书笔记第一章

    通信的原理和信息传播的模型 原理:信息被编码,再被解码的过程. 信息传播的模型: 传播人 => 信息 -> 编码信息 ->信道(声音介质,双绞线介质等) -> 解码信息 =&g ...

  6. 数学之美读书笔记--摘抄

     "系列一: 统计语言模型" "利用统计语言模型进行语言处理" "假定任意一个词wi的出现概率只同它前面的词 wi-1 有关(即马尔可夫假设)&quo ...

  7. java 对数取反_数学之美读书笔记-拼音输入法的数学原理

    从理论上分析,输入汉字到底能有多快?这里需要用到信息论中的香农第一定理.假定在国标GB2312里面,一共有6700多个常用的汉字.如果不考虑汉字频率的分布,用键盘上的26个字母对汉字进行编码,两个字母 ...

  8. AUTOMATE THE BORING STUFF WITH PYTHON读书笔记 - 第10章:ORGANIZING FILES

    SHUTIL 模块 shutil是shell utility的简称,使用此模块需要import shutil. 详见在线文档,在线帮助见help(shutil) >>> shutil ...

  9. 《人人都是项目经理V2.0》读书笔记——第10章 规划成本——每个项目都有成本的基线

    1. 全生命周期成本 项目管理学特别强调全生命周期成本,要求我们站在整个产品生命周期的角度,核算项目可能产生的所有成本. 什么是直接成本和间接成本? 直接成本就是和项目直接相关的成本.通俗点就是做项目 ...

最新文章

  1. 清华大佬手把手教你使用Python进行数据分析和可视化
  2. EF使用Fluent API配置映射关系
  3. python buildin 中的一些类中为什么方法的内容都是pass?
  4. 148. Leetcode 455. 分发饼干 (贪心算法-基础题目)
  5. android开发------Activity生命周期
  6. 如何解决机器学习中的数据不平衡问题?
  7. 前端学习(1238):Vue调试工具使用
  8. 新功能:阿里云负载均衡SLB支持HTTP/HTTPS超时时间自定义功能
  9. 简单-三层-存储过程-增删改《一》
  10. c#复制包含子目录文件夹代码
  11. Python 之 变量进阶(理解)
  12. 'WebElement' object is not iterable
  13. SQL Server如何备份数据库
  14. 2020五一建模C题:饲料混合加工问题完整论文(附录有代码)
  15. 做公文流转的具体思路
  16. goahead如何使用cgi服务_GoAhead2.5源代码分析之9-cgi处理句柄(cgi.c)
  17. 个人档案php源码,php人事档案管理系统
  18. 厦门大学计算机科学非全,厦门大学:2017年非全日制硕士招生全部为专业学位...
  19. 国潮迎春 百花旗放|2022东方丽人旗袍大赛暨国潮旗袍春晚华丽落幕
  20. linux sudo命令全称,你知道Linux系统中的sudo 命令吗?

热门文章

  1. AutoJs超神级代码分享大更新
  2. js动态添加修改删除元素
  3. 前端HTML转PDF生成的PDF上边会有留白,下边截取不全
  4. java实现两个数运算_用java做简单的计算器类,实现两个数字的加减乘除运算
  5. httpd的MPM工作模式
  6. 树莓派4+lede+移远5G模组RM500Q
  7. 部分蓝牙耳机 电脑 连接 不畅 的处理办法
  8. 电脑蓝牙无法搜索到其它蓝牙设备
  9. 因增强导致BDC录屏执行异常的梗
  10. java接口的的那些事1