2024年11月9日

机器学习

其中 \( g(z) = \frac{1}{1 + e^{-z}} \) 是 sigmoid 函数。

知识库机器学习

第 1 周

1. 引言 (Introduction)

1.1 欢迎
  • 介绍课程目标和内容。
1.2 机器学习是什么?
  • 定义机器学习及其重要性。
  • 机器学习是研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。
1.3 监督学习
  • 介绍监督学习的基本概念,包括参数/非参数算法、支持向量机、核函数、神经网络。
1.4 无监督学习
  • 介绍无监督学习的基本概念,包括聚类、降维、推荐系统、深入学习推荐。

第 2 周

2. 单变量线性回归 (Linear Regression with One Variable)

2.1 模型表示
  • 介绍线性回归模型的数学表示。 hθ(x)=θ0+θ1xh_\theta(x) = \theta_0 + \theta_1 x
2.2 代价函数
  • 介绍代价函数的概念及其作用。 J(θ0,θ1)=12mi=1m(hθ(x(i))y(i))2J(\theta_0, \theta_1) = \frac{1}{2m} \sum_{i=1}^m (h_\theta(x^{(i)}) - y^{(i)})^2
2.3 代价函数的直观理解 I
  • 通过图形解释代价函数的意义。
2.4 代价函数的直观理解 II
  • 进一步解释代价函数的性质。
2.5 梯度下降
  • 介绍梯度下降算法及其原理。 θj:=θjαθjJ(θ0,θ1)\theta_j := \theta_j - \alpha \frac{\partial}{\partial \theta_j} J(\theta_0, \theta_1)
2.6 梯度下降的直观理解
  • 通过图形解释梯度下降的过程。
2.7 梯度下降的线性回归
  • 将梯度下降应用于线性回归。 θ0:=θ0α1mi=1m(hθ(x(i))y(i))\theta_0 := \theta_0 - \alpha \frac{1}{m} \sum_{i=1}^m (h_\theta(x^{(i)}) - y^{(i)}) θ1:=θ1α1mi=1m(hθ(x(i))y(i))x(i)\theta_1 := \theta_1 - \alpha \frac{1}{m} \sum_{i=1}^m (h_\theta(x^{(i)}) - y^{(i)}) x^{(i)}

第 3 周

3. 线性代数回顾 (Linear Algebra Review)

3.1 矩阵和向量
  • 介绍矩阵和向量的基本概念。
3.2 加法和标量乘法
  • 介绍矩阵和向量的加法和标量乘法。
  • 矩阵加法:行列数相等的可以加。
  • 矩阵数乘:每个元素都要乘以标量。
3.3 矩阵向量乘法
  • 介绍矩阵向量乘法的计算方法。
  • ( m \times n ) 的矩阵乘以 ( n \times 1 ) 的向量,得到的是 ( m \times 1 ) 的向量。
3.4 矩阵乘法
  • 介绍矩阵乘法的计算方法。
  • ( m \times n ) 矩阵乘以 ( n \times o ) 矩阵,变成 ( m \times o ) 矩阵。
3.5 矩阵乘法的性质
  • 矩阵的乘法不满足交换律:( A \times B \neq B \times A )
  • 矩阵的乘法满足结合律:( A \times (B \times C) = (A \times B) \times C )
  • 单位矩阵:在矩阵的乘法中,有一种矩阵起着特殊的作用,如同数的乘法中的 1,我们称这种矩阵为单位矩阵。它是个方阵,一般用 I 或者 E 表示,从左上角到右下角的对角线(称为主对角线)上的元素均为 1 以外全都为 0。
  • ( AA^{-1} = A^{-1}A = I )
  • 对于单位矩阵,有 ( AI = IA = A )
3.6 逆、转置
  • 矩阵的逆:如矩阵 A 是一个 ( m \times m ) 矩阵(方阵),如果有逆矩阵,则 ( AA^{-1} = A^{-1}A = I )
  • 矩阵的转置:设 A 为 ( m \times n ) 阶矩阵,第 i 行 j 列的元素是 ( a(i, j) ),即 ( A = a(i, j) )
  • 定义 A 的转置为这样一个 ( n \times m ) 阶矩阵 B,满足 ( B = a(j, i) ),即 ( b(i, j) = a(j, i) )(B 的第 i 行第 j 列元素是 A 的第 j 行第 i 列元素),记 ( A^T = B )。

第 4 周

4. 多变量线性回归 (Linear Regression with Multiple Variables)

