机器学习基础
这个仓库包含了Jon Krohn的机器学习基础课程的代码,这个课程全面概述了包括数学、统计和计算机科学在内的所有现代机器学习方法的基础知识,包括深度学习和其他人工智能技术。
课程包括八个科目,分为四个科目领域。在下列的“机器学习大厦”部分可以了解到为什么这些是基本的基础学科:
- 线性代数
- 1: 线性代数介绍
- 2: 线性代数II:矩阵运算
- 微积分
- 3: 微积分I:极限与导数
- 4: 微积分II:偏导数与积分
- 概率和统计
- 计算机科学
后续的科目建立在早期科目的基础上,因此建议按照提供的顺序进展完成八个科目。当然,你也可以根据自己的兴趣或已有的知识选择单独的科目来学习。特别是,每个领域之间相对独立,因此可以分别进行学习。
何时何地
这八个机器学习基础科目最初是由Jon Krohn于2020年5月至9月在O'Reilly学习平台上以在线直播培训的形式提供的(2021年7月至12月再次提供;单次课程日期可见这里)。
为了满足你的学习偏好,现在可以通过多种渠道获得这些内容:
- YouTube
- 线性代数 完整播放列表在这里 和 详细博客文章在这里
- 微积分 完整播放列表在这里
- 概率播放列表 还在积极开发中(在jonkrohn.com上注册我的电子邮件通讯以便接收新视频发布的通知)
- 以后,我的机器学习基础课程的所有科目都将可以在YouTube上免费获得。
- O'Reilly(许多雇主和教育机构提供免费访问此平台的权限;如果你没有访问权限,可以通过我的特别代码SDSPOD23获得30天的免费试用链接)
- Udemy:所有线性代数和微积分内容自2021年9月起在机器学习数学基础课程中上线 (免费概述视频)。虽然此课程作为数学科目的完整介绍独立存在,但后续科目5-8将作为免费额外内容添加。
- 开放数据科学会议:整个系列从2020年12月到2021年6月在线直播授课。这些培训的按需录像现在可以在Ai+ Platform获得。
- 书籍:与Pearson的书籍交易已经到位;最终我会有时间处理手稿,并通过oreilly.com提供预发布章节草稿。
(请注意,虽然YouTube包含100%的授课内容,但付费选择 — 例如Udemy、O'Reilly和ODSC — 包含练习题的详细解答演示,YouTube上没有这些内容。一些付费选项还包括独有的平添特性,例如互动测试、“备忘单”和成功完成课程后的证书颁发。)
推送通知
若要了解未来课程直播、新视频发布和书籍章节发布的最新信息,请考虑通过他的主页注册Jon Krohn的电子邮件通讯。
笔记本
所有代码都在这个目录下的Jupyter笔记本提供。这些笔记本旨在(free) Colab云环境中使用,而这也是目前唯一主动支持的环境。
尽管如此,如果你熟悉本地运行Jupyter笔记本,欢迎你这样做(注意,本仓库的Dockerfile中的库版本可能并不是最新的,但可能为在Docker容器中运行Jupyter提供一个合理的起点)。
机器学习大厦
要成为一名优秀的数据科学家或机器学习工程师,仅了解如何通过最受欢迎的库(例如scikit-learn、Keras)提供的抽象接口来使用机器学习算法是不够的。要训练创新模型或将其部署到高效运行的生产环境中,对机器学习理论的深入理解(图中为“机器学习大厦”中紫色的中心楼层)可能是非常有帮助或必需的。而要培养这种对机器学习的深入理解,必须具备对基础学科的工作理解。
当“机器学习大厦”的基础坚固时,从一般的机器学习原理(紫色楼层)跳跃到专门的机器学习领域(顶部灰色楼层)如深度学习、自然语言处理、机器视觉和强化学习也会更加容易。这是因为,应用越专业,其实现细节越来越可能只有学术论文或研究生教材中会提到,而这些通常假设读者已了解基础学科。
如果你符合以下情况,这系列课程的内容可能特别适合你:
- 使用高级软件库训练或部署机器学习算法,现在希望了解这些抽象背后的基本原理,以扩展你的能力
- 作为数据科学家,希望巩固在专业领域核心科目上的理解
- 作为软件开发人员,希望为机器学习算法在生产系统中的部署建立牢固的基础
- 作为数据分析师或人工智能爱好者,希望成为数据科学家或数据/机器学习工程师,因此你渴望从头到尾深入理解你要进入的领域(非常明智!)
- 你只是单纯地对线性代数、微积分、概率论、统计学、算法和/或数据结构的基本知识感兴趣
这些基础科目在最近几十年里几乎没有变化,未来几十年可能也会如此,但它们在所有机器学习和数据科学方法中都是关键因素。因此,这些基础提供了一个稳固的、贯穿职业生涯的基础。
教学方法
本系列课程的目标是为你提供实际、功能性的内容理解。每个主题都会提供其在机器学习中的相关背景。
与Jon Krohn创作的其他材料(如书籍*深度学习图解和他的18小时视频系列使用TensorFlow、Keras和PyTorch进行深度学习类似*),本系列课程通过以下组合使内容生动起来:
- 生动的全彩插图
- 纸笔理解练习及完整解答方案
- 数百个在动手Jupyter笔记本中用Python代码展示的简单例子(特别关注PyTorch和TensorFlow库)
- 实际的机器学习应用
- 探讨更多引发你兴趣的资源
先修知识
编程:所有代码演示都会用Python完成,因此掌握Python或其他面向对象编程语言对于跟上代码示例的进度将是有帮助的。一个(且是免费的)入门Python的好资源是Al Sweigart的Automate the Boring Stuff。
数学:熟悉中学数学知识将使课堂内容更易于理解。如果你能处理定量信息 —— 如理解图表和重新排列简单方程 —— 那么你应该准备好跟上所有数学内容。如果在学习机器学习基础课程时发现自己在数学方面有欠缺,推荐使用免费的、全面的Khan Academy来弥补这些不足。
Oboe
最后,这里是机器学习基础吉祥物Oboe的图示,由出色的艺术家Aglaé Bassens创作: