该程序完整实现了梯度下降算法(仅支持批量梯度下降)的核心逻辑,并通过可视化手段直观展示了优化过程,适合用于教学演示和算法理解。
梯度计算
gradient = (1/m) * X.T @ (X @ theta - y)
- 使用矩阵运算高效计算梯度
- 公式推导:∇J(θ) = (1/m) Xᵀ(Xθ - y)
参数更新
theta = theta - self.lr * gradient
- 标准梯度下降更新规则
- 学习率控制步长
收敛检测
if abs(loss_history[-1] - los