作为软件工程师,我对诸如统计算法,数据挖掘,机器学习,贝叶斯网络,分类算法,神经网络,马尔可夫链,蒙特卡洛方法和随机数生成等主题感兴趣。
我个人不喜欢使用这些技术中的任何一种,但是我不得不使用在幕后使用了这些技术并且希望从更高层次上了解它们的软件。我正在寻找涵盖广度的书-目前不需要深度。我认为,如果我能理解所采用的算法和技术背后的数学基础,就可以学到很多有关软件开发的知识。
统计分析社区可以推荐我可以用来学习更多有关在软件中实现各种统计元素的书籍吗?
作为软件工程师,我对诸如统计算法,数据挖掘,机器学习,贝叶斯网络,分类算法,神经网络,马尔可夫链,蒙特卡洛方法和随机数生成等主题感兴趣。
我个人不喜欢使用这些技术中的任何一种,但是我不得不使用在幕后使用了这些技术并且希望从更高层次上了解它们的软件。我正在寻找涵盖广度的书-目前不需要深度。我认为,如果我能理解所采用的算法和技术背后的数学基础,就可以学到很多有关软件开发的知识。
统计分析社区可以推荐我可以用来学习更多有关在软件中实现各种统计元素的书籍吗?
Answers:
我建议克里斯托弗·毕晓普(Christopher Bishop)的“模式识别和机器学习”。您可以在https://www.microsoft.com/zh-cn/research/people/cmbishop/#!prml-book上看到其中的一些内容,包括示例章节。
您可能想阅读Stack Overflow上一个非常流行的问题, 程序员或计算机科学家应该知道哪些统计信息。
您已经提到了一些机器学习技术,因此有两本非常不错的书(相当遗憾,因为我最喜欢的是波兰语,所以很不错):http:
//www.amazon.com/Machine-Learning-Algorithmic-Perspective-Recognition/dp/1420067184
http:// /ai.stanford.edu/~nilsson/mlbook.html
对于诸如随机数生成之类的数字内容:http :
//www.nr.com/
我从另一本统计学书中买了《计算机科学家概率与统计》的副本-迈克尔·巴隆(我真的买了这本书是因为它的名字-我想要一本书,可以从计算机科学的角度看待统计学,即使它不是完美的)。我还没有机会阅读它或解决其中的任何问题,但这似乎是一本可靠的书。
这本书的序言说它是针对高年级本科生和初学者的,我对此表示赞同。要掌握本书的内容,必须对概率和统计学有所了解。
主题包括概率,离散随机变量,连续分布,蒙特卡洛方法,随机过程,排队系统,统计推断和回归。
尽管它不是专门用于计算统计的方法,但《使用R进行统计分析的手册》-Brian S. Everitt和Torsten Hothorn涵盖了我在基础和中级统计书中看到的许多主题-推理,ANOVA,线性回归,逻辑回归,密度估计,递归分区,主成分分析和聚类分析-使用R语言。对编程感兴趣的人可能会对这感兴趣。
但是,与其他书籍不同,重点是使用R语言来执行这些统计功能。我见过的其他书籍使用代数和微积分的组合来演示统计数据。本书实际上侧重于如何使用R语言分析数据。为了使它更有用,作者使用的数据集在CRAN中-R存储库。
R的统计计算-Maria L. Rizzo涵盖了计算机科学家的概率与统计中的许多主题-基本概率和统计,随机变量,贝叶斯统计,马尔可夫链,多元数据的可视化,蒙特卡洛方法,置换检验,概率密度估计和数值方法。
所使用的方程式和公式均以数学公式以及R代码的形式给出。我想说,对于那些想读这本书的人,建议具备概率,统计,微积分以及离散数学的基础知识。编程背景也将有所帮助,但是对于R语言,运算符和语法有一些参考。
当计算机工程师亲自进行数据分析时,Toby Segaran编写了《 Programming Collective Intelligence》,这是一本真正可读的书,涵盖了从相当吓人和可读的角度出发的内容(以没有涵盖此处所建议的其他任何书籍为代价)。我发现它比Bishop的书更加平易近人,Bishop的书虽然有很好的参考价值,但您可能更想深入了解它。在亚马逊上:http : //www.amazon.com/Programming-Collective-Intelligence-Building-Applications/dp/0596529325
CRAN有几个很好的例子,涉及统计编程。其中一些与机器学习和MCMC无关,但是每条条目都带有注释,因此您应该对每本书包含的内容有一个大概的了解,以便进一步深入。 http://www.r-project.org/doc/bib/R-books.html