CS229: Machine Learning(草稿)
参考 CS229 Summer 2024,Autumn 2018 视频,Lecture Notes。参考 CMU 10-601 Spring 2023,Spring 2023 视频,Panopto,以及 Mathematical Foundations for ML,Mathematics for Machine Learning。
Linear regression
由 \(n\) 个训练样本组成的训练集,\((\boldsymbol{x}^{i}, y^{i})\) 表示第 \(i\) 个训练样本,\(\boldsymbol{x}^{i}\) 和 \(y^{i}\) 分别表示输入特征(向量)和目标变量。监督学习的目标是给定训练集,找到函数 \(h : \mathcal X \to \mathcal Y\) 使得 \(h(\boldsymbol{x})\) 能够预测 \(y\) 值,该函数被称为假设(hypothesis),其中 \(\mathcal X\) 和 \(\mathcal Y\) 表示输入空间和输出空间。如果目标变量是连续的,则该学习问题被称为回归(regression)问题。如果目标变量是离散的,则该学习问题被称为分类(classification)问题。
LMS algorithm
使用 \(x\) 的线性函数 \(h_{\theta}(\boldsymbol{x})\) 近似 \(y\),其中 \(\theta_{i}\) 是参数(权重),\(d\) 是输入变量的数量(不包括 \(x_{0}\))。\(J(\boldsymbol{\theta})\) 是根据最小二乘法得到的代价函数(cost function),其中系数 \(\frac{1}{2}\) 的目的是简化求导计算,\(n\) 是训练样本数量。
由于梯度方向是函数变化率最大的方向,所以可以使用梯度下降(gradient descent)算法,从某个初始 \(\boldsymbol{\theta}\) 向量开始,不断沿梯度反方向移动直到收敛。每次对所有 \(\theta_{j}\) 执行一下操作,该方法被称为批量梯度下降,其中 \(\alpha\) 是学习率(learning rate)。由于 \(J\) 是凸函数,所以梯度下降总是收敛到全局最小值点(假设学习率不太大)。
由于批量梯度下降每次迭代都需要遍历所有样本,时间复杂度为 \(O(n)\),如果训练集很大则比较耗时。替代方案是使用随机梯度下降,每次迭代使用单个训练样本的梯度更新参数。该方法可能无法收敛到最小值点,而是在最小值点附近振荡,通过在算法运行过程中逐渐将学习率降低至零,能够确保参数收敛到最小值点。
The normal equations
函数 \(f : \mathbb R^{n \times d} \to \mathbb R\) 将 \(n \times d\) 矩阵映射到实数,则函数 \(f\) 对矩阵 \(A\) 的导数如下。假设有 \(n\) 个训练样本,每个训练样本有 \(d\) 个输入变量,则 \(m \times (d + 1)\) 设计矩阵 \(X\) 如下,列数为 \(d + 1\) 是因为有额外的 \(x_{0} = 1\)。经过以下推导得到正规方程 \(X^{T}X\boldsymbol{\theta} = X^{T}\boldsymbol{y}\),通过该方程可以直接求解全局最小值点 \(\theta\),如果 \(X^{T}X\) 可逆的话。
Probabilistic interpretatoin
Locally weighted linear regression (optional reading)
线性回归中所有训练样本的权值都是 \(1\),拟合 \(\boldsymbol{\theta}\) 使 \(\sum_{i}(y^{(i)} - \boldsymbol{\theta^{T}\boldsymbol{x}^(i)})^{2}\) 最小化。局部加权线性回归关注输入特征 \(\boldsymbol{x}\) 附近局部的训练样本,拟合 \(\boldsymbol{\theta}\) 使 \(\sum_{i}w^{(i)}(y^{(i)} - \boldsymbol{\theta}^{T}\boldsymbol{x}^{(i)})^{2}\) 最小化,其中 \(w^{(i)}\) 是非负权重。可以使用以下公式计算权重,其中 \(\tau\) 是带宽(bandwidth)参数,用于控制训练样本的权重随 \(\boldsymbol{x}^{i}\) 到 \(\boldsymbol{x}\) 的距离增大而减小的速度。
局部加权线性回归是非参数算法,而之前的线性回归是参数算法。参数算法有固定且有限数量的参数 \(\boldsymbol{\theta}\),使用训练集拟合参数之后,就不需要使用训练集进行预测。而非参数算法需要保留的用于假设 \(h\) 的训练样本数量随训练集大小的增长而线性增长。
Classification and logistic regression
CS229: Machine Learning(草稿)
https://ligh0x74.github.io/2025/07/13/CS229 Machine Learning/