4.1 多变量线性回归
  • 介绍多变量线性回归模型。 hθ(x)=θ0+θ1x1+θ2x2++θnxnh_\theta(x) = \theta_0 + \theta_1 x_1 + \theta_2 x_2 + \ldots + \theta_n x_n
4.2 多特征
  • 介绍如何处理多个特征。
  • ( n ) 代表特征的数量
  • ( x^{(i)} ) 代表第 i 个训练实例,是特征矩阵中的第 i 行,是一个向量(vector)。
  • ( x_j^{(i)} ) 代表特征矩阵中第 i 行的第 j 个特征,也就是第 i 个训练实例的第 j 个特征。
4.3 特征缩放
  • 介绍特征缩放的方法及其重要性。
  • 特征缩放有助于加快梯度下降的收敛速度。
4.4 学习率
  • 介绍学习率的选择及其影响。
  • 选择合适的学习率对梯度下降的收敛速度至关重要。
4.5 特征和多项式回归
  • 介绍如何使用多项式回归。
  • 通过增加多项式特征,可以提高模型的拟合能力。
4.6 正规方程
  • 介绍正规方程及其与梯度下降的对比。
  • 正规方程可以直接求解最优参数,无需迭代。 θ=(XTX)1XTy\theta = (X^T X)^{-1} X^T y

第 5 周

5. 逻辑回归 (Logistic Regression)

5.1 分类
  • 介绍分类问题的基本概念。
5.2 假设表示
  • 介绍逻辑回归的假设表示。 hθ(x)=g(θTx)h_\theta(x) = g(\theta^T x) 其中 ( g(z) = \frac{1}{1 + e^{-z}} ) 是 sigmoid 函数。
5.3 决策边界
  • 介绍决策边界的概念。
  • 决策边界是模型预测类别变化的分界线。
5.4 代价函数
  • 介绍逻辑回归的代价函数。 J(θ)=1m[i=1my(i)log(hθ(x(i)))+(1y(i))log(1hθ(x(i)))]J(\theta) = -\frac{1}{m} \left[ \sum_{i=1}^m y^{(i)} \log(h_\theta(x^{(i)})) + (1 - y^{(i)}) \log(1 - h_\theta(x^{(i)})) \right]
5.5 简化代价函数和梯度下降
  • 介绍简化后的代价函数及其梯度下降算法。 θj:=θjαθjJ(θ)\theta_j := \theta_j - \alpha \frac{\partial}{\partial \theta_j} J(\theta)
5.6 高级优化算法
  • 介绍高级优化算法,如共轭梯度、BFGS、L-BFGS。
5.7 多类分类:一对多
  • 介绍多类分类问题及其解决方法。
  • 通过一对一或多对一的方法实现多类分类。

第 6 周

6. 机器学习系统的设计 (Machine Learning System Design)

6.1 误差分析
  • 介绍误差分析的重要性和方法。
  • 通过误差分析可以发现模型的不足之处。
6.2 评估指标
  • 介绍常用的评估指标,如准确率、查准率、查全率。
  • 准确率:( \text{Accuracy} = \frac{\text{TP} + \text{TN}}{\text{TP} + \text{FP} + \text{FN} + \text{TN}} )
  • 查准率:( \text{Precision} = \frac{\text{TP}}{\text{TP} + \text{FP}} )
  • 查全率:( \text{Recall} = \frac{\text{TP}}{\text{TP} + \text{FN}} )
6.3 类偏斜的误差度量
  • 介绍处理类偏斜问题的方法。
  • 通过调整阈值或使用 F1 分数来处理类偏斜问题。
6.4 查准率和查全率之间的权衡
  • 介绍查准率和查全率之间的权衡及 F1 分数。
  • F1 分数:( F1 = 2 \cdot \frac{\text{Precision} \cdot \text{Recall}}{\text{Precision} + \text{Recall}} )
6.5 机器学习的数据
  • 介绍数据在机器学习中的重要性及如何获取和处理数据。
  • 数据的质量和数量对模型性能有重要影响。

第 7 周

7. 支持向量机 (Support Vector Machines)

7.1 优化目标
  • 介绍支持向量机的优化目标。
  • 最大化间隔,找到最优超平面。
7.2 L1 和 L2 正则化
  • 介绍 L1 和 L2 正则化及其在支持向量机中的应用。
  • L1 正则化可以产生稀疏解,L2 正则化可以防止过拟合。
7.3 核函数
  • 介绍核函数的概念及其在支持向量机中的作用。
  • 核函数可以将低维数据映射到高维空间,从而实现非线性分类。
