梯度下降法求解非线性方程组,梯度下降法解线性方程组

  梯度下降法求解非线性方程组,梯度下降法解线性方程组

  博客明星评选

  个人主页:@电脑魔术师作者简介:CSDN内容合伙人,全栈领域优质创作者。

  推荐一个求职神器网站:Niuke.com 笔试题库面试经验实习招聘推送

  如果没有账号,点击链接跳转到牛科。com,登录注册,开始刷题库。我们快点过海关面试吧。

  这篇文章包含一个专栏-机器学习-

  @ toc

  法方程法(最小二乘法)和梯度下降法都是求解线性回归最优参数的方法,但不同的是法方程法只需要一步就可以得到代价函数的最优点,而梯度下降法是迭代下降。看起来法方程法要好得多,但实际更多的场景使用的是梯度下降法。这里我们介绍这两种算法及其优缺点。

  1.梯度下降1.1用最简单的线性方程解释一个参数,然后推广到多个参数的方程,这是典型的房价预测问题。

  我们假设其数据模型是线性回归模型,方程如下

  =

  我们希望能得到参数,使方程更好地拟合数据。梯度下降法是通过最小化代价函数来获得最优参数或局部最优参数。

  价值函数

  成本是实际数据和数学模型(这里是一维方程)预测的差值的平方和的平均值,(这里是真实预测值)。

  =(成本函数方程)如:

  蓝线的长度就是成本函数。可以看出,代价函数越大,拟合效果越差,代价函数越小,拟合效果越好。

  等式(左)之和的成本函数(右)如下:

  可以看出,方程越拟合数据,代价函数越小。当成本函数值为0时,回归方程完全符合数据。这时候我们要做的就是让成本函数变小。

  (后面说的正规方程解法就是直接让代价函数为0,求解参数)

  1.2梯度下降核心方程的迭代解

  =-

  其中是学习率和成本函数的偏导数。由于只有一个参数(一阶),这里的方程也可以表示为(即求导数)。

  解释原理

  当代价函数区间单调递增时,如下图所示(红线标注),

  此时(即的斜率)大于0,则=-减去一个正数,向左退(接近代价函数的最小值),如图(蓝线标注)代价函数的值域单调递减时。此时=-减去一个负数,向右退(接近代价函数的最小值)。

  1.3学习率有时候,当我们的迭代方程下降时,可能会很慢,需要很多步(需要很长时间)才能达到局部最优或全局最优,如下图:

  这时候学习率的作用就是调整步长,让它更快的下降到局部最优或者全局最优。

  注意:

  根据数据调整,

  太大了,太大了,跳到对面去了,和想要的结果相反,如图。

  设置太小,步长太小,所以设置也是一个细节1.4两个参数,两个参数,方程是

  =

  迭代求解方程(注意:参数同步更新,你的腿只能走一步)

  =-=-此时的代价函数如下图所示(是一个碗,像参数的图像一样是一个凹函数)

  为了更好的理解,我们可以画出它的等高线。

  目标是求轮廓中心或碗底,即最小化代价函数。

  1.5多个参数在问题案例中,往往有一个参数。

  这个时候成本方程就是关于多个参数的,如图。

  迭代求解方程(注意:参数同步更新,你的腿只能走一步)

  =-=-=-

  .

  =-

  也可以看出梯度下降迭代有两个最优结果(其他情况下可能有多个),

  整个迭代过程可以形象地理解为你在山顶,你需要找到最快的下山路线。山脚是你的目标位置,也就是代价函数最小。

  1.6数据标准化的梯度下降在量化程度上是不同的。如果数据范围分别为[0~1000,0 ~5]或[-0.00004 ~ 0.0002,10 ~ 30],那么在使用梯度下降算法时,它们的等高线是一条窄而高的等高线,如下图所示:

  在梯度下降算法中,参数更新会如上图那样左右波动,收敛较慢,所以我们需要对特征-数据标准化进行缩放。

  详见文章。

  【机器学习】梯度下降的数据标准化

  二、正规解对于正规解,一般的例子是计算代价函数的偏导数,使其为0就可以直接计算出最优参数,但多数情况下是多维向量(即有多个参数)。此时,成本函数是一个多维向量的函数,所以如果需要从到的值,则对应的偏导数(i=1,2,3,4.)被计算并使之为0。

  假设有M个数据,每个数据有如下N个特征方程:

  这里是矩阵,由每一行的向量转置组成(列向量,维数为特征N),即任意行的每一列都是它的特征。

  矩阵与下面的矩阵A相同:

  这里,表示第一个数据的第一个特征值,简化为

  第一行是n维向量的转置。

  原理讲解视频:

  [线性回归]正规方程(最小二乘法)]

  因为法方程是直接求解的,不需要巧妙迭代,“下坡”,所以不需要对特征进行尺度化(比如梯度下降需要数据标准化)。

  2,1使用场景及优缺点假设我们有M个数据集,N个特征。

  梯度下降的缺点:首先,你需要提前设置好学习速率,并进行调试。这无疑是一项额外的工作,你需要尝试不同的学习速度。

  梯度下降的缺点:下降需要多次迭代,计算可能较慢x

  正规解的缺点:梯度学习对于大数据量也能很好的运行,而且在这个解正规方程的步骤中,它的维数是x的特征维数,由于计算矩阵的逆矩阵的时间复杂度,当特征维数很大时,计算机运行时间很长。

  综上所述,可以看出它们的适用场景与数据大小不同,那么我们如何定义数据是‘大’还是‘小’呢?吴恩达老师给出了一个更好的范围:

  N 10000=梯度下降N 10000=正常解

  但也不是绝对的判断,要看情况。

  2.2法方程(不可逆性)*所选读数方阵中两维之间存在线性变换关系,导致方阵的不满足秩N(特征数)与M(样本数)相比过大,导致齐次方程Ax=0。这些不可逆矩阵称为奇异矩阵,当逆矩阵不存在时,我们求的逆矩阵就是伪逆矩阵。

  事实上,我们的情况对应于以下情况

  比如房价预测中的特征值多一些,这个特征值与所有特征值线性相关,也就是上面提到的第一种情况发生在特征值n=数据集个数m的时候,比如10个数据集,每个数据集有100个特征,那么我们要求的是101维向量,10个样本太少,那么得到的结果就偏离了真实值。对应以上情况2,此时可以减去一些特征或者使用正则化方法(。

  电脑魔术师原创作品,

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: