《数学之美》读书笔记

    之前拜读过吴军老师的《数学之美》。虽然这是一本科普性质的读物,但还是能从中获益匪浅。下面根据记忆以及之前做过的简要的书面笔记,做一个概括。

    1.信息的作用在于消除不确定性,自然语言处理的大量问题都是找相关的信息。

    2.关于搜索:技术分为术和道两种。具体的做事方法是术,做事的原理和原则是道。只有掌握了搜索的本质和精髓,才能游刃有余。

    3.搜索引擎的工作流程。一个搜索引擎大致需要做这几件事:自动下载尽可能多的网页;建立快速有效的索引;根据相关性对网页进行公平准确的排序。

    4.上述的索引有不同的等级划分。应该根据需要网页的重要性、质量和访问的频率而建立。

    5.自动下载互联网所有的网页,用到了图论中的遍历算法:深度优先遍历、广度优先遍历。

    6.下载网页用到了网络爬虫技术。它可以从任何一个网页出发,用图的遍历算法,自动地访问到每一个网页,并把它们存起来。

    7.Google的PageRank算法:简单的说就是民主表决。在互联网上,如果一个网页被很多其他的网页所链接,说明它受到普遍的承认与信赖,那么它的排名就高。网页排名高的网站贡献的链接权重大。

    8.网页和查询的相关性:搜素关键词权重的科学度量是运用了TF-IDF技术。

    9.地址识别技术运用了有限状态机--它包括一些状态(节点)和连接这些状态的有向弧。基于概率的有限状态机被应用于模糊匹配上。

    10.全球导航运用了动态规划算法。

    11.关于新闻的分类。这一篇巧妙地将新闻的分类与数学上的余弦公式联系起来。将一遍新闻看做一个向量--特征向量。向量的维度是词的总数量,向量中每一维度代表每个词对这篇新闻主题的贡献。然后计算两个特征向量的夹角:cos(A)=<b,c>/(|b|*|c|)=(X1Y1+X2Y2+...+X64000Y64000)/(SQRT(X1^2+X2^2+...+X64000^2)*SQRT(Y1^2+Y2^2+...+Y64000^2))。(X1、Y1表示X的下表是1,Y的下表是1;SQRT()表示开方。X1^2表示X1的平方)计算的夹角越小,说明两条新闻越相近,越相关。然后可以计算待分类的新闻的特征向量,与各个类别代表的新闻的特征向量的夹角。求出其中最小的夹角,那么这个待分类的新闻就应该归类到与其夹角最小的那一类新闻中。

    12.信息指纹:提取信息的特征作为一个字符串,求出该字符串对应为一个随机数。只要产生随机数的算法足够好,就能保证几乎不可能有两个字符串的指纹相同。信息指纹的好处:节省空间,存储整型比存储整个字符串省多了;提高查找效率,如果查找字符串,需要一个个匹配,而查找整型则有先排序然后二分查找等方法,效率提高很多。

    13.伪随机数产生器算法--梅森旋转算法。

    14.在互联网上加密需要使用基于加密的伪随机数产生器。常用的算法有MD5或SHA-1等。它们可以将不定长的信息变为定长的128为或160位二进制随机数。SHA-1被山东大学的王小云教授证明有漏洞。题外话:该书出版时王小云教授尚未发现MD5的漏洞,因此书中没有提到此事。王小云教授实际上也证明了MD5算法有漏洞,其实不是坊间流传的攻克了MD5算法。而是找出了MD5算法的强无碰撞。如果想要真正破解MD5算法,应该找到弱无碰撞才可以。设f(x)为hash函数,那么弱无碰撞是指:已知一个数X,要找出数Y,使得他们的哈希值f(x)=f(y)。强无碰撞是指找出一对数X与Y,使得它们的哈希值f(x)=f(y)。一个好的密码算法,应该要求不能找出强无碰撞和弱无碰撞。

    15.搜索引擎的作弊--搜索引擎中排名靠前的网站不一定就是高质量、高相关性的网站。比如在网页中的隐藏域里加入大量的关键词,用来提高排名。或者购买大量链接等。作弊的本质是在网页排名的信号中加入了噪音,因此次反作弊的关键是去噪音。

    16.最大熵模型与最大熵原理。通俗的讲就是鸡蛋不要放在一个篮子里。这是一种非常简单、优美,唯一一种既可以满足各个信息源的限制条件,同时又能保证平滑性的模型。但是计算量非常大。把各种特征综合在一起的最好的方法是采用最大熵模型。

    17.输入法。输入汉字的快慢取决于汉字编码的平均长度。所谓平均长度是指击键次数乘以寻找这个键所需要的时间。汉字的编码包括对拼音的编码以及消除歧义的编码。而五笔输入法虽然减少了每个汉字击键的次数,却忽视了找到每个键的时间,因此它的编码的平均长度比较长,速度比较慢。

    18.香农第一定理:对于一个信息,任何编码的长度都不小于它的信息熵。

    19.拼音输入法拼音转汉字的算法:每个拼音可以对应多个汉字,而把一个拼音串对应的汉字从左到右连起来,就是一张有向图。它被称为网格图或篱笆图。拼音输入法就是根据上下文在给定拼音条件下找到一个最优的句子。对于上述的网格图,就对图的概率的表达式做转换,将连乘转化为连加。将问题转为寻找最短路径的问题。而最短路径的问题可以用动态规划算法解决。

    20.布隆过滤器用于检索一个元素是否在一个集合里。它将元素通过Hash函数映射为位列阵中的一个点。因此只要看这个点是不是1就可以判断集合中有没有它了。布隆过滤器具有快速和省空间的优点,但是由于它是基于Hash函数的,而Hash函数难免会有冲突,因此布隆过滤器会有一定的误识别率。补救措施是再建立一个小的白名单,存储可能被误识别的元素。

    21.马尔科夫链描述一种状态序列,其每个状态值取决于前面有限个状态。这种模型对很多实际问题来说是一种很粗略的简化。因为在现实生活中,事物相互的关系不能用一条链来串起来,他们之间的关系可能是交叉的,错综复杂的。这个时候应该用贝叶斯网络,它是一种加权的有向图。马尔科夫链是贝叶斯网络的特例,贝叶斯网络是马尔科夫链的推广。而贝叶斯网络的训练是一个NP问题。训练贝叶斯网络,可以用贪心法。而为了防止局部最优的方法,可以用蒙特卡洛算法。

    22.好的方法在形式上往往是简单的。

    23.维特比算法是一种特殊但应用最广泛的动态规划算法,用来寻找观察结果最有可能产生观测事件序列的-维特比路径-隐含状态序列。它针对篱笆网络的有向图的最短路径问题,凡是用隐含马尔科夫模型描述的问题都可以用它解码。

    24.逻辑回归模型是一种将影响概率的不同因素结合在一起的指数模型。和指数模型(例如最大熵模型)一样,它们的训练方法相似,都可以采用迭代算法GIS和改进的迭代算法IIS来实现。

    25.MapReduce运用了分治法。将一个大任务拆分成小的子任务,并且完成子任务的计算,这个过程叫Map。将中间的结果合并成最终结果,这个过程叫Reduce。

    以上只是对整本书的一个粗浅的回顾。上面的内容之于整本书的内容,相当于沙滩上的几件贝壳之于整个沙滩。若想更加细致的了解本书,还是从头到尾品读一遍书比较好。

 

    

