机器学习概念:梯度下降

0. 前言

机器学习中大部分都是优化问题,大多数的优化问题都可以使用梯度下降/上升法处理,所以,搞清楚梯度算法就非常重要

学习梯度,需要一定的数学知识:导数(Derivative)、偏导数(Partial derivative)和方向导数(Directional derivative)。

1. 导数

一张图看懂,导数与微分:

2. 偏导数

3. 方向导数

4. 梯度

梯度的定义如下:

梯度的存在,为了回答一个问题:

函数在变量空间的某一点处,沿着哪一个方向有着最大的变化率

梯度的文字定义如下:

函数在某一点的梯度是这样一个向量,它的方向与取得最大方向导数的方向一致,它的模为方向导数的最大值。

注意

  • 梯度是一个向量,有方向有大小
  • 梯度的方向是最大方向导数的方向
  • 梯度的值的最大方向导数的值

梯度即函数在某一点最大的方向导数,函数沿梯度方向,函数的变化率最大。

5. 梯度下降法

既然在变量空间的某一点处,函数沿梯度方向具有最大的变化率,那么在优化目标函数的时候,自然是沿着负梯度方向去减小函数值,来达到我们的优化目标

如何沿着负梯度方向减小函数值呢?因为梯度是偏导数的集合,如下:

由于梯度和偏导数均为向量,由向量的运算法则可知,我们在每个变量轴上减小对应的变量值即可,梯度下降算法可描述为:

Repeat { ​ $x_0:=x_0-\alpha\frac{\partial f}{\partial x_0}$ ​ $\cdots$ ​ $x_j:=x_j-\alpha\frac{\partial f}{\partial x_j}$ ​ $\cdots$ ​ $x_n:=x_n-\alpha\frac{\partial f}{\partial xn}$ ​ $\cdots$ }

由这个可以很清楚的了解梯度下降的过程,类似人在高山上,如何快速下山

  1. 寻找下降速度最快的方向
  2. 向下走
  3. 循环步骤1和步骤2, 直到到达最小值(山底)

在这里,我们还需要了解几个概念:

6. 梯度下降算法详细

梯度下降算法可以有代数法和矩阵法(也称向量法)

相比于代数法,矩阵法更加简洁,这里就不介绍代数法了,感兴趣的读者可以阅读:

[梯度下降(Gradient Descent)小结]

梯度下降算法的矩阵法

这里需要一定的矩阵 求导 知识

首先我们需要确定优化模型的假设函数和损失函数,对于线性回归来说:

假设函数:

损失函数:

算法过程:

8. 梯度下降法和其他无约束优化算法的比较

 在机器学习中的无约束优化算法,除了梯度下降以外,还有前面提到的最小二乘法,此外还有牛顿法和拟牛顿法。

梯度下降法和最小二乘法相比,梯度下降法需要选择步长,而最小二乘法不需要。梯度下降法是迭代求解,最小二乘法是计算解析解。如果样本量不算很大,且存在解析解,最小二乘法比起梯度下降法要有优势,计算速度很快。但是如果样本量很大,用最小二乘法由于需要求一个超级大的逆矩阵,这时就很难或者很慢才能求解解析解了,使用迭代的梯度下降法比较有优势。

梯度下降法和牛顿法/拟牛顿法相比,两者都是迭代求解,不过梯度下降法是梯度求解,而牛顿法/拟牛顿法是用二阶的海森矩阵的逆矩阵或伪逆矩阵求解。相对而言,使用牛顿法/拟牛顿法收敛更快。但是每次迭代的时间比梯度下降法长。

本周学校准备一次贝叶斯的报告,比较忙,所以这里没有进行Python实践(待补) 之前的文章Logistic 回归算法及Python实现里面有梯度上升算法的实现

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数值分析与有限元编程

雅可比矩阵(二)

假设在物理坐标系中由曲线y=x,y=3x,xy=1,xy=5围成一个单元区域D。如图所示: ? 四个点的坐标分别为 ? 要求该区域的面积,常规的做法是在默认的...

3114
来自专栏人工智能LeadAI

TensorFlow从1到2 | 第四章: 拆解CNN架构

上一篇 《TensorFlow从1到2 | 第三章: 深度学习革命的开端:卷积神经网络》 快速回顾了CNN的前世今生。 本篇将拆开CNN架构,一探究竟。 ? 基...

3617
来自专栏开心的学习之路

神经网络体系搭建(二)——深度学习网络

本篇是神经网络体系搭建的第二篇,解决体系搭建的深度学习网络相关问题,详见神经网络体系搭建(序) 深度学习是一个已经被说烂了的词,几乎说起人工智能,非专业人士也会...

38410
来自专栏IT派

手把手教你使用TensorFlow生成对抗样本 | 附源码

摘要: 本文使用TensorFlow一步一步生成对抗样本,步骤明确清晰。首先生成的对抗样本不具有旋转鲁棒性,后面使用同样的方法生成具有鲁棒性的对抗样本,适合初学...

6765
来自专栏CreateAMind

PPGN即插即用GAN:Ian Goodfellow推荐的最新模型 视频+多图

PPGN 整合了对抗训练、cnn特征匹配、降噪自编码、Langevin采样;在NIPS2016得到了Ian Goodfellow的介绍.

982
来自专栏技术沉淀

逻辑回归(NN Mindset)

1555
来自专栏大数据挖掘DT机器学习

多种贝叶斯模型构建及文本分类的实现

多种贝叶斯模型构建及文本分类的实现 当前数据挖掘技术使用最为广泛的莫过于文本挖掘领域,包括领域本体构建、短文本实体抽取以及代码的语义级构件方法研究。常用的数据...

2313
来自专栏AI科技评论

学界丨反向传播算法最全解读,机器学习进阶必看!

AI 科技评论按:如果对人工智能稍有了解的小伙伴们,或多或少都听过反向传播算法这个名词,但实际上BP到底是什么?它有着怎样的魅力与优势?本文发布于 offcon...

4335
来自专栏派树AI

Machine Learning笔记——多变量线性回归

在之前的单变量线性回归问题中,我们是通过房屋的大小来作为预测房屋价格。但是我们知道了很多其他的变量,例如卧室的数量,楼层的数量,房子的年龄等。

860
来自专栏文武兼修ing——机器学习与IC设计

YOLOv2与YOLOv3学习笔记基本思路模型训练YOLOv3

3.7K5

扫码关注云+社区