当前位置:网站首页 > 回归测试 > 正文

使用梯度下降方法实现线性回归算法(使用梯度下降方法实现线性回归算法的步骤)



目录

前言

1. 什么是线性回归? 

2. 梯度下降法

2.1 类比

2.2 梯度下降

2.3 代价函数

3. 具体实现

3.1.梯度下降法

4. 总结

参考文献


随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习入门算法之一——梯度下降法的基础内容。

在统计学中,线性回归(Linear Regression)是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。这种函数是一个或多个称为回归系数的模型参数的线性组合。只有一个自变量的情况称为简单回归,大于一个自变量情况的叫做多元回归。这是百度百科给出的定义。

具体可以理解成:给定一个点集,用一条线,来拟合这些点,并且使得点集与拟合函数间的误差最小。如果这个函数曲线是一条直线,那就被称为线性回归,如果曲线是一条二次曲线,就被称为二次回归。线性回归是监督学习中的两类问题——1.回归问题  2.分类问题,中回归问题之一。

其中拟合的含义:用函数来表示给定点集中的数据,使其误差在某种度量意义下最小,并不要求完全经过数据点。形象地说,就是将给定点,用一条光滑的曲线连接起来。


梯度下降法是机器学习入门算法之一,其主要目的就是求函数的极小值点,为什么要求极小值点请看2.3代价函数。

2.1 类比

梯度下降法的基本思想可以类比成一个下山的过程,例如:当一个人被困在山上,且无法判断下山路径,怎样才能最快下山呢?这时就可以用梯度下降法,首先以自己当前的位置为基准,找到最陡峭的下山方向,沿着这个方向走一个步长,然后继续上一步骤,每次都走最陡峭的下山方向,这样就可以实现最快下山了。具体过程见下图:

这里有一个步长的概念,在深度学习中步长又叫学习率,在上面下山的例子中就是每次走的方向和距离,而深度学习中的学习率(Learning Rate)是一个至关重要的超参数,它决定了模型在训练过程中更新权重参数的速度与方向。步长既不能太快也不能太慢,太快可能会导致错过最低点,太慢则会消耗大量时间。

2.2 梯度下降

类比上面的下山问题,我们可以将某个可导函数看成山,梯度就是函数的导数,下山就是找到函数的最小值,所以我们要找到当前点的梯度,再朝梯度反方向走(这里为什么是逆梯度方向下降最快可以参考,其实梯度方向就是函数上升最快的方向,逆梯度方向即函数下降最快方向),使得函数下降最快,重复这个过程直到达到最小值。

2.3 代价函数

在介绍代价函数前,我们先要了解机器学习中的监督学习过程。这里用一个推算房价的例子给出定义:所谓监督学习就是我们给算法一个训练集,其中每个数据都包含“正确答案”,例如下图-1我们给了每个房子size所对应的实际房价,算法的目的就是给出更多的size对应的房价

图-1

监督学习过程如下图:

当我们通过假设函数(Hypothesis function)拟合给定点集中的数据时,我们要做的就是使得代价函数尽可能小,也就是求代价函数的最小值,这里的代价函数又被称为误差函数,具体定义如下:

其中,

,此为假设函数,我们要求的就是求假设函数中的未知量  

因为假设函数有两个参数,所以代价函数也有有两个参数,是一个碗状的3D曲面图,我们的目的就是找到该图的最低点所对应的


3.1.梯度下降法

 

这里是一个简单的例子,需要选择适当的学习率和迭代次数,上述代码的学习率比较小,所以需要迭代较多次才能接近准确值。我们也可以选择将学习率调大,以此减少迭代次数。

但学习率较大或者较小都不是很好,较大可能会错过最小值,较小则需要进行多次迭代,消耗时间。因此选择合适的学习率是关键。


本文仅简单介绍了监督学习含义和梯度下降法的基本内容,作为机器学习入门算法之一,梯度下降法在很多方面都有应用。


到此这篇使用梯度下降方法实现线性回归算法(使用梯度下降方法实现线性回归算法的步骤)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

  • 上一篇: 梯度下降回归(梯度下降回归模型)
  • 下一篇: 没有了
  • 版权声明


    相关文章:

  • 梯度下降回归(梯度下降回归模型)2025-05-11 12:54:09
  • 梯度下降回归(梯度下降回归推导)2025-05-11 12:54:09
  • 【高考志愿】军制学2025-05-11 12:54:09
  • python系列文章(基础,应用,后端,运维,自动化测试,爬虫,数据分析,可视化,机器学习,深度学习系列内容)_python系列文章(基础,应用,后端,运维,自动化测试,爬虫,数据分析,可视化,机器学习,深度学习系列内容)2025-05-11 12:54:09
  • 回归测试详解(定义&目的、策略以及什么叫做回归等)_回归测试的定义是什么2025-05-11 12:54:09
  • 如何做好回归测试_回归分析需要做哪些检验2025-05-11 12:54:09
  • 十分钟了解回归测试_回归测试是啥意思2025-05-11 12:54:09
  • 什么是回归测试_软件测试类型有哪些2025-05-11 12:54:09
  • 十分钟理解回归测试(Regression Testing)_回归测试是什么2025-05-11 12:54:09
  • 软件测试---冒烟测试和回归测试_软件测试冒烟测试和回归测试哪个好2025-05-11 12:54:09
  • 全屏图片