转载于:https://www.cnblogs.com/cestlavie/p/4162173.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/398673.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据库杂谈(七)——数据库的存储结构

文章目录7 数据库的存储结构7.1 数据库访问管理-文件组织7.2 数据库访问管理——索引技术7 数据库的存储结构 让我们重新温习第六讲的所学知识。 这个图实际上我们要关注的是蓝色箭头指向的那一层。在这一层之上&#xff0c;我们都是对SQL语句动手&#xff0c;而在这一层之下&…

JSP中直接在输入框中校验

jsp: <label class"control-label col-sm-2" for"codeAdd">险种代码<span style"color: red;">*</span></label> <div classcontrols col-sm-4> <input class"form-control remote-validate" data-r…

【iCore3 双核心板_FPGA】例程十二:Modelsim仿真实验

实验指导书及代码包下载&#xff1a; 链接&#xff1a;http://pan.baidu.com/s/1hs4zNFY 密码&#xff1a;5z62 iCore3 购买链接&#xff1a; https://item.taobao.com/item.htm?id524229438677

机器学习的练功方式(五)——模型选择及调优

文章目录5 模型选择及调优5.1 数据增强5.2 过拟合5.3 交叉验证5.4 超参数搜索——网格搜索5 模型选择及调优 5.1 数据增强 有时候&#xff0c;你和你的老板说你数据不够&#xff0c;它是不会理你的。老板会发问&#xff1a;为什么你是做机器学习的要那么多数据干嘛&#xff0…

关于内存的一些基础知识

1、free&#xff1a;Display amount of free and used memory in the system. free显示的数值来自/proc/meminfo&#xff08;默认单位是KB&#xff09;。各个项的含义分别是&#xff1a; 1&#xff09;Mem这一行&#xff0c;shared&#xff1a;已废弃&#xff1b;buffers&#…

Flask 单例模式 session

一、单例模式 单例模式分为四种&#xff1a;基于文件的单例模式&#xff0c;基于类方法的单例模式&#xff0c;基于__new__的单例模式&#xff0c;基于metaclass的单例模式 1. 基于类方法的单例模式 - 不支持多线程模式 import threadingclass Singleton(object):def __init__(…

document.all

一.document.all是页面内所有元素的一个集合。例如&#xff1a; document.all(0)表示页面内第一个元素二.document.all可以判断浏览器是否是IE if(document.all){ alert("is IE!"); }三.也可以通过给某个元素设置id属性&#xff08;idaaaa&#xff09;,然后…

数据处理工具(一)——Matplotlib

文章目录致谢1 Matplotlib1.1 什么是Matplotlib1.2 实现一个简单的图1.3 Matplotlib三层结构1.3.1 容器层1.3.2 辅助显示层1.3.3 图像层1.3 使用模块1.3.1 画布的设置1.3.2 添加网格辅助背景1.3.3 附加属性1.3.4 标签1.3.5 刻度1.3.6 一个图上多条线1.3.7 子区域1.4 基础图表1.…

