我想学习概率论,度量理论,最后是机器学习。我的最终目标是在一个软件中使用机器学习。
我在大学里学习了微积分和非常基本的概率,但是仅此而已。您知道一些我可以用来学习这些主题的在线课程或书籍吗?我在网上找到了很多资源,但它们似乎都是针对专业观众的。我知道这将需要一些时间,但是如果我想从头开始学习,该从哪里开始呢?
我想学习概率论,度量理论,最后是机器学习。我的最终目标是在一个软件中使用机器学习。
我在大学里学习了微积分和非常基本的概率,但是仅此而已。您知道一些我可以用来学习这些主题的在线课程或书籍吗?我在网上找到了很多资源,但它们似乎都是针对专业观众的。我知道这将需要一些时间,但是如果我想从头开始学习,该从哪里开始呢?
Answers:
我认为有两个非常好的和受欢迎的参考资料可供您参考(我从这些参考资料开始,并且具有精算学硕士学位的背景):
Gareth James,Daniela Witten,Trevor Hastie,Robert Tibshirani撰写的《统计学习入门》(在R中应用)。它可以在网站上免费获得,非常全面,并通过实际示例易于理解。即使没有非常强的统计背景,您也可以开始学习很多东西,该参考文献适合各种分析,包括足够数量的流行算法及其在R中的实现,而无需深入研究数学细节。
Trevor Hastie,Robert Tibshirani,Jerome Friedman的统计学习要素。与第一本书相比,如果您想进一步探索对您有用的特定算法,这本书将更深入地探讨数学方面。(也是免费的)
当然,对我来说,交叉验证是您可以学习很多东西的最佳资源之一:最佳实践,统计学上的误解和误用等等。在学校/大学学习了数年并进行了自学之后,我发现当我第一次去Cross Validated时,我的知识面太有限了。自从第一次访问以来,我每天都继续去这里,学到很多东西。
强烈建议您参考以下几项免费的在线课程:
您不需要度量理论。测量理论被数学家用来证明其他数学程序的正当性,例如对积分近似值进行限制。大多数工程师不会研究度量理论,而只会使用结果。ML所需的数学知识的大致特征是能够集成多元高斯函数-如果您对此有信心,则您可能具有必要的多元微积分,线性代数和概率论背景。
我会推荐艾伦·唐尼(Allen Downey)的《思想统计》(Think Stats),该书旨在向程序员教授概率/统计数据。这个想法是利用编程专业知识来进行仿真,从而理解概率论/统计方法。 艾伦唐尼博客(他写了其他文章) 统计数据(免费)pdf)
由于您对机器学习感兴趣,因此,我将跳过概率和度量,而直接进入ML。吴镇宇的课程是一个不错的起点。您实际上可以在两周内完成。
玩几个星期学到的东西,然后再回到根本,研究一些概率。如果您是一名工程师,那么我对您如何设法跳入大学感到困惑。它曾经是工程学的必修课。无论如何,您可以在这里参加MIT OCW课程进行学习。
我认为您不需要度量理论。没有人需要度量理论。那些这样做的人,他们不会来这里询问,因为他们的顾问会告诉他们该选择哪个课程。如果您没有顾问,那么您绝对不需要。重言式,但事实如此。
量度理论的意义在于您无法通过“轻松阅读”来学习它。从根本上讲,您必须做练习和解决问题。我认为,在教室外面这几乎是不可能的。如果他们愿意的话,这里最好的选择是在当地大学上课。有时,博士学位水平的概率课程将在一类中进行度量和概率计算,这可能是最好的选择。我不建议在数学系上纯粹的量度理论课,除非您确实想折磨自己,尽管最终您会感到非常满意。
对于机器学习,我认为Peter Flach的机器学习:理解数据的算法的艺术和科学可以作为一门很好的资源。它通过直观的示例全面介绍了机器学习,并且适合初学者。我喜欢这本书,尤其是因为上一章涉及机器学习实验。在学习机器学习时,仅仅了解不同的模型是不够的,而且人们应该能够比较不同的机器学习算法。我认为这本书使您更容易理解如何比较这些算法。演讲幻灯片可以在这里找到。
除了上面的出色建议之外,我想说的是,如果您有兴趣对概率和统计中的更多基本概念有所了解,那么“从算法到Z分数:统计学中的概率计算”是使用计算机进行统计的绝佳入门书。了解概率论和随机过程中最重要的初学者/中级概念。我还将第二次“统计学习入门”或“统计学习要素”(ESL)作为机器学习(ML)的入门。我认为特别是ESL很棒,但是它确实需要更多的数学知识才能深入了解ML概念,因此,如果您只对统计数据感到“还可以”,那么一旦获得更多信息,您可能就应该读一读有ML经验。
如果您为了被雇用或解决问题而对机器学习感兴趣,获取动手经验是关键。对数据科学/机器学习课程进行一些介绍。安德鲁·吴在做一个Coursera惊人介绍了机器学习在他的课程在这里。我还建议您下载一些数据集并开始使用它们。如果您还没有下载R和RStudio(我认为,R和RStudio对初学者比Python或Matlab更友好),然后在kaggle进行注册并解决他们的一些初学者问题。他们有很好的演练,可以使您基本上不了解实际发生的事情来使用ML,但是它使您了解了实际实施ML解决方案所需采取的步骤。
我个人鼓励在不真正了解ML工具做什么的情况下开始使用ML工具(使用Kaggle数据集或类似数据);并学习一些基本概念,例如交叉验证,过度拟合,使用混淆矩阵,对模型的良好程度的不同度量等。对我而言,了解如何使用算法以及如何识别事物何时正常工作更为重要/无效,否则将无法理解算法的工作原理。