用Excel体验梯度下降法

公众号后台回复“图书“,了解更多号主新书内容

作者:气象学渣

来源:气象学渣

梯度下降法是目前神经网络训练过程中最为核心的算法之一,配合链式求导可实现误差在神经网络中的反向传播,更新参数,优化模型。由于大部分深度学习框架事先将其进行了封装,使其使用起来变得相当方便。

但这也直接导致了我们对其原理与实现过程缺乏直观的感受,本篇借助Excel实现梯度下降法求解二元线性方程,并绘图呈现优化过程,以进一步加深理解。

---— 1.基础知识 —---

整个求解过程与神经网络相似:选择一个合适的损失函数,通过学习大量样本,不断优化模型参数,逐渐'猜测'出样本特征与样本标签之间的关系与规律,使得模型输出与标签之间的损失最小。

那么该怎么猜,随机瞎猜肯定不是这么回事儿,神经网络动辄千百万参数,不现实。那是否可以以什么方向猜呢,答案就是梯度!
梯度是一种特别的导数,其为函数空间中某一位置上最大的方向导数,意味着沿着梯度方向移动单位距离函数值增加最大。在三维直角坐标系中,其向量可由各方向上的偏导数表示:
由于在前向计算过程中训练样本可视为不发生变化,那么模型的损失仅与模型参数有关,可以认为损失是参数的函数L,让损失最小化的问题亦转变为求函数L极小值的问题。
而极小值点本身二阶导数为零,大于极小值点时,导数为正,函数单调递增;小于极小值点时,导数为负,函数单调递减,因此不管当前是否在极小值点的左侧或右侧,我们只需沿着梯度的相反方向挪动一小步就能更靠近极小值一点(步伐通过学习率设定)。

当函数维度增加,则目标变成寻找更高维空间的极小值点。以三维空间为例,该过程就好比从山上下山一样,总是寻找当前脚下四周最陡峭的地方落脚,这样下山当然最快了。

---— 2.Excel实例 —---
假定所求二元线性方程为:Y=2X1+3X2+3,新建一个excel工作表,并按下列两表格中单元格位置输入对应内容。为方便求导,损失取均方误差的1/2。
输入完毕后使用Excel填充功能,批量生成2000个样本并训练优化,如图:
最后使用Excel绘制参数和损失训练过程中的演变曲线。可以看出参数收敛于事先设定的系数,而损失收敛于零。有兴趣的童鞋可以试试修改学习率和初始参数值,看看对结果有什么影响,或者加上链式求导构造一个简单的神经网络(MLP)。

您的关注是对小渣莫大的鼓舞

点击下方二维码添加订阅,下期再会咯!

(0)

相关推荐

  • 深度学习入门(7)

    参考原文链接

  • 深度学习三十问!一位算法工程师经历30+场CV面试后总结的常见问题合集(含答案)

    作者丨灯会 来源丨极市平台 编辑丨极市平台 极市导读 作者灯会为21届中部985研究生,凭借自己整理的面经,去年在腾讯优图暑期实习,七月份将入职百度cv算法工程师.在去年灰飞烟灭的算法求职季中,经过3 ...

  • 比较全面的L1和L2正则化的解释

    前言 前段时间写了一篇文章<深入理解线性回归算法(二):正则项的详细分析>,文章提到L1是通过稀疏参数(减少参数的数量)来降低复杂度,L2是通过减小参数值的大小来降低复杂度.网上关于L1和 ...

  • XGBoost详解

    Prerequisite: CART回归树CART回归树是假设树为二叉树,通过不断将特征进行分裂.比如当前树结点是基于第j个特征值进行分裂的,设该特征值小于s的样本划分为左子树,大于s的样本划分为右子 ...

  • 梯度下降法的三种形式BGD、SGD以及MBGD

    阅读目录 1. 批量梯度下降法BGD 2. 随机梯度下降法SGD 3. 小批量梯度下降法MBGD 4. 总结 在应用机器学习算法时,我们通常采用梯度下降法来对采用的算法进行训练.其实,常用的梯度下降法 ...

  • 梯度下降法 数学家澄清了现代应用中最重要的算法的本质

    majer @ 2021.08.24 , 16:39 现代应用研究的许多方面都依赖于一种叫做梯度下降的关键算法.这是一个通常用于寻找特定数学函数的最大或最小值的程序--过程被称为优化函数.它可以用来计 ...

  • 如何理解梯度下降法?

    梯度下降法是用来计算函数最小值的.它的思路很简单,想象在山顶放了一个球,一松手它就会顺着山坡最陡峭的地方滚落到谷底: 凸函数图像看上去就像上面的山谷,如果运用梯度下降法的话,就可以通过一步步的滚动最终 ...

  • Excel体验营-第1天讲义

    [学习步骤] ①[准备工作]不打没准备的仗,好记性不如烂笔头 a. 课程需要Excel2010以上的版本,或WPS最新版,否则会有功能缺失的可能 b. 尽量不要用ie浏览器,推荐大家使用谷歌浏览器Ch ...

  • ML之UliR:利用非线性回归,梯度下降法(迭代十万次)求出学习参数θ,进而求得Cost函数最优值

    ML之UliR:利用非线性回归,梯度下降法(迭代十万次)求出学习参数θ,进而求得Cost函数最优值 输出结果 更新-- 代码设计 import numpy as np import random de ...

  • 梯度下降法的关键点

    梯度下降法的关键点 梯度下降法沿着梯度的反方向进行搜索,利用了函数的一阶导数信息.梯度下降法的迭代公式为: 根据函数的一阶泰勒展开,在负梯度方向,函数值是下降的.只要学习率设置的足够小,并且没有到达梯 ...

  • Excel体验营 - 第3天讲义

    Excel体验营 - 第3天讲义 [第2关知识点] 01[跨表查询]&[VLOOKUP函数] ①VLOOKUP函数 根据某个查找线索,快速找到数据表中,与之对应的其他信息 ②操作步骤 ◎点击& ...

  • Excel体验营 - 第2天讲义

    [第1关知识点] [了解函数] ①函数介绍 函数其实不是数学概念里的方程式,它是Excel表格里的超级计算器.机械重复的人工计算,函数一条公式就能解决. 函数有很多种,而IF函数就是函数中应用最广泛的 ...

  • Excel那些看起很难,其实很简单的问题!DAX初体验

    问题难不难,除了知识储备,还有看问题的角度! 我们来看第一个"难题",体育测试,每个人测试数次,现在需要根据每个人测试顺序,添加编号,比如张三,第一次是1,第二次就是2,依次类推! ...