Java解析Rss(三)

2019独角兽企业重金招聘Python工程师标准>>> package com.ninemax.application.rss;import java.net.URL; import java.text.SimpleDateFormat; import java.util.List;import com.sun.syndication.feed.synd.SyndCategory; import com.sun.syndication.feed.synd.S…

Redis服务器启动之后3个警告信息的解决方案

今天是年前最后一篇文章了&#xff0c;不想写太多的东西&#xff0c;就写一些有关Redis相关问题的解决方案。当我们启动了Redis服务器之后&#xff0c;会看到3个警告&#xff0c;如果没看到&#xff0c;那是很好的&#xff0c;但是我看到了。看到了就不能不管&#xff0c;所以就…

ASP .NET MVC 之Entity Framework入门教程及源码

本文主要的目的是 1. 说明Entity Framework Power Tools如何使用。 2. Entity Framework 快速门 实验环境&#xff1a; OS: Windows Server 2012, Windows 7 DE: VS2013 MVC 6.0Entity Framework SQL Server 2012 准备工作 基于现有数据库生成POCO数据类和数据库上下文需要借…

机器学习的练功方式(六)——朴素贝叶斯

文章目录致谢6 朴素贝叶斯6.1 概述6.2 概率论6.2.1 大数定律6.2.2 基本概念6.2.3 极大似然估计6.2.4 多项式分布6.2.4.1 伯努利分布6.2.4.2 二项分布6.2.5 朴素贝叶斯6.3 朴素贝叶斯文本分类6.3.1 一个例子6.3.2 拉普拉斯平滑系数6.3.3 算法实现6.4 贝叶斯分类器6.4.1 多项式贝…

ABAP中创建动态内表的三种方法(转载)

BAP中创建动态内表的三种方法 第一种&#xff1a; 如果我们需要的动态内表字段或者动态工作区和数据字典中的类型一致&#xff0c;可以直接使用CREATE DATA生成,当然也可以是自定义类型。 比如要产生和数据表MARA结构一致的动态内表&#xff1a; DATA : DY_TABLE TYPE REF TO D…

个人简介

我叫范华万&#xff0c;今天22岁&#xff0c;来自于福建省。目前在闽江学院就学。我学的是软件工程软件服务开发专业&#xff0c;能从事网站设计、java工程师、ps技术、c、数据库管理。本人性格乐观、开朗&#xff0c;有上进心、进取心&#xff0c;对学习认真负责&#xff0c;I…

数据库杂谈(八)——查询优化

文章目录8 查询优化8.1 概述8.2 查询数和语法树8.3 代数优化8.4 物理优化8.5 连接操作优化8.5.1 嵌套循环法8.5.2 利用B树索引或哈希索引寻找匹配元组法8.5.3 散列连接法8.6 后话8 查询优化 8.1 概述 我们不管是在数据库软件如MySQL、SQLServer等&#xff0c;还是通过应用程序…

Android-入门学习笔记-使用 CursorLoader 加载数据

3 使用这个代码片段开始练习 也可以参考 Codepath 教程 高级内容补充: 你是否在思考ArrayAdapter’s 的 getView() 方法和CursorAdapter 的 newView() 和 bindView() 方法? 你可以查看 CursorAdapter 类的源码. getView() 方法依然存在, 但是它实际根据是否存在列表项能够被循…

逆向思维求素数

1 #include <stdio.h>2 3 int main(void)4 {5 const int len 100;6 int prime[len];7 for (int i0; i<len; i)8 prime[i] 1; // 1 标记这个序号数为素数&#xff0c;0标记为非素数9 for (int x2; x<len; x) 10 { 11 for (in…

在 Angularjs 中 ui-sref 和 $state.go 如何传递参数

1 ui-sref、$state.go 的区别 ui-sref 一般使用在 <a>...</a>&#xff1b; <a ui-sref"message-list">消息中心</a> $state.go(someState)一般使用在 controller里面&#xff1b; .controller(firstCtrl, function($scope, $state) {$state.…

机器学习的练功方式(七)——决策树

文章目录致谢7 决策树7.1 认识决策树7.2 决策树原理7.3 信息论7.3.1 信息熵7.3.1.1 熵7.3.1.2 信息7.3.1.3 信息熵7.3.2 信息增益7.4 决策树实现7.5 决策图7.6 后话致谢 信息熵是什么&#xff1f; - 知乎 (zhihu.com) 没有免费午餐定理_百度百科 (baidu.com) 7 决策树 决策树(…

[BZOJ3583]杰杰的女性朋友(矩阵快速幂)

杰杰的女性朋友 时间限制&#xff1a;10s 空间限制&#xff1a;256MB 题目描述 杰杰是魔法界的一名传奇人物。他对魔法具有深刻的洞察力&#xff0c;惊人的领悟力&#xff0c;以及令人叹为观止的创造力。自从他从事魔法竞赛以来&#xff0c;短短几年时间&#xff0c;就已经…