如何直观形象地理解梯度、散度、旋度
来源:互联网 发布:羽毛笔哈利波特淘宝 编辑:程序博客网 时间:2024/05/02 23:07
文章转自:https://zhuanlan.zhihu.com/p/25285580
版权归原作者!
梯度: 运算的对像是纯量,运算出来的结果会是向量。(纯量–>向量)
在一个纯量场中,梯度的计算结果会是”在每个位置都算出一个向量,而这个向量的方向会是在任何一点上从其周围(极接近的周围,学过微积分该知道甚么叫极限吧?)纯量值最小处指向周围纯量值最大处。而这个向量的大小会是上面所说的那个最小与最大的差距程度”
举例子来讲会比较简单,如果现在的纯量场用一座山来表示,纯量值越大的地方越高,反之则越低。经过梯度这个操作数的运算以后,会在这座山的每一个点上都算出一个向量,这个向量会指向每个点最陡的那个方向,而向量的大小则代表了这个最陡的方向到底有多陡。
梯度下降法就是沿着梯度方向找极值的方法,如图中的像山一样的色彩区域,为了定位到山的最低点,我们随机从一个地方出发,然后像小朋友一样一步一步走下山,最终我们就会走到最低点(或者会是局部最低点)。
散度:运算的对像是向量,运算出来的结果会是纯量。(向量–>纯量)(向量的点乘)
散度的作用对像是向量场,如果现在我们考虑任何一个点(或者说这个点的周围极小的一块区域),在这个点上,向量场的发散程度,如果是正的,代表这些向量场是往外散出的。如果是负的,代表这些向量场是往内集中的。
一样,举例子:因为散度的作用对像是向量场,所以就不能用上面所讲的山来想象,这次要想象一个大广场里挤了很多人,如果每个人都在到处走动,是不是可以把每个人的行动都看成是一个向量,假如现在某人放了一个屁,周围的人(可能包含他自己)都想要赶快闪远一点,就会发现,在这块区域的人都往这小块区域以外的方向移动。对啦,这就是散度(你也可以想说是闪远一点的闪度……冷……),而且散度为正,大家如果散得越快,散得人越多,这个散度算出来就就越大。
另一个例子就是在橄榄球场上,大家都往抱球的人身上冲撞,在这块区域人都往内移动,这是散度为负值,中间持球人就是吸收通量的负源,像黑洞一样收割者一切。
旋度:运算的对像是向量,运算出来的结果会是向量。(向量–>向量)(向量的叉乘)
旋度的作用对象也是向量场,这次直接用上面的例子来讲:如果现在散开的众人都是直直的往那个屁的反方向散开,这时候你看到这些人的动线是不是就是一个标准的幅射状??不过事实上,,每个人在闻到屁的时候是不会确切的知道屁到底是来自哪个方向的。而可能会走错方向,试过之后才发现不对劲,越找越臭。这时候你看到众人的走向不见得就是一个幅射状(大家都径向移动),而可能有一些切向移动的成份在(以屁发点为中心来看)旋度对应的就是这些切向移动的情况,相对来讲,散度对应的其实就是径向移动的情况。.而一个屁,虽然可能会像上述的造成一些切向的移动,但理论上来讲,并不会使散开的众人较趋向于顺时钟转,或逆时钟转。在这种情况,顺时钟转的情况可以看作与逆时钟转的情况抵消,因此,在这情况下,旋度仍然是零。也就是说,一个屁能造成散度,而不会造成旋度……而甚么时候是有旋度的呢??如果这时候音乐一放,大家开始围着中间的营火手拉手跳起土风舞(当然是要绕着营火转的那种啦)这时候就会有旋度没有散度啦。(刚刚一直放屁的那位跑出去找厕所的除外)。
总结:
以上这三个,有一点一定要记得的。不论是梯度,散度,旋度,都是一种local的量(纯量,向量),所考虑的都是任何一点(其周围极接近,极小的小范围)的情况。以上举的例子因为要容易了解,,所以都是针对二度空间向量为例,而且都是很大的东西,但广场是一个点,营火晚会也是一个点,纳须弥于芥子,这就请自行想象吧。
- 如何直观形象地理解梯度、散度、旋度
- 如何形象地理解四元数?
- 三维重建面试3:如何形象地理解四元数
- 直观地理解HTML的高度
- 如何形象地理解 Python 中的 int 类型是任意精度这一概念?
- 如何理解梯度下降?
- 如何简单形象又有趣地讲解神经网络是什么?(知乎) 说的人很多,理解很充分
- 如何直观理解AUC评价指标?
- 如何直观理解交叉熵及其优势?
- 如何简单形象又有趣地讲解神经网络是什么?
- 如何简单形象又有趣地讲解神经网络是什么?
- 如何简单形象又有趣地讲解神经网络是什么?
- 如何简单形象又有趣地讲解神经网络是什么?
- 如何简单形象又有趣地讲解神经网络是什么?
- 如何简单形象又有趣地讲解神经网络是什么?
- 如何简单形象又有趣地讲解神经网络是什么?
- 《机器学习实战》第五章梯度上升算法的直观理解
- 如何通俗地理解 Gradle?
- floyd的总结
- Densely Connected Convolutional Networks论文解析
- HDU 4794 Arnold ACM/ICPC 2013 Changsha(二次剩余+数论)
- 使用toString()方法遍历数组
- MySQL WHERE 子句
- 如何直观形象地理解梯度、散度、旋度
- Exynos4412裸机开发——中断处理
- 区块链模型架构
- Extjs grid整合Springmvc正确显示时间
- Redis常用命令
- 无法查看eclipse中的java开源类的源码
- spring中@scheduled定时任务的使用
- 前端页面:当一行超过指定宽度时,多余的文字使用...
- shell 脚本监控 phpj 进程 screen 发送信号