学习机器学习有哪些先决条件?
我一直着迷于机器学习的主题,直到我决定教自己如何去做。 所以我在网上发表了斯坦福大学提供的课程。 但是,我对它所包含的math的数量感到震惊。 那么,我应该能够理解机器学习algorithm的math背景是什么呢? 是否有任何图书馆能够抽象出所有的math知识,并着重于devise一个能够学习的软件?
- 线性代数
- 概率论
- 结石
- 微积分的变化
- 图论
- 优化方法(拉格朗日乘子)
就像计算机科学相关主题的99%(不要引用我的数字)一样,机器学习的理论基础经常涉及很多math……无论如何,不应该那么困难即使没有深入的微积分知识,也要学习一些基本的MLalgorithm。
那里有各种机器学习库:
- WEKA
- Java机器学习库(Java JML)
- Apache Mahout
- 其他…
我想说,你应该开始尝试build立自己的简单的MLalgorithm:也许一个neural network或遗传algorithm 。 成功构build一个将会使你的理解发生很大的变化…特别是在给定一个特定的问题之后,你可能不得不自定义MLalgorithm。 知道它是如何工作的,从头开始,将允许你做任何你认为必要的修改。
编程集体智慧:通过Toby Segaran 构build智能Web 2.0应用程序是一本非常棒的书! Toby构build了所有时间机器学习经典的简单实现:neural network,支持向量机,遗传algorithm,聚类。 所有这些简单的解释如何和为什么他们的工作。 作为奖励,所有的例子都在Python! 但即使你不懂Python,你也会理解这本书。 我强烈推荐它
有关机器学习的一些背景知识,请参阅此处: http : //bumphunting.blogspot.com/2009/07/what-are-good-prequisite-textbooks-for.html
这是一个.NET岩石插曲! 谈论机器学习,还有一个小型的图书馆
线性代数和(基本)统计。