梯度下降回归(梯度下降回归是是什么)

梯度下降回归(梯度下降回归是是什么)svg xmlns http www w3 org 2000 svg style display none svg

大家好,我是讯享网,很高兴认识大家。



 <svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path> </svg> <p></p> 

讯享网


本文使用随机梯度下降,进行线性回归参数估计,多项式回归请参考多项式回归——梯度下降


梯度下降是迭代法的一种,可以用于求解最小二乘问题(线性和非线性都可以)。在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一,另一种常用的方法是最小二乘法。在求解损失函数的最小值时,可以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数和模型参数值。反过来,如果我们需要求解损失函数的最大值,这时就需要用梯度上升法来迭代了。在机器学习中,基于基本的梯度下降法发展了两种梯度下降方法,分别为随机梯度下降法和批量梯度下降法。

代码如下(示例):

讯享网

代码如下(示例):

 

该处使用的自定义数据集。


讯享网

3.1初始参数

代码如下(示例):

讯享网

3.2计算最优参数

代码如下(示例):

 

3.3计算训练集和测试集误差

代码如下(示例):

讯享网

3.4评价模型

在这里插入图片描述

代码如下(示例):

 

3.4输出结果并显示图像

代码如下(示例):

讯享网

运行实现
在这里插入图片描述
结果分析:
没有跑出**结果。在循环0~次时训练集总误差下降明显,在次之后基本上在2.0上下浮动,出现此状况可能的原因有两个:1、训练结束的条件——训练集总误差的阈值选取有问题,本次程序代码中的训练集总误差阈值设置为1。2、评判模型有问题,我采用的是将目前得到的w,b带入到回归直线中计算。

对原因1改进,将阈值设置为2
运行实现
在这里插入图片描述
在这里插入图片描述

结果分析:证明我们第一次选取的阈值并不合理。该回归线对于测试集的最后一个点的拟合效果并不好,但由于测试集样本太少,也并不能说明此次拟合的直线并不好,通过计算训练样本误差之和小于2

对原因1改进,将阈值设置为1.5, 步长设置为0.0002
运行实现:
在这里插入图片描述
在这里插入图片描述

结果分析:采用更小阈值和更大的步长,发现当步长增大时,训练集样本的总误差更小,所以在阈值设为2时陷入了局部最优解。


以上主要是进行了梯度下降的实现,具体的最优步长,阈值选择仍需要继续研究。

小讯
上一篇 2025-05-11 10:00
下一篇 2025-05-04 18:17

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/163432.html