《算法基础》——2.7 总结

2.7 总结

一些数值计算算法(如随机化方法)在各种各样的应用中是有用的。其他算法(如质因子、寻找最大公约数)的用途可能是有限的。如果程序不需要寻找最大公约数,那么最大公约数的算法不会有太大的帮助。
然而,通过这些算法表现出的技术和概念可以在其他许多情况下非常有用。例如,一个算法可以是概率性的,这个想法是在许多应用中都非常重要的。这种想法可以帮助你想出其他的算法,这是个具有不确定性的完美工作(这些问题很容易在面试时遇到)。
本章阐述了公平和偏差的概念,这两个概念对于任何种类的随机化算法都非常重要,如蒙特卡罗积分算法,其重要性也在这一章中有所介绍。
本章还介绍了自适应求积,这种技术让一个程序的大部分重点工作关注在最相关的部分,而较少关注易于执行的部分。设计程序时花最多时间在最重要的部分上,这种理念适用于多种算法。
很多数值算法,如最大公约数、费马素性测试、矩形规则和梯形规则、蒙特卡罗积分,也不需要复杂的数据结构。相比之下,在这本书中描述的大多数其他算法的确需要专门的数据结构来产生所需的结果。下一章介绍了一种数据结构:链表。这些都不是能在本书中找到的最复杂的数据结构,但它们可用于许多其他算法。此外,链接数据的概念在其他数据结构也是有用的,如在树和网络中。

时间: 2024-10-14 18:03:28

《算法基础》——2.7 总结的相关文章

《LDA漫游指南》——第2章 前置知识

第2章 前置知识 LDA漫游指南 本章所描述的工具和线索在后期LDA算法的采样公式推导中会全部明了.关于为什么需要使用这些知识要素,这里面有很长的一段历史渊源,比如在概率论和数理统计中,gamma函数被广泛使用,而在最终的LDA采样公式中,你会发现,gamma函数被神奇地消失了.我们在后面的章节中可以看到,LDA算法的精妙之处在于用令人屏息的洞察力作为纽带,将零散的部件全部组合在一起. 2.1 gamma函数 所谓的gamma函数其实就是阶乘的函数形式,即n!=1⋅2⋅3-n.如果我问你3的阶乘

《LDA漫游指南》——第1章 背景

第1章 背景 LDA漫游指南 LDA算法使用的全部知识的渊源可以追溯到18世纪的欧拉.欧拉(Leonhard Euler ,1707年4月15日-1783年9月18日),瑞士数学家,如图1-1所示.欧拉一生贡献颇丰,1734年,欧拉因解决巴塞尔问题而出名,巴塞尔问题见式(1.1)的值是多少. (1.1) 这个问题困扰了数学家长达几个世纪的,当时的数学家只知道该级数的值小于2,但不知道精确值,欧拉准确的推导出该式的值等于π^2/6.欧拉的方法聪明而新颖,他创造性地将有限多项式的观察推广到无穷级数,

《LDA漫游指南》——2.3 Beta分布(Beta distribution)

2.3 Beta分布(Beta distribution) 在概率论中,Beta分布是指一组定义在区间(0,1)的连续概率分布,有两个参数alpha 和beta ,且alpha ,beta > 0. Beta分布的概率密度函数是 (2.5) 随机变量X服从参数为的Beta分布通常写作:Xsim Beta(alpha ,beta ). 这个式子中分母的函数B(alpha ,beta )称为beta函数. 两种证明方法这里我们来证明一个重要的公式,该公式中的关系在LDA算法Gibbs Samplin

《LDA漫游指南》——2.6 共轭先验分布(conjugacy prior)

2.6 共轭先验分布(conjugacy prior) In Bayesian probability theory, if the posterior distributions p(θ |x) are in the same family as the prior probability distribution p(θ), the prior and posterior are then called conjugate distributions, and the prior is ca

《LDA漫游指南》——2.7 总结

2.7 总结 1. 贝叶斯学派采用给参数赋予先验分布,并使得先验与后验共轭,通过求后验均值来得到参数的估计,频率学派通过某个优化准则,比如最大化似然函数来求得参数的估计:不管是哪个学派思想,都要用到似然函数.注意到似然函数有所不同,这点在极大似然估计(MLE)和最大后验概率估计(MAP)体现得尤其明显. 2.当拥有无限数据量时(Beta分布式中的s和f都趋向于无穷,Dirichlet分布式中的m趋向于无穷),贝叶斯方法和频率学派方法所得到的参数估计是一致的.当在有限的数据量下,贝叶斯学派的参数后

《LDA漫游指南》——2.2 二项分布(Binomial distribution)

2.2 二项分布(Binomial distribution) 在概率论中,二项分布即重复n次独立的伯努利试验.在每次试验中只有两种可能的结果(成功/失败),每次成功的概率为p,而且两种结果发生与否互相对立,并且相互独立,与其他各次试验结果无关,事件发生与否的概率在每一次独立试验中都保持不变,则这一系列试验总称为n重伯努利实验,当试验次数为1时,二项分布就是伯努利分布. 在给出二项分布之前,我们来做一个例子,假设你在玩CS这个游戏,你拿着狙击枪,敌人出现,你打中敌人的概率是p,打不中敌人的概率是

《LDA漫游指南》——2.4 多项分布(multinomial distribution)

2.4 多项分布(multinomial distribution) 多项分布[1]是二项分布的推广扩展,在n次独立试验中每次只输出k种结果中的一个,且每种结果都有一个确定的概率p.多项分布给出了在多种输出状态的情况下,关于成功次数的各种组合的概率. 举个例子,投掷n次骰子,这个骰子共有6种结果输出,且1点出现概率为p_1,2点出现概率p_2,--多项分布给出了在n次试验中,骰子1点出现x_1次,2点出现x_2次,3点出现x_3次,-,6点出现x_6次.这个结果组合的概率为 式(2.8)为多项分

《LDA漫游指南》——2.5 狄利克雷分布(Dirichlet Distribution)

2.5 狄利克雷分布(Dirichlet Distribution) Dirichlet分布是Beta分布在多项情况下的推广,也是多项分布的共轭先验分布(共轭先验分布将在2.6节进行介绍).Dirichlet分布的概率密度函数如下: 二项分布和多项分布很相似,Beta分布和Dirichlet 分布很相似,至于"Beta分布是二项式分布的共轭先验概率分布,而Dirichlet分布是多项式分布的共轭先验概率分布"这点会在下文中进行说明. 另一个重要的公式是 为了简便表达,公式中引入了希腊字

[python] LDA处理文档主题分布代码入门笔记

以前只知道LDA是个好东西,但自己并没有真正去使用过.同时,关于它的文章也非常之多,推荐大家阅读书籍<LDA漫游指南>,最近自己在学习文档主题分布和实体对齐中也尝试使用LDA进行简单的实验.这篇文章主要是讲述Python下LDA的基础用法,希望对大家有所帮助.如果文章中有错误或不足之处,还请海涵~ 一. 下载安装 LDA推荐下载地址包括:其中前三个比较常用.        gensim下载地址:https://radimrehurek.com/gensim/models/ldamodel.ht

前端知识图谱,你值得收藏

综合类 - [前端知识体系](http://www.cnblogs.com/sb19871023/p/3894452.html) - [前端知识结构](https://github.com/JacksonTian/fks) - [Web前端开发大系概览](https://github.com/unruledboy/WebFrontEndStack) - [Web前端开发大系概览-中文版](http://www.cnblogs.com/unruledboy/p/WebFrontEndStack.h