数学之美这本书挺有趣的,我看了有许多感想,我不想用以前那种死板的读书笔记格式,所以本次读书笔记我准备分为两部分第一部分是我在阅读时的随记有灵感或者有触动我的地方就写,第二部分是读完本书的总结包括自己学到了什么,这本书颠覆与构建了我的什么思想。
第一次知道原来网络通信模型居然是随语言一起诞生的,他居然这么古老了,并且我由此想到我们文明中的多少的技术多少的方法能与我们计算机领域结合焕发出新的巨大的能量呢?
聚类,文字只是客体而信息才是主体
原来云计算中的信息的冗余的思想在2000多年的古埃及埃及就得到了体现。
网络通信的压缩是由于信道不够宽而衍生出来的技术但他并不新鲜,古文言文就是应用,而信息的校验源于抄写圣经,这些都让我感受到了生活于技术不是割裂的。
虽然在生活中看上去计算机的运算能力很强,感觉根本用不完但但接触到实际的问题时就会发现其实计算机的算力其实对于很多问题是远远不够的,我想这也是为什么我们要将数学于计算机相结合的原因吧。数学的魅力在于很复杂的问题都能简单化。
贾里尼克的方法正是天才的想法,令人不敢置信如此复杂的问题居然可以变得如此简单。
前面的数学公式于理论都看的比较吃力,在这里语料的选择说明了应用一定要和实际相结合。
真的正如前面所说的自然语言的处理与通信工程在数学模型上是如此相似,都是基于统计学的理论,没想到分词也能使用以前的数学模型,感觉数学真的很神奇。
对于马尔可夫模型还是没有真正的理解,只是懂一点皮毛而已,感觉自己没有概率论的知识体系很吃亏,我今天终于知道了数学知识是如何运用到计算机领域了,要找个时间去好好学习一下概率论。
在这个大数据的时代,信息已经成为像水电这样的基础的可以随意获取的资源了,但正如老师在课堂上讲的数据本身是没有用的,只有被分析后的数据才有价值,我觉得身为计科这种走在世界前列的学科的成员,一定要知道如何去分析处理数据让他变得有价值。
观大师的一生我只有在内心无比的敬仰,但大师的成功一定是有理由的,贾里尼克我觉得他的成功一定离不开他一生的学习,和他的勤勉还有学术严谨,还有作者所说的一个人要在自己的领域做到世界一流,他的周围必定有非常多世界一流的人物。
技术分为术和道两种,具体做事的方法是术,做事的原理和原则是道。追求术的人一辈子工作很辛苦,只有掌握了搜索的本质和精髓才能永远游刃有余。
许多人学习计算机都只是囫囵吞枣,包括我自己很多东西都不求原理,只关注应用,很多地方都只关心接口但是却不深究别人的库和框架是如何实现的,在这里给自己一个小警告勿一味的去追求术反而冷落了自己的道的打磨
牛顿说过:“(人们)发觉真理在形式上从来都是简单的,而不是复杂和含混的。”
而数学在计算机领域的作用也是如此的,通过各种模型去简化问题,从而我想到了虽然现在我们的技术周期大大缩短,但是在科学的思想和方向上其实与几百年前的其实区别不大。
因为我对爬虫有一个很浅显了解,所以在这章中我学到了很多,首先是广度搜索与深度搜索和爬虫应该应用那种搜索方法,并且知道了一个好的爬虫应该具有的能力和如何搭建一个好的爬虫。
看到Google的科学家解决排名问题时感觉非常的神奇,生活中那么多感性的问题其实都可以用理性的的思想去考虑,并且用准确的数学模型去解决,可能将不可量化或很难量化变的可量化也是数学的有趣神奇之处吧。
概率论不过关,公式有点难看起来有点吃力,等学了概率论后一定要回来好好的揣摩一下其中的公式。
纵观全球的大师们都是有自己的个性的同时又有共同点的,而阿米特·辛格博士就是一个很有趣的人,一方面他和贾里尼克大师一样都很勤奋,一方面他主张先帮用户解决80%的问题,再慢慢的解决剩下的20%的问题。这样解决了对于一个应用开发周期过长所导致的各种问题,这让我想到了腾讯微信的诞生史。微信刚刚诞生是即微信1.0时其实只有发文字,发图片和设置个人头像这三个功能,但在很短的时间内迭代了多次,我想这也是是微信能成功的一个很重要的条件吧。
看完这一章,不禁再一次感叹数学的神奇,谁能想到一个千年前因为要计算土地面积而抽象出来的公式在千年之后能拿来处理和它基本上毫无相关的问题呢。并且对于延伸阅读也让我看到了虽然计算机的算力很强但在现在的海量的大数据下还是不值得一提,所以做关于大数据的工作一定要把方法的优化做好尽量的去减少计算量。
看完本章心情不错,第一是终于看到了中国本国的科学家对世界计算机领域的贡献,第二是知道了我们正在学习的知识在我们计算机领域的应用,知道了我们的知识储备是有意义的,感觉就是不像以前那么的迷茫了。
看完本章有一点想法,第一是感觉区块链不是新技术,比如说区块链的账单就是用哈希值来实现的,而搜索比对重复文章也用的是相似哈希值,这让我了解到了其实技术的应用性是多样的有很多问题看似无关其实解决他们的办法都是一样的。第二是感觉Google的YouTube的反盗版很有趣,老师在大数据课上跟我们讲到的一个项目的灵感也应该来自于此,感觉我们要多接触新的实现与技术这样才能变得更好。
纵观密码的发展历史基本上都是围绕着**无论敌方获取多少密文,也无法消除己方情报系统的不确定性。**而这就是术与道的关系,术是引用二道才是基础,只有精通道才能游刃有余的应用道。
正如书中所说的正是有了云计算与大数据技术的情况下,权威计算才成为了可能,我们可以看到很多如搜索引擎上权威性排序的问题这种需要处理大量数据才能得出结果的问题,因为传统技术无法对大量的数据进行分析而无法解决的问题因为大数据对海量数据处理的实现这些问题的解决成为了可能。
对于数学模型的构建既要能解决解决问题,又不能是那种非常复杂的模型,并且对于模型的修正要能够了解为什么要修正而不是凑合,正如阿米特·辛格博士对于工程师必须要能对机器学习出来的参数和公式给与合理的物理解释,否则新的模型不会给予上线。
到底是用精确良好但是计算量巨大实现复杂的最大熵模型,还是使用一些修修补补凑合的但是计算量不那么巨大的模型呢?或者未来还会有更好的解决方法出现呢,又或者计算机的算力得到巨大的突破最大熵模型不那么难实现呢?
输入法看起来不起眼,但没想到居然应用了这么多数学模型,但仔细看看其实这些数学模型在前面基本上都使用过,这也体现了数学的普适性,在不同的应用中都可以发挥很大的作用。
马库斯大师的教育方式是真的很有趣,教育出了两个极端,追求完美的柯林斯和简单才美的布莱尔,而他们的成长应该也得益于马库斯大师的宽松的放手让博士生研究自己感兴趣的课题的教育方式吧。我觉得中国的大学最需要的就是像马库斯这样卓有远见的人。
布隆过滤器感觉这是这本书到现在为止我看到最懂的一个数学模型,但是通过看待布隆过滤器我发现对于解决实际问题其实很多时候都是没有完美的数学模型的,或者说完美的数学模型计算量太大需要时间太久了等等,这时我们是可以容忍小概率的缺陷或不准确的,即一个数学模型应该是都放考量之后才能确定的。
很多数学模型在原理上很简单,但是实现起来却十分复杂我们能不能使用大数据的方法让这些方法的实现变得简单呢?
不管是最大熵模型还是条件随机场模型都是考虑的变量越多预测的结果就越准确,但是考虑的变量越多模型就越复杂计算量就越大,对于这种十分复杂的数学模型到底要如何的来通过现有的技术来很好的实现它呢?
对于维比特算法很不理解在网上看了一些资料终于理解了下赴我觉得很好的一份例子,感谢知乎Kiwee的回答,如果侵权请请联系我我会第一时间删除的
作者:Kiwee
链接:https://www.zhihu.com/question/20136144/answer/239971177
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
1.题目背景:
从前有个村儿,村里的人的身体情况只有两种可能:健康或者发烧。假设这个村儿的人没有体温计或者百度这种神奇东西,他唯一判断他身体情况的途径就是到村头我的偶像金正月的小诊所询问。月儿通过询问村民的感觉,判断她的病情,再假设村民只会回答正常、头晕或冷。有一天村里奥巴驴就去月儿那去询问了。第一天她告诉月儿她感觉正常。第二天她告诉月儿感觉有点冷。第三天她告诉月儿感觉有点头晕。那么问题来了,月儿如何根据阿驴的描述的情况,推断出这三天中阿驴的一个身体状态呢?为此月儿上百度搜 google ,一番狂搜,发现维特比算法正好能解决这个问题。月儿乐了。
2.已知情况:
隐含的身体状态 = { 健康 , 发烧 }可观察的感觉状态 = { 正常 , 冷 , 头晕 }月儿预判的阿驴身体状态的概率分布 = { 健康:0.6 , 发烧: 0.4 }这就是初始状态序列。月儿认为的阿驴身体健康状态的转换概率分布 = {健康->健康: 0.7 ,健康->发烧: 0.3 ,发烧->健康:0.4 ,发烧->发烧: 0.6}这样就可以列出相应的状态转移矩阵。(人懒。。不想编辑公式了)月儿认为的在相应健康状况条件下,阿驴的感觉的概率分布 = {健康,正常:0.5 ,冷 :0.4 ,头晕: 0.1 ;发烧,正常:0.1 ,冷 :0.3 ,头晕: 0.6 }这样就可以列出相应的观测矩阵。由上面我们可以发现,HMM的三要素都齐备了,下面就是解决问题了。阿驴连续三天的身体感觉依次是: 正常、冷、头晕 。
3.题目:
已知如上,求:阿驴这三天的身体健康状态变化的过程是怎么样的?即已知观测序列和HMM模型的情况下,求状态序列。
4.过程:
- 初始化。第一天的时候,对每一个状态(健康或者发烧),分别求出第一天身体感觉正常的概率:P(第一天健康) = P(正常|健康)*P(健康|初始情况) = 0.5 * 0.6 = 0.3 P(第一天发烧) = P(正常|发烧)*P(发烧|初始情况) = 0.1 * 0.4 = 0.04
- 第二天的时候,对每个状态,分别求在第一天状态为健康或者发烧情况下观察到冷的最大概率。在维特比算法中,我们先要求得路径的单个路径的最大概率,然后再乘上观测概率。P(第二天健康) = max{0.30.7, 0.040.4}0.4=0.30.70.4=0.084 此时我们需要记录概率最大的路径的前一个状态,即0.084路径的前一个状态,我们在小本本上记下,第一天健康。 P(第二天发烧)=max{0.30.3, 0.04*0.6}*0.3=0.027, 同样的在0.027这个路径上,第一天也是健康的。
- 第三天的时候,跟第二天一样。P(第三天健康)=max{0.0840.7, 0.0270.4}0.1=0.00588,在这条路径上,第二天是健康的。P(第三天发烧)=max{0.0840.3, 0.027*0.6}*0.6=0.01512,在这条路径上,第二天是健康的。
- 最后一天的状态概率分布即为最优路径的概率,即P(最优)=0.01512,这样我们可以得到最优路径的终点,是发烧
- 由最优路径开始回溯。请看我们的小本本,在求得第三天发烧概率的时候,我们的小本本上面写的是第二天健康,好了,第二天就应该是健康的状态,然后在第二天健康的情况下,我们记录的第一天是健康的。这样,我们的状态序列逆推出来了。即为:健康,健康,发烧。
- 简略的画个图吧:这儿的箭头指向就是一个回溯查询小本本的过程,我们在编写算法的时候,其实也得注意,每一个概率最大的单条路径上都要把前一个状态记录下来。
对于码分多址技术有一个粗略的了解了,有时间可以深入了解一些思考一下有限的频率是如何供如此多的人使用的。
了解了机器学习的一点知识,感觉很神奇对于EM算法只要有训练数据,并且定义一个最大化函数剩下的都可以交给机器去完成了,难怪原来看到的一篇文章把实现机器学习的工程师叫调参工程师。同时也感觉到了数学的强大。
看完逻辑回归模型发现对于机器学习和自然语言分析的数学支柱就是概率和关于各变量之间的分析。
其实很多高大上的技术你深入了解它之后你会感叹其实他们其中的原理是如此的简单,云计算也是如此(书中的云计算是狭义上的云)其实云计算就是将任务拆分交给多个计算去处理,这告诉我们越是简单的方法往往越是好用。
仔细的看下来其实发现人工神经网络一点都不神秘,作者举的例子甚至高中生都能看懂,但是就是这种不算太难的方法上加上计算机庞大的算力却可以完成很多很强大的功能,这不得不说是数学和计算机一起创造的奇迹啊。
我们这个时代就是大数据的时代,云计算构成了大数据的基础而大数据又诞生出人工智能这样的高端的应用,其中缺了哪一环都不行而大数据的应用还不止如此,我发现很多计算机的数学模型都建立在概率论之上而并且机器学习也需要概率论的支撑,而大数据由于它的多维度和成本于准确性上的优势对于机器学习人工智能和很多方向的应用都有很大的作用,并且作者在文中也提过现在搜索引擎的优化反而是大数据的作用超过了算法的作用,这让我想到了我们有很多传统行业都可以用大数据来进行优化,大数据的强大就在于它和其他的各个方面都可以结合起来。
其实从头到尾坚持读完真的不容易,特别是在延伸阅读一章没有跳过的情况下,但是由此的确得到了很多东西。不仅仅只是书本上的知识,更重要的是带给自己的思考。看完后第一个也是最强烈的感受是数学还能这么用,这些问题居然还能用数学方法来解决。说真的在读这本书之前我感觉我使用的不是数学而实算数,真的我觉得只有这种将一个在传统领域无法解决的或者是很难解决的问题能通过数学模型将其拆分简单化,或者让其由不可行变得可行。我觉得这就是我最大的收获之一见识到了真正的数学。并且还学到了许多知识作者本身就是从计算机领域出发的,而我也是学习计算机知识的作者的讲解让我对计算机领域的问题如何使用数学工具去解决有了一个很好的认识,有一些读者说本书讲的太笼统没有很多干货。我觉得本书主要还是科普类型的图书,是来让读者感受数学之美的而不是来当数学或算法书的,如果干货过多不仅增加大家的阅读难度并且还会有一点本末倒置。在此我还是推荐没有读过的读者可以去阅读一下,可能你会因为这次阅读而感受到新世界。