美文网首页
机器学习第五课_梯度下降法

机器学习第五课_梯度下降法

作者: 素心似锦 | 来源:发表于2020-03-29 21:09 被阅读0次

机器学习就是需找一种函数f(x)并进行优化, 且这种函数能够做预测、分类、生成等工作。

那么其实可以总结出关于“如何找到函数f(x)”的方法论。可以看作是机器学习的“三板斧”:

第一步:定义一个函数集合(define a function set)

第二步:判断函数的好坏(goodness of a function)

第三步:选择最好的函数(pick the best one)

我们先把目光放在第三步上:How to pick the best one ? 我们的目标是让损失函数最小化。这就引出了下面需要介绍的方法:梯度下降是目前机器学习、深度学习解决最优化问题的算法中,最核心、应用最广的方法。

1、为什么我们需要梯度下降算法:

 如果我们抛开具体场景,仅从数学抽象的角度来看:每个模型都有自己的损失函数,不管是监督式学习还是非监督式学习。损失函数包含了若干个位置的模型参数,比如在多元线性回归中,损失函数:  ,其中向量表示未知的模型参数,我们就是要找到使损失函数尽可能小的参数未知模型参数。

在学习简单线性回归时,我们使用最小二乘法来求损失函数的最小值,但是这只是一个特例。在绝大多数的情况下,损失函数是很复杂的(比如逻辑回归),根本无法得到参数估计值的表达式。因此需要一种对大多数函数都适用的方法。这就引出了梯度算法

首先梯度下降(GradientDescent, GD),不是一个机器学习算法,而是一种基于搜索的最优化方法。梯度下降(GradientDescent, GD)优化算法,其作用是用来对原始模型的损失函数进行优化,以便寻找到最优的参数,使得损失函数的值最小。

要找到使损失函数最小化的参数,如果纯粹靠试错搜索,比如随机选择1000个值,依次作为某个参数的值,得到1000个损失值,选择其中那个让损失值最小的值,作为最优的参数值,那这样太笨了。我们需要更聪明的算法,从损失值出发,去更新参数,且要大幅降低计算次数。

梯度下降算法作为一个聪明很多的算法,抓住了参数与损失值之间的导数,也就是能够计算梯度(gradient),通过导数告诉我们此时此刻某参数应该朝什么方向,以怎样的速度运动,能安全高效降低损失值,朝最小损失值靠拢

2、理解梯度下降算法

 既然是选择一个方向下山,那么这个方向怎么选?每次该怎么走?选方向在算法中是以随机方式给出的,这也是造成有时候走不到真正最低点的原因。如果选定了方向,以后每走一步,都是选择最陡的方向,直到最低点。总结起来就一句话:随机选择一个方向,然后每次迈步都选择最陡的方向,直到这个方向上能达到的最低点。

梯度算法有一个比较致命的问题:

从理论上,它只能保证达到局部最低点,而非全局最低点。在很多复杂函数中有很多极小值点,我们使用梯度下降法只能得到局部最优解,而不能得到全局最优解。那么对应的解决方案如下:首先随机产生多个初始参数集,即多组;然后分别对每个初始参数集使用梯度下降法,直到函数值收敛于某个值;最后从这些值中找出最小值,这个找到的最小值被当作函数的最小值。当然这种方式不一定能找到全局最优解,但是起码能找到较好的。对于梯度下降来说,初始点的位置,也是一个超参数。

总结:

 在机器学习的“三板斧”中,第三步的目标是让损失函数最小化,从而引出了梯度下降法,这一目前机器学习、深度学习解决最优化问题的算法中,最核心、应用最广的方法。所谓梯度下降,是一种基于搜索的最优化方法,其作用是用来对原始模型的损失函数进行优化,找到使损失函数(局部)最小的参数。

首先对梯度下降有一个整体的印象:梯度是向量,是多元函数的导数,指向误差值增加最快的方向。我们沿着梯度的反方向进行线性搜索,从而减少误差值,是为梯度下降。然后我们通过“下山”这样的模拟场景,以及严谨的数据公式推导深刻理解了梯度下降算法,并引出了学习率的概念。最后我们给出了梯度下降方法的不足和改进方法。

相关文章

  • 2020-08-19--梯度下降法01

    梯度下降法简介 多元线性回归中的梯度下降法 随机梯度下降法 梯度下降法 的调试 1.梯度下降法简介 不是一个机器学...

  • 机器学习学习笔记(六)梯度下降法

    基础 (1)梯度下降法本身不是一个机器学习算法 (2)梯度下降法是一种基于搜索的最优化方法 (3)梯度下降法的作用...

  • 如何手写梯度下降法

    梯度下降法是机器学习的一种学习方法。我觉得非常妙。通过一个一维的问题用梯度下降法,理解学习过程是怎样的。 假设g是...

  • 机器学习系列(十四)——梯度下降法Gradient Descen

    梯度下降法 梯度下降法本身不是一个机器学习算法,而是一种基于搜索的最优化方法,它是人工智能领域非常重要的一种方法。...

  • 用人话讲明白梯度下降Gradient Descent(以求解多元

    文章目录1.梯度2.多元线性回归参数求解3.梯度下降4.梯度下降法求解多元线性回归 梯度下降算法在机器学习中出现频...

  • 牛顿下降法和梯度下降法基础

    前言 学习机器学习一直是用梯度下降法的,对于牛顿下降法并没有什么了解,但是小学期同学的一个项目用到了牛顿下降法,同...

  • 4.梯度下降法&&随机梯度下降法

    梯度下降法&&随机梯度下降法 梯度下降法需要计算全量的训练样本的损失函数的均值,然后更新一次权重,学习速度比较慢。...

  • 机器学习第五课_梯度下降法

    机器学习就是需找一种函数f(x)并进行优化, 且这种函数能够做预测、分类、生成等工作。 那么其实可以总结出关于“如...

  • 局部搜索之梯度下降法

    在各种最优化算法中,梯度下降法是最常见的一种,在深度学习的训练中被广为使用。 梯度下降法的场景假设梯度下降法的基本...

  • 机器学习之梯度下降法

    梯度下降法: 如果你不明白梯度和梯度下降的数学含义,请先移步到:机器学习之数学基础 一个通俗易懂的例子: 如上图...

网友评论

      本文标题:机器学习第五课_梯度下降法

      本文链接:https://www.haomeiwen.com/subject/pkqpuhtx.html