机器学习:一元线性回归_单变量梯度下降法
摘要本文系统讲解梯度下降算法的核心思想与执行流程从“下山找最低点”的直观类比出发说明梯度下降与正规方程的差异随后给出算法迭代步骤、梯度与更新公式的数学推导并重点分析学习率 α 的取值影响最后通过单变量数值示例演示参数变化过程并简要介绍单变量与多变量梯度下降的应用场景。目录一、 梯度下降算法概述1. 核心思想与直观理解2. 梯度下降 vs 正规方程二、 算法执行步骤迭代过程1. 初始化位置2. 环顾四周与判断3. 寻找最陡方向并移动4. 循环迭代三、 数学原理与公式推导1. 梯度的定义2. 梯度下降更新公式3. 学习率α的作用与取值四、 单变量梯度下降数值示例1. 假设条件设定2. 逐步计算演示3. 收敛特性分析五、 算法分类与应用场景1. 单变量梯度下降2. 多变量梯度下降一、 梯度下降算法概述1. 核心思想与直观理解梯度下降Gradient Descent顾名思义是沿着梯度下降的方向求解目标函数的极小值。下山类比想象站在山坡上寻找最低点。下山最快的方向并非任意方向而是坡度最陡的下坡方向。在数学上该方向对应于函数在该点的负导数方向即梯度的反方向。2. 梯度下降 vs 正规方程正规方程Normal Equation通过直接套用解析公式一步到位到达山底最小值。优点是无需迭代但缺点是在数据量极大或特征矩阵不可逆时无法计算。梯度下降采用迭代逼近的方式一步步向山底移动。初始几步波动较大随着接近底部每次移动的幅度和变化率逐渐减小。只要参数设置合理梯度下降一定能找到最小值且不受矩阵可逆性限制。二、 算法执行步骤迭代过程1. 初始化位置将参数S SS或θ \thetaθ初始化为山体的任意位置即参数的任意初始值。2. 环顾四周与判断在当前位置观察周围若四周的值均高于当前位置则说明已到达局部最低点返回当前值S SS作为结果。3. 寻找最陡方向并移动若存在比当前位置更低的方向则寻找坡度最陡的下坡方向即求负梯度方向。沿此方向移动一个固定距离步长到达新的位置并将新位置更新为当前的S SS。4. 循环迭代重复上述“环顾判断”与“移动更新”步骤直至满足停止条件如所有方向都更高或达到预设迭代次数/误差阈值。三、 数学原理与公式推导1. 梯度的定义单变量函数梯度即为某一点切线的斜率也就是该点的导数。导数方向代表函数值上升最快的方向。多变量函数梯度是由各变量的偏导数组成的向量指向多元函数增长最快的方向。下降方向由于我们需要寻找极小值因此必须沿着梯度的反方向负梯度方向进行更新。2. 梯度下降更新公式θ n e x t θ c u r r e n t − α ⋅ ∂ J ( θ ) ∂ θ \theta_{next} \theta_{current} - \alpha \cdot \frac{\partial J(\theta)}{\partial \theta}θnextθcurrent−α⋅∂θ∂J(θ)θ n e x t \theta_{next}θnext/θ c u r r e n t \theta_{current}θcurrent下一个参数值 / 当前参数值。α \alphaα阿尔法学习率Learning Rate也称为步长控制每次更新的幅度。J ( θ ) J(\theta)J(θ)损失函数Loss Function/Cost Function代表模型预测误差形状类似一座“山”。∂ J ( θ ) ∂ θ \frac{\partial J(\theta)}{\partial \theta}∂θ∂J(θ)损失函数对参数的偏导数表示当前点的梯度大小。公式中的减号体现“沿负梯度方向下坡方向”移动的核心逻辑。3. 学习率α的作用与取值合理范围机器学习实践中通常设置在0.001 ~ 0.01即 1‰ ~ 1%之间。过小步长太短导致收敛速度极慢需要大量迭代次数。过大容易跨越最低点导致梯度震荡甚至梯度爆炸发散无法收敛到最优解。四、 单变量梯度下降数值示例(注以简化假设的单变量函数为例演示迭代过程)1. 假设条件设定损失函数假设J ( θ ) θ 2 J(\theta) \theta^2J(θ)θ2抛物线型最小值在θ 0 \theta0θ0处。起始点θ 0 1 \theta_0 1θ01。学习率α 0.4 \alpha 0.4α0.4。导数计算J ′ ( θ ) 2 θ J(\theta) 2\thetaJ′(θ)2θ。2. 逐步计算演示第 1 步更新θ 1 θ 0 − α ⋅ J ′ ( θ 0 ) 1 − 0.4 × ( 2 × 1 ) 1 − 0.8 0.2 \theta_1 \theta_0 - \alpha \cdot J(\theta_0) 1 - 0.4 \times (2 \times 1) 1 - 0.8 \mathbf{0.2}θ1θ0−α⋅J′(θ0)1−0.4×(2×1)1−0.80.2第 2 步更新θ 2 θ 1 − α ⋅ J ′ ( θ 1 ) 0.2 − 0.4 × ( 2 × 0.2 ) 0.2 − 0.16 0.04 \theta_2 \theta_1 - \alpha \cdot J(\theta_1) 0.2 - 0.4 \times (2 \times 0.2) 0.2 - 0.16 \mathbf{0.04}θ2θ1−α⋅J′(θ1)0.2−0.4×(2×0.2)0.2−0.160.04第 3 步更新θ 3 θ 2 − α ⋅ J ′ ( θ 2 ) 0.04 − 0.4 × ( 2 × 0.04 ) 0.04 − 0.032 0.008 \theta_3 \theta_2 - \alpha \cdot J(\theta_2) 0.04 - 0.4 \times (2 \times 0.04) 0.04 - 0.032 \mathbf{0.008}θ3θ2−α⋅J′(θ2)0.04−0.4×(2×0.04)0.04−0.0320.0083. 收敛特性分析经过短短几次迭代参数值从 1 迅速逼近至 0.008损失函数值已极度接近理论最小值。这验证了梯度下降算法在合理学习率下具有快速收敛的特性。五、 算法分类与应用场景1. 单变量梯度下降严格意义上称为单变量梯度下降主要应用于简单的一元线性回归等单一特征场景。其核心逻辑与图解已在上述步骤中完整呈现。2. 多变量梯度下降当特征维度增加时演变为多变量梯度下降广泛应用于多元线性回归及复杂的神经网络训练中。其底层数学原理与单变量一致仅涉及多维偏导数与向量运算。下期内容预告