机器学习 —— 线性回归(2)

张开发
2026/4/11 18:51:13 15 分钟阅读

分享文章

机器学习 —— 线性回归(2)
上一篇讲到损失函数。https://blog.csdn.net/i_k_o_x_s/article/details/159929680?spm1001.2014.3001.5501如何让损失函数最小呢一、正规方程求解1.求导2.求偏导3.矩阵运算高数内容这篇已大概讲述https://blog.csdn.net/i_k_o_x_s/article/details/159999903?spm1001.2014.3001.55024.概念正规方程是一种有效解决小规模线性回归问题的方法但对于大规模数据集或者特征数量较多的情况可能会遇到计算效率问题。矩阵的逆必须存在否则无法使用正规方程第一个公式假设函数模型公式 -w权重、x特征、b偏置、h预测值第二个公式正规方程求解公式统一符号后的w, x, b, h形式把 θ 直接替换为参数向量 w公式变为原始符号统一后符号含义θw包含偏置 b 的完整参数向量w[b,w1​,w2​,…,wn​]TXX带全 1 列的特征矩阵第一列对应 x0​1用于承载偏置 byym×1 的真实标签向量矩阵 X 的转置矩阵的逆矩阵不可逆时用伪逆步骤 1定义模型用w, x, b, h写预测公式作用定义模型结构说明如何用输入特征 x、权重 w、偏置 b计算预测值 h步骤 2求解最优参数用正规方程求w包含b作用直接计算出最优的 w包含 b让预测值 h尽可能接近真实值 y最小化均方误差步骤 3得到最终模型把求解出的代回步骤 1 的公式就得到了最终的预测模型具体例子假设我们有 3 个样本1 个特征 x1​真实标签 y 如下样本x1​y1122243361. 构造特征矩阵 X带全 1 列2. 用正规方程求 w包含 b3. 代回假设函数得到最终模型完美拟合数据验证了两个公式的一致性。优化:1.不需要选择学习率2.直接计算模型参数的方法而不需要迭代过程。3.不需要对特征进行缩放处理基于最小化代价函数来找到最佳拟合直线的参数缺点数据量大的时候慢。尤其是特征数量很大时候计算逆矩阵非常慢。二、梯度下降法概念沿着梯度下降的方向 求解极小值下山过程连绵不断的山第一座山的最低点极小值点- 第二座山(极小值)-....目标逼近山底。单变量函数中梯度就是某一点的切线斜率有方向为函数增长最快的方向多变量函数中梯度就是某一点的偏导数有方向偏导数分量的向量方向梯度下降公式核心循环迭代求当前点的梯度更新当前的权重参数学习率(步长) 不能太大也不能太小。机器学习中: 0.001 ~ 0.01太大梯度震旦太小太慢梯度是上升最快的方向我们需要是下降最快的方向所以需要加负号单变量梯度下降 – 例子小结经过四次的运算即走了四步基本抵达了函数的最低点什么时候停止满足停止条件1.如果设置了具体迭代次数就停止2.如果满足范围要求 比如θ0.001 - 0.003即停止梯度下降优化过程1.给定初始位置、步长学习率2.计算该点当前的梯度步长3.向该负方向移动步长4.重复2-3步直到收敛设置的满足停止条件有关学习率步长Learning rate1.步长决定了在梯度下降迭代的过程中每一步沿梯度负方向前进的长度2.学习率太小下降的速度会慢3.学习率太大容易造成错过最低点、产生下降过程中的震荡、甚至梯度爆炸梯度下降法分类1.全梯度下降算法 FGD使用全部数据集训练速度较慢。效果比较好2.随机梯度下降算法 SGD简单高效不稳定。SG每次只使用一个样本迭代容易遇上异常数据写入局部最优解3.小批量梯度下降算法 mini-bach 用的比较多结合SG的大单和FG的心细正好居于SG和FG二者之间。证因为它避开了FG运算效率低成本大和SG收敛效果不稳定的缺点。4.随机平均梯度下降算法SAG训练初期表现不佳优化速度较慢。因为常将初始梯度设为0而SAG每轮梯度更新都结合了上一轮梯度值。早期数据量小效率不好。 数据越多效率越好。三、两个方法的比较梯度下降正规方程怎么求 w一步步迭代更新直接矩阵求逆是否需要学习率 α需要要调参不需要特征多 (n 很大)跑得动跑不动求逆太慢特征少 (n 很小)可以用但没必要超快、首选是否缩放特征需要否则不收敛不需要迭代次数需要很多次0 次一步到位适用模型线性 / 逻辑 / 神经网络都能用只能线性回归矩阵不可逆没问题会出问题要用伪逆 / 正则

更多文章