读《数学之美》

其实准备读《数学之美》这本书,是从很久开始的。记得去年夏天的时候,是读了《浪潮之巅》,然后就认识了吴军这样的一个人,很喜欢他的写作风格。于是就准备读《数学之美》的。

《数学之美》这本书,本身和《浪潮之巅》一样,已经在众多的读者中有了一个很好的口碑了,吴军博士本身的才学和研究,对于更多的人来说,也形成了一种尊重的心理。在我读了《浪潮之巅》后,有种很厚重的历史沧桑感堆积于胸。不得不承认《浪潮之巅》对于我的影响。

《数学之美》其实与《浪潮之巅》有很大的不同,《浪潮之巅》可以说成是一本更适用于大众科普类的读物,里面有作者很深的思想观点在里面;而《数学之美》则相对来说只是适合这个领域的读者来读。虽然吴军博士已经将《数学之美》中很多的定理写得很浅显,但是如果对于一个文科类学生来说,我认为依旧很难理解。即使对于理科出身的我,念过一年的《高等数学》,里面的很多的具体的定理技术,同样很生疏。所以从去年准备读这本书,到今年真正读完它,相隔的时间也挺久的了。而在这之间,我觉得也有很多的机缘和巧合,我因为工作的关系,了解了一些机器学习,人工智能,包括中文分词类的知识,而这部分知识,在《数学之美》中,也有了很好的体现。

我觉得我从来不算是一个实干派,对于某类的技术知识,我愿意先从理论知识入手,先必须了解一个整体的框架,之后才可以做好一个局部的某块。这种逻辑在大公司来说,是基本不可能的,很多的系统,包括组织,整体的框架有人知道的也已经很少,大多数人都在忙着自己的那块,完成了既是完成了。就像我学中文分词等等的东西。

在有了一定的基础知识之后,我会觉得读《数学之美》是一件很幸福的事,吴军博士的深入浅出的对于很多理论知识的讲解和描述,很多时候会让你有种茅塞顿开的感觉。

我觉得吴军博士文字里总是会有一种人文的东西,在里面。那种感觉很奇妙,也会让你莫名的感受到一个在学术上有很好造诣的人的内心情怀。就像吴军描述的很多的人一样,很多有很多成就的人,不紧紧是一个人,或者有很古怪的性情,或者有很独特的思想,但很多人同样已自己的一种坚持和态度,在影响着更多的人,所以他们会成功,也会带领更多的人成功。

在读了《数学之美》之后,自己也反思了很多自己的事,对的,不对的,都有。有时候想,有的大学为什么会那么好,而有的大学不那么好。很多人愿意很努力的去更好的学校是为什么,而读过大学的很多人都应该知道,大学更多的是自学。你可以很老师交流。而我所理解的好的大学,它之所以好,是因为它首先有很多很好的老师集中在那里,所以他们可以集中更多的关注点,然后吸引了更多的优秀的人,而这些牛人也很会带领优秀的人。所以这会形成一种循环,因为有好的,来好的,变更好。这就是好的发展循环。

吴军博士在后记里面写了一句,我认为特别好的话:“世界上最好的学者总是深入浅出的把大道理讲给外行人听,而不是故弄玄虚的把简单问题复杂化。”书中吴军博士也谈到很多的理论,在很多的时候,可能你尽量的去简化它,往简单的方向去想,或许结果会很些,就像隐含马尔科夫模型等等,或者还有一些科学领导者的思想。

每次读吴军博士的书之后,总觉得意犹未尽(虽然一共,我也只读了两本)。书虽然是读完了,但是我总觉得那里面,能够我去想,去领会的东西还有很多。我记得一句让我印象很深刻的话“很多人读书的时候,不应该追求读书的数量,而应该在于你读它,你用来思考的时间。”

以下是我习惯,把一本书的目录附上:

第1章 文字和语言 vs 数字和信息

文字和语言与数学,从产生起原本就有相通性,虽然它们的发展一度分道扬镳,但是最终还是能走到一起。

第2章 自然语言处理— 从规则到统计人类对机器理解自然语言的认识走了一条大弯路。早期的研究集中采用基于规则的方法,虽然解决了一些简单的问题,但是无法从根本上将自然语言理解实用化。直到?多年后,人们开始尝试用基于统计的方法进行自然语言处理,才有了突破性进展和实用的产品。

