数学角度梯度下降(梯度的直观理解)
#知识创作人第七季#
前言:笔者之所以要向大家讲一点点数学,是为了提升大家的阅读硬实力,同时降低笔者科普的难度。笔者认为,数学是理解物理和工程的“工具”,数学之于自然科学,就如同建造房屋用的砖块和钢筋水泥。它是研究物理和工程技术的骨架,是必不可少的东西。(笔者支持数学工具论,还请数学系的朋友不要打我)
笔者的职业是工程师,长期的实践经验告诉我,必须把精力分配到最关键(the key point)的地方去。因此,笔者讲解物理的时候也是以工程思维进行叙述的。对于数学,我是一个不折不扣的“拿来主义”者。
什么是工程思维呢?在下的理解是:
用什么学什么,学什么用什么。现学现卖是做项目的正确方法。不用的暂时不需要管,等用到再说。
我们并不是研究数学的专业人士,没必要懂得数学界的“十万个为什么”只需要懂得数学界的冰山一角就够用了。所以不需要懂数学证明,业余爱好者要做到的事情,只是把束之高阁的高等数学用初等数学“展”出来。还有就是对复杂的公式和概念“可视化”。
让我们进入正题:
你开门见山地问道:什么是梯度呢?梯度有什么用呢?
我答到:你想理解空间曲面的变化情况吗?你想理解电磁场长什么样子吗?你想理解引力场长什么样子吗?你若是想,便需要理解梯度的意义。
我们常见的卫星锅,不知道诸位注意过没有,它的表面是抛物面:
卫星锅的表面是抛物面
在数学中,笛卡尔坐标系下的抛物面长这样子(它的胖瘦可以任意收缩):
数学中的抛物面
既然抛物面已经放进了数学坐标系里,那么我们能用数字符号描述它,你知道它的数学表达式是什么吗?
抛物面数学表达式
用这个公式可以描述所有的抛物面(包括卫星锅,近视眼镜片),a和b是任意常数。
梯度,我们用符号grad(f)来表示,grad是gradient的缩写,f是函数表达式的概括,具体问题具体分析。
抛物面的梯度grad是什么呢?
算抛物面梯度的公式,它长这样子:
把抛物面公式带进去,你就能得到:
x²的导数是2x,y²的导数是2y
式中i 和 j 分别 是 x轴 和 y轴 的基向量,它代表的矢量为单位1。
这个表达式什么意义呢?它告诉我们,
在x轴方向上,抛物面是按照这个公式进行变化的:
在y轴方向上,抛物面是按照这个公式进行变化的:
许多近视眼镜片也是抛物面
现在,让我们稍微专业一些:
我们引入梯度的定义:
二维梯度的定义
三维梯度的定义,只是增加了k方向
再引入方向导数的概念,它的意义是:指定一个你要研究的方向,在你要研究的这个方向上梯度grad是如何变化的。
你要研究的曲面部位可以用这个e向量来指向。
请大家仔细研究这张图:
直观的梯度:
小球在抛物碗上方下落,箭头反应的就是它的梯度变化
通过MATLAB得到的梯度直观变化图:图中有x,y,z三个方向,
(创作不易,喜欢就请点个关注吧,笔者写作的极大动力来自诸君的支持)
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com