名校公开课 / 斯坦福 / AI

机器学习

Machine LearningCS229斯坦福2008 (SEE) / Autumn 2018 (YouTube)免费
监督学习支持向量机学习理论EM 算法主成分分析强化学习

这门课学什么

课程讲监督学习、学习理论、无监督学习和强化学习的数学推导。SEE 站提供 2008 年全套视频、字幕稿、讲义和 4 套习题。2018 年版视频在 Stanford Online YouTube 频道。

内容摘要

CS229 是机器学习的数学主线课。吴恩达在 2018 年秋季版里从监督学习讲起,每个算法都在黑板上推导到公式。全课 20 讲,另有 1 节学习理论讨论课。课程目标是让学生理解算法为什么有效,而不只是会调用库。

第 1 阶段是监督学习,占前 8 讲。课程从线性回归和梯度下降开始,经过逻辑回归、感知机、广义线性模型和生成式学习算法,讲到支持向量机和核方法。第 8 讲和讨论课讲偏差与方差、交叉验证和学习理论,回答模型怎样才能泛化。

第 2 阶段讲决策树、集成方法和神经网络,并用 1 讲专门讨论怎样调试模型、做误差分析。第 3 阶段是无监督学习:K 均值、EM 算法、因子分析、主成分分析(PCA)和独立成分分析(ICA)。第 4 阶段是强化学习:马尔可夫决策过程、值迭代与策略迭代、连续状态问题、线性二次调节(LQR)和策略搜索。

选课学生要完成 5 套习题(PS0–PS4)和 1 个学期项目。习题以数学推导为主,配 Python 编程题。项目分 4 个环节:提案、中期报告、海报展示和终稿。

学完后,学生能独立推导经典机器学习算法,能读懂论文里的数学部分。吴恩达讲课节奏慢,推导完整,常停下来回答学生提问。想要配套文字材料,可以读课程官网的讲义(lecture notes),它和视频的推导顺序一致。

为什么值得学

吴恩达的 CS229 培养了一代机器学习研究者。它的讲义至今仍是推导层面的标准参考。

课程信息

学校
斯坦福(Stanford)
课程号
CS229
讲师
吴恩达(Andrew Ng)
学期
2008 (SEE) / Autumn 2018 (YouTube)
平台
Stanford Engineering Everywhere
费用
免费
难度
中级
学时
20 讲(SEE 版)
先修
需要线性代数、概率论和多元微积分基础,会一门编程语言。
材料
视频、讲义、作业、代码
许可证
CC BY-NC-SA 4.0(SEE 站声明)
去课程主页 ↗看视频 ↗
课程是英文的。本页的介绍、摘要和大纲由极客教育原创撰写,讲次标题为中文意译。开课时间、收费和链接以官方页面为准。

课程大纲 · 共 21 节

大纲依据:Autumn 2018 YouTube 播放列表(20 讲 + 1 节讨论课),对照 cs229.stanford.edu/syllabus-autumn2018.html 课程表(查看原始页面 ↗)

  1. 1
    导论Introduction

    介绍机器学习的定义和课程的 4 大板块:监督学习、学习理论、无监督学习、强化学习。说明作业、项目和先修要求。

  2. 2
    线性回归与梯度下降Linear Regression and Gradient Descent

    定义假设函数和代价函数。推导批量梯度下降、随机梯度下降和正规方程。

  3. 3
    局部加权回归与逻辑回归Locally Weighted & Logistic Regression

    对比参数与非参数学习算法,从概率角度解释最小二乘。引入逻辑回归做分类,并用牛顿法求解。

  4. 4
    感知机与广义线性模型Perceptron & Generalized Linear Model

    讲感知机算法和指数族分布。用广义线性模型统一线性回归、逻辑回归和 softmax 回归。

  5. 5
    高斯判别分析与朴素贝叶斯GDA & Naive Bayes

    对比生成式与判别式学习算法。推导高斯判别分析,并与逻辑回归比较;引入朴素贝叶斯。

  6. 6
    支持向量机Support Vector Machines

    讲朴素贝叶斯的拉普拉斯平滑和多项式事件模型。引入函数间隔与几何间隔,推出最优间隔分类器。

  7. 7
    核方法Kernels

    把支持向量机写成对偶形式。用核技巧处理高维非线性特征,并举手写数字和蛋白质序列分类的例子。

  8. 8
    数据划分、模型选择与交叉验证Data Splits, Models & Cross-Validation

    讲偏差与方差、正则化及其贝叶斯解释。介绍训练集、开发集、测试集的划分,k 折交叉验证和特征选择。

  9. 讨论课
    学习理论Discussion Section: Learning Theory

    讲经验风险最小化和一致收敛。推导泛化误差界,说明模型复杂度和样本量怎样影响泛化。

  10. 9
    决策树与集成方法Decision Trees and Ensemble Methods

    讲决策树的分裂准则和正则化。介绍 bagging、随机森林和 boosting。

  11. 10
    神经网络入门Introduction to Neural Networks

    从逻辑回归过渡到神经网络。讲 softmax、网络结构和前向传播的向量化写法。

  12. 11
    反向传播与神经网络改进Backprop & Improving Neural Networks

    用链式法则推导反向传播。讲激活函数、权重初始化、数据归一化、小批量训练和动量类优化器。

  13. 12
    模型调试与误差分析Debugging ML Models and Error Analysis

    讲怎样判断问题出在高偏差、高方差还是优化算法。用误差分析案例决定下一步改进方向。

  14. 13
    期望最大化算法Expectation-Maximization Algorithms

    讲 K 均值聚类和高斯混合模型,用于密度估计和异常检测。用 Jensen 不等式为 EM 算法做准备。

  15. 14
    EM 算法与因子分析EM Algorithm & Factor Analysis

    推导 EM 算法的通用形式。在样本数少于维度时,用因子分析建模,并给出它的 EM 解法。

  16. 15
    主成分分析与独立成分分析PCA and ICA

    推导主成分分析,讲它的用途和误用场景。引入独立成分分析,解决信号分离问题。

  17. 16
    独立成分分析与强化学习Independent Component Analysis & RL

    完成独立成分分析的推导并举应用例子。回顾无监督学习,引入强化学习和马尔可夫决策过程。

  18. 17
    马尔可夫决策过程与值迭代、策略迭代MDPs & Value/Policy Iteration

    讲价值函数和贝尔曼方程。推导值迭代和策略迭代,并讨论收敛性和探索问题。

  19. 18
    连续状态 MDP 与模型仿真Continuous State MDP & Model Simulation

    讲连续状态空间的离散化及其局限。从数据学习仿真模型,用拟合值迭代近似价值函数。

  20. 19
    奖励模型与线性动态系统Reward Model & Linear Dynamical System

    讲状态—动作奖励和有限时域 MDP。推导线性二次调节(LQR)算法。

  21. 20
    强化学习调试与诊断RL Debugging and Diagnostics

    讲怎样定位强化学习系统的问题:模型、奖励还是策略。介绍策略搜索、REINFORCE 算法和部分可观测 MDP(POMDP)。

斯坦福的其他AI课