第3章 统计语言模型

统计语言模型是自然语言处理的基础,并且被广泛应用于机器翻译、语音识别、印刷体或手写体识别、拼写纠错、汉字输入和文献查询。

第4章 谈谈中文分词

中文分词是中文信息处理的基础,它同样走过了一段弯路,目前依靠统计语言模型已经基本解决了这个问题。

第5章 隐含马尔可夫模型

隐含马尔可夫模型最初应用于通信领域,继而推广到语音和语言处理中,成为连接自然语言处理和通信的桥梁。同时,隐含马尔可夫模型也是机器学习的主要工具之一。

第6章 信息的度量和作用

信息是可以量化度量的。信息熵不仅是对信息的量化度量,也是整个信息论的基础。它对于通信、数据压缩、自然语言处理都有很强的指导意义。

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

作为现代自然语言处理的奠基者,贾里尼克教授成功地将数学原理应用于自然语言处理领域中,他的一生富于传奇色彩。

第8章 简单之美— 布尔代数和搜索引擎的索引布尔代数虽然非常简单,却是计算机科学的基础,它不仅把逻辑和数学合二为一,而且给了我们一个全新的视角看待世界,开创了数字化时代。

第9章 图论和网络爬虫

互联网搜索引擎在建立索引前需要用一个程序自动地将所有的网页下载到服务器上,这个程序称为网络爬虫,它的编写是基于离散数学中图论的原理。

第10章 PageRank — Google的民主表决式网名

网页排名技术是早期的杀手锏,它的出现使得网页搜索的质量上了一个大的台阶。它背后的原理是图论和线性代数的矩阵运算。

第11章 如何确定网页和查询的相关性确定网页和查询的相关性是网页搜索的根本问题,其中确定查询中每个关键词的重要性有多高是关键。是目前通用的关键词重要性的度量,其背后的原理是信息论。

第12章 地图和本地搜索的最基本技术

有限划地图和本地服务中要用到有限状态机和动态规划技术。

这两项技术是机器智能和机器学习的工具,它们的应用非常广泛,还包括语音识别、拼写和语法纠错、拼音输入法、工业控制和生物的序列分析等。

第13章 Google AK-47 的设计者— 阿米特·士

在所有轻武器中最有名的是冲锋枪,因为它从不卡壳,不易损坏,可在任何环境下使用,可靠性好,杀伤力大并且操作简单。的产品就是按照上述原

则设计的。

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

计算机虽然读不懂新闻,却可以准确地对新闻进行分类。

其数学工具是看似毫不相干的余弦定理。

第15章 矩阵运算和文本处理中的两个分类问题无论是词汇的聚类还是文本的分类,都可以通过线性代数中矩阵的奇异值分解来进行。这样一来,自然语言处理的问题就变成了一个数学问题。

第16章 信息指纹及其应用

世间万物都有一个唯一标识的特征,信息也是如此。每一条信息都有它特定的指纹,通过这个指纹可以区别不同的信息。

第17章 由电视剧《暗算》所想到的— 谈谈原理

密码学的根本是信息论和数学。没有信息论指导的密码是非常容易被破解的。只有在信息论被广泛应用于密码学后,密码才真正变得安全。

第18章 闪光的不一定是金子— 谈谈搜索引擎题

闪光的不一定是金子,搜索引擎中排名靠前的网页也未必是有用的网页。消除这些作弊网页的原理和通信中过滤噪音的原理相同。这说明信息处理和通信的很多原理是相通的。

第19章 谈谈数学模型的重要性

正确的数学模型在科学和工程中至关重要,而发现正确模型的途径常常是曲折的。正确的模型在形式上通常是简单的。

第20章 不要把鸡蛋放到一个篮子里— 谈谈型

最大熵模型是一个完美的数学模型。它可以将各种信息整合到一个统一的模型中,在信息处理和机器学习中有反作弊问题着广泛的应用。它在形式上非常简单、优美,而在实现时需要有精深的数学基础和高超的技巧。

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

汉字的输入过程本身就是人和计算机之间的通信。好的输入法会自觉或不自觉地遵循通信的数学模型。当然要做出最有效的输入法,应当自觉使用信息论做指导。

第22章 自然语言处理的教父马库斯和他的们

将自然语言处理从基于规则的研究方法转到基于统计的研究方法上,宾夕法尼亚大学的教授米奇·马库斯功不可没。他创立了今天在学术界广泛使用的语料库,同时培养了一大批精英人物。

第23章 布隆过滤器

日常生活中,经常要判断一个元素是否在一个集合中。布隆过滤器是计算机工程中解决这个问题最好的数学工具。

第24章 马尔可夫链的扩展— 贝叶斯网络

贝叶斯网络是一个加权的有向图,是马尔可夫链的扩展。而从认识论的层面看:贝叶斯网络克服了马尔可夫链那种机械的线性约束,它可以把任何有关联的事件统一到它的框架下面。它在生物统计、图像处理、决策支持系统和博弈论中都有广泛的使用。

第25章 条件随机场和句法分析

条件随机场是计算联合概率分布的有效模型,而句法分析似乎是英文课上英语老师教的东西,这两者有什么联系呢?

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

维特比算法是现代数字通信中使用最频繁的算法,同时也是很多自然语言处理的解码算法。可以毫不夸张地讲,维特比是对我们今天生活的影响力最大的科学家之一,因为如今基于的移动通信标准主要就是他创办的高通公司制定的。

第27章 再谈文本自动分类问题— 期望最大化算法

只要有一些训练数据,再定义一个最大化函数,采用算法,利用计算机经过若干次迭代,就可以得到所需要的模型。这实在是太美妙了,这也许是我们的造物主刻意安排的。所以我把它称作上帝的算法。

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

逻辑回归模型是一种将影响概率的不同因素结合在一起的指数模型,它不仅在搜索广告中起着重要的作用,而且被广泛应用于信息处理和生物统计中。

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

Google颇为神秘的云计算中最重要的MapReduce工具,其原理就是计算机算法中常用的“各个击破”算法,它的原理原来这么简单— 将复杂的大问题分解成很多小问题分别求解,然后再把小问题的解合并成原始问题的解。由此可见,在生活中大量用到的、真正有用的方法

常常都是简单朴实的。

读《数学之美》

时间: 2024-10-05 22:31:01

读《数学之美》的相关文章

深入理解Java虚拟机到底是什么

摘自:http://blog.csdn.net/zhangjg_blog/article/details/20380971 什么是Java虚拟机 我们都知道Java程序必须在虚拟机上运行.那么虚拟机到底是什么呢?先看网上搜索到的比较靠谱的解释: 虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的.Java虚拟机有自己完善的硬体架构,如处理器.堆栈.寄存器等,还具有相应的指令系统.JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的

(1) 深入理解Java虚拟机到底是什么?

好文转载:http://blog.csdn.net/zhangjg_blog/article/details/20380971 什么是Java虚拟机 作为一个Java程序员,我们每天都在写Java代码,我们写的代码都是在一个叫做Java虚拟机的东西上执行的.但是如果要问什么是虚拟机,恐怕很多人就会模棱两可了.在本文中,我会写下我对虚拟机的理解.因为能力所限,可能有些地方描述的不够欠当.如果你有不同的理解,欢迎交流. 我们都知道Java程序必须在虚拟机上运行.那么虚拟机到底是什么呢?先看网上搜索到

《深入理解Java虚拟机》读书笔记---第一章 走进Java

一.为什么要读此书 <深入理解Java虚拟机>这本书读了很多次,每次读都会有不一样的感受.首先说一下为什么要读这本书,如果把Java比喻成乾坤大挪移,那了解虚拟机的工作原理就是练习九阳神功,java语言是招式,对虚拟机的认识是内功心法,只有内功心法强大,所使的招式才强大,这就是为什么阳顶天只能把乾坤大挪移练到第四层,而张无忌能练到第七层.由于java虚拟机的强大,把很多功能都隐藏了,例如内容管理,垃圾回收机制等,使得很多java程序猿对这一块的知识所有缺失,编码的时候也是似懂非懂的,以至于遇到

jvm--深入理解java虚拟机 精华总结(面试)(转)

