线性回归试图学习一个线性函数来拟合数据,是最简单但也最常用的回归模型。 给定数据集 D,线性回归试图学到一个函数来映射输入和输出的关系:
f(x) = wx + b
其中 w 是权重(斜率),b 是偏置(截距)。 我们的目标是找到最优的 w 和 b,使得预测值 f(x) 尽可能接近真实值 y。
我们使用均方误差(Mean Squared Error)来衡量模型的好坏:
L(w, b) = (1/n) Σ (yᵢ - f(xᵢ))²
通过令损失函数的导数为0,可以直接求出解析解(闭式解)。
手动调整参数观察拟合效果,或点击 '梯度下降训练' 观看算法自动寻找最优解。红色线段表示预测误差(残差),损失函数就是所有残差平方的平均值。
当前模型:
y = 2.00x + 1.00
训练数据点
当前拟合线
预测误差(残差)
💡 提示:手动调整斜率和截距,观察损失函数的变化。点击"梯度下降训练"观看算法自动寻找最优解的过程。
梯度下降是机器学习中最重要的优化算法。它的核心思想非常直观:沿着函数下降最快的方向(负梯度方向)移动, 逐步逼近最优解。
θ (theta)
待优化的参数
α (alpha)
学习率(步长)
∂L/∂θ
损失函数的梯度
调整学习率和初始位置,观察优化过程。红色虚线表示当前的梯度方向(损失函数的切线),紫色路径显示参数的更新轨迹。
更新规则: x ← x - α·∂L/∂x
损失函数 L(x) = (x-2)² + 1
当前参数位置
当前梯度方向(切线)
优化轨迹
探索不同损失函数的三维形状,观察梯度下降在3D空间中的优化轨迹。拖拽旋转视角,体验从简单凸优化到复杂地形的挑战。
最简单的凸优化问题,全局最优解在原点
动手实现简单的梯度下降算法,加深对优化过程的理解。
完成 gradient_descent 函数,使用梯度下降优化二次函数 f(x) = x²
最终 x 值: 0.000000 最终 f(x) 值: 0.000000 优化路径长度: 21 (期望结果:x 应该收敛到 0 附近)
尽管名字里有 "回归",但逻辑回归实际上是一个分类算法。 它通过 Sigmoid 函数将线性模型的输出映射到 (0, 1) 区间,表示样本属于正类的概率。
其中 z = w₁·x₁ + w₂·x₂ + ... + b(线性组合)
z → +∞
σ(z) → 1
z = 0
σ(z) = 0.5
z → -∞
σ(z) → 0
当 σ(z) = 0.5 时,即 z = 0,这就是决策边界。 对于二维特征空间,决策边界是一条直线:w₁·x₁ + w₂·x₂ + b = 0。 这条线将空间划分为两个区域,分别对应两个类别。
调整权重和偏置参数,观察决策边界如何移动。背景颜色表示分类概率:蓝色表示倾向于正类,红色表示倾向于负类。白色虚线是 P=0.5 的决策边界。
决策边界方程:
1.00·x₁ + 1.00·x₂ + 0.00 = 0
准确率
σ(z) = 1 / (1 + e⁻ᶻ)
其中 z = w₁·x₁ + w₂·x₂ + b
输出范围: (0, 1)
决策阈值: 0.5
正类样本 (label = 1)
负类样本 (label = 0)
决策边界 (P = 0.5)
🎨 背景颜色表示分类概率:红色区域倾向于类别0,蓝色区域倾向于类别1。 调整参数观察决策边界如何移动。
正则化通过在损失函数中添加惩罚项来限制模型复杂度,防止过拟合。 两种最常用的正则化方法是 L1 和 L2 正则化。
λ 控制正则化的强度:
在参数空间中,L2 正则化的约束区域是一个圆(或高维的球)。 损失函数等高线与圆的切点通常不在坐标轴上,所以权重不会变成 0。
L1 正则化的约束区域是菱形(或高维的超菱形)。 等高线更容易在菱形的顶点(坐标轴)处相交,导致某些权重精确为 0。
✓线性回归通过最小化均方误差学习线性函数,可用解析解或梯度下降求解
✓梯度下降是核心的优化算法,沿负梯度方向迭代更新参数
✓学习率是关键超参数,需要仔细调整以平衡收敛速度和稳定性
✓逻辑回归使用 Sigmoid 函数将线性输出映射为概率,用于二分类问题
✓正则化(L1/L2)通过惩罚项控制模型复杂度,防止过拟合
✓L1 倾向于稀疏解(特征选择),L2 倾向于权重衰减