7.4 多类分类
  • 介绍多类分类问题及其解决方法。
  • 通过一对一或多对一的方法实现多类分类。
7.5 SVM 实践
  • 介绍支持向量机的实际应用及注意事项。
  • 选择合适的核函数和参数对 SVM 性能至关重要。

第 8 周

8. 无监督学习 (Unsupervised Learning)

8.1 聚类
  • 介绍聚类的基本概念及 K-means 算法。
  • K-means 算法通过迭代优化聚类中心,将数据点分配到最近的聚类中心。
8.2 应用
  • 介绍聚类在图像压缩、协同过滤等领域的应用。
8.3 降维
  • 介绍降维的基本概念及 PCA 算法。
  • PCA 通过投影数据到低维空间,保留数据的主要信息。
8.4 数据可视化
  • 介绍如何使用降维技术进行数据可视化。
  • 通过降维将高维数据投影到二维或三维空间,便于可视化。
8.5 选择主成分的数量
  • 介绍如何选择主成分的数量。
  • 选择主成分的数量以保留大部分方差为目标。

第 9 周

9. 异常检测 (Anomaly Detection)

9.1 问题动机
  • 介绍异常检测的基本概念及应用场景。
  • 异常检测用于发现数据中的异常点。
9.2 高斯分布
  • 介绍高斯分布及其在异常检测中的应用。
  • 高斯分布可以用来建模正常数据,检测偏离正常范围的数据点。
9.3 异常检测算法
  • 介绍异常检测算法的具体实现。
  • 通过计算数据点的概率密度,判断是否为异常点。
9.4 开发和选择合适的特征
  • 介绍如何开发和选择合适的特征。
  • 选择合适的特征可以提高异常检测的准确性。
9.5 多变量高斯分布
  • 介绍多变量高斯分布及其在异常检测中的应用。
  • 多变量高斯分布可以建模多个特征的联合分布。

第 10 周

10. 推荐系统 (Recommender Systems)

10.1 问题动机
  • 介绍推荐系统的基本概念及应用场景。
  • 推荐系统用于向用户推荐感兴趣的内容。
10.2 协同过滤
  • 介绍协同过滤算法的基本原理。
  • 协同过滤通过用户的历史行为数据,预测用户对未评分项目的偏好。
10.3 协同过滤算法
  • 介绍协同过滤算法的具体实现。
  • 通过矩阵分解等方法,找到用户和项目的隐含特征。
10.4 基于内容的推荐
  • 介绍基于内容的推荐系统。
  • 基于内容的推荐系统通过分析项目的内容特征,推荐相似的项目。
10.5 推荐系统的实践
  • 介绍推荐系统的实际应用及注意事项。
  • 选择合适的推荐算法和数据预处理方法对推荐系统的性能至关重要。

第 11 周

11. 大规模机器学习 (Large Scale Machine Learning)

11.1 随机梯度下降
  • 介绍随机梯度下降算法及其优点。
  • 随机梯度下降每次只使用一个样本更新参数,计算效率高。
11.2 小批量梯度下降
  • 介绍小批量梯度下降算法及其应用。
  • 小批量梯度下降每次使用一小批样本更新参数,平衡计算效率和稳定性。
11.3 在线学习
  • 介绍在线学习的基本概念及应用场景。
  • 在线学习通过实时更新模型参数,适应不断变化的数据。
11.4 地图归约和并行化
  • 介绍地图归约和并行化技术在大规模机器学习中的应用。
  • 通过并行化处理大量数据,提高计算效率。

第 12 周

12. 应用实例 (Application Example: Photo OCR)

12.1 问题动机
  • 介绍照片 OCR 的基本概念及应用场景。
  • 照片 OCR 用于从照片中提取文字信息。
12.2 问题分解
  • 介绍如何将复杂问题分解为子问题。
  • 通过将问题分解为多个子任务,逐步解决复杂问题。
12.3 选择合适的特征
  • 介绍如何选择合适的特征。
  • 选择合适的特征可以提高模型的性能。
12.4 实现细节
  • 介绍实现细节及注意事项。
  • 通过详细的实现步骤,确保模型的正确性和高效性。

第 13 周

13. 课程总结 (Course Summary)

13.1 课程回顾
  • 回顾整个课程的主要内容。
13.2 未来方向
  • 介绍机器学习的未来发展方向及建议。
  • 机器学习将继续在各个领域发挥重要作用,建议继续学习和探索新的技术和方法。