深入理解java虚拟机 精华总结(面试)(转) 一.运行时数据区域 3 1.1 程序计数器 3 1.2 Java虚拟机栈 3 1.3 本地方法栈 3 1.4 Java堆 3 1.5 方法区 3 1.6 运行时常量池 4 二. hotspot虚拟机对象 4 2.1 对象的创建 4 检查 4 分配内存 4 Init 4 2.2 对象的内存布局 4 2.3 对象的访问定位 4 使用句柄访问 4 使用直接指针访问 5 三. OutOfMemoryError 异常 5 3.1 Java堆溢出 5 3.2

深入理解Java虚拟机(类文件结构+类加载机制+字节码执行引擎)

周志明的<深入理解Java虚拟机>很好很强大,阅读起来颇有点费劲,尤其是当你跟随作者的思路一直探究下去,开始会让你弄不清方向,难免有些你说的啥子的感觉.但知识不得不学,于是天天看,反复看,就慢慢的理解了.我其实不想说这种硬磨的方法有多好,我甚至不推荐,我建议大家阅读这本书时,由浅入深,有舍有得,先从宏观去理解去阅读,再慢慢深入,有条不紊的看下去.具体来说,当你看书的某一部分时,先看这部分的章节名,了解这部分这一章在讲什么,然后再看某一章,我拿"类文件结构"这一章来说,我必须

读深入理解Java中的String(包括JVM)一文总结和提升

读深入理解Java中的String(包括JVM)一文总结和提升 摘要:String作为Java语言中的字符串模拟类,无论是实际的编程工作还是笔试面试过程,都需要我们都String类非常熟悉,对于String类的大部分字符串操作方法,都必须达到熟练运用的程度才行.但是,笔试和面试过程中,面试官往往喜欢问一些String特性相关的题目,来考察面试者对于String基础知识的掌握是否牢固.(本人尚未研读深入理解JVM这本书,分析JVM都是查看网上资料来分析的,若在接下来的内容有分析不到位的地方请见谅和

《深入理解Java虚拟机》:类加载的过程

<深入理解Java虚拟机>:类加载的过程 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载.验证.准备.解析.初始化.使用和卸载七个阶段.其中类加载的过程包括了加载.验证.准备.解析.初始化五个阶段. 下面详细讲述类加载过程中每个阶段所做的工作. 加载 加载时类加载过程的第一个阶段,在加载阶段,虚拟机需要完成以下三件事情: 1.通过一个类的全限定名来获取其定义的二进制字节流. 2.将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构. 3.在Java堆中生成一

【深入理解Java虚拟机】类加载机制

本文内容来源于<深入理解Java虚拟机>一书,非常推荐大家去看一下这本书. 本系列其他文章: [深入理解Java虚拟机]Java内存区域模型.对象创建过程.常见OOM [深入理解Java虚拟机]垃圾回收机制 1.类加载机制概述 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制. 在java中,类型的加载.连接和初始化过程都是在程序运行期间完成的,这种策略虽然会带来一些性能开销,但是却为jav

深入理解java虚拟机笔记(一)-java内存区域与内存溢出

1. 前言 这是深入理解java虚拟机一书的笔记,来自第二章.因为这本书讲的比较深奥,这是第二次看,需要记录一下笔记. 2. 运行时数据区域 java虚拟机所管理的内存分为以下几个区域. ps:图片来自网络 2.1 程序计数器 程序计数器是一块较小的内存空间,他可以看做是当前线程所执行字节码的行号指示器.字节码解释器工作时就是通过改变这个计数器的值来选去下一条要执行的字节码指令,分之.循环.跳转.异常处理.线程恢复等基础功能都需要依赖这个计数器来完成. 这块内存是线程私有的内存. 如果线程在执行

《深入理解java虚拟机》:类的初始化

深入理解java虚拟机>:类的初始化 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载.验证.准备.解析.初始化.使用和卸载七个阶段.其中验证.准备.解析3个部分统称为连接.类加载的过程包括了加载.验证.准备.解析.初始化五个阶段. 加载.验证.准备.初始化和卸载这5个阶段的顺序时确定的,类的加载过程必须按照这种顺序按部就班的开始,而解析阶段则不一定,它在某些情况下可以在初始化阶段之后开始,这是为了支持Java语言的运行时绑定(也成为动态绑定或晚期绑定).另外注意这里的