【直观理解】为什么梯度的负方向是局部下降最快的方向?


推荐阅读时间:8min~15min

主要内容:

为什么梯度的负方向是局部下降最快的方向?


刚接触梯度下降这个概念的时候,是在学习机器学习算法的时候,很多训练算法用的就是梯度下降,然后资料和老师们也说朝着梯度的反方向变动,函数值下降最快,但是究其原因的时候,很多人都表达不清楚。所以我整理出自己的理解,从方向导数这个角度把这个结论证明出来,让我们知其然也知其所以然~

一年前从基本的原理证明进行解释,见下:

为什么梯度反方向是函数下降最快的方向?(请戳我)

这次从最优化的角度切入来说明一下:

当我们在某个要优化的函数,这里设为f(x) ,我们在x点处,然后沿方向 v进行移动,到达f(x+v),图示表示了移动过程:

上图显示了从A点,移动到B点的过程。那么 v方向是什么的时候,局部下降的最快呢?

换成数学语言来说就是, f(x+v)-f(x)的值在 v是什么的时候,达到最大!

下面进行讲解:

则 f(x+v)-f(x)=d f(x)v ,则我们可以得出: d f(x)v 为函数值的变化量,我们要注意的是 d f(x) 和 v 均为向量, d f(x)v 也就是两个向量进行点积,而向量进行点积的最大值,也就是两者共线的时候,也就是说 v 的方向和 d f(x) 方向相同的时候,点积值最大,这个点积值也代表了从A点到B点的上升量。点积说明如下:

而 df(x)正是代表函数值在x处的梯度。前面又说明了v的方向和df(x)方向相同的时候,点积值(变化值)最大,所以说明了梯度方向是函数局部上升最快的方向。也就证明了梯度的负方向是局部下降最快的方向!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/304352.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

紫光物联linux登录账号,紫光展锐打造操作系统生态,赋能万物互联智能时代

本周,以“象由芯生科技服务人民”为主题的2020紫光展锐市场峰会重磅开启,广大生态合作伙伴共聚一堂,共话数字世界新未来。在今天举办的“操作系统OS研讨会”上,来自紫光展锐工程一线的架构师带来了一场整个操作系统领域的饕餮盛宴…

一行命令搭建内部的管道

在上一篇《边缘计算k8s集群之SuperEdge》文章中,笔者基于ECK搭建了边缘集群并添加了节点。通过边缘集群,我们可以很方便的管理各个地域的节点,本地、各云厂商的机房、客户所在地、海外的都可以。在本篇内容,我们将讲述如何使用ips…

推到 旋转矩阵公式_3D旋转矩阵的推导过程

3D旋转矩阵的推导过程包含平移的线性变换称作仿射变换,3D中的仿射变换不能用 3 x 3 矩阵表达,必须使用4 x 4矩阵。一般来说,变换物体相当于以相反的量变换描述这个物体的坐标系。当有多个变换时,则需要以相反的顺序变换相反的量。…

ArchiMate - 发布【企业架构语言ArchiMate v0.5.pdf】

在《年度总结和计划:去年4个1,今年5个1》中说过今年我准备在项目组引入1个架构语言(ArchiMate),为了便于大家学习,我把一些内容集成一本电子书,目前发布0.5版本,后续还会不断更新&am…

那些有趣/用的 Python 库

图片处理pip install pillowfrom PIL import Imageimport numpy as npa np.array(Image.open(test.jpg))b [255,255,255] - aim Image.fromarray(b.astype(uint8))im.save(new.jpg)youtube-dl下载国外视频pip install youtube-dl #直接安装youtube-dlpip install -U youtube…

linux系统刷分辨率,Linux下设置其分辨率及刷新率

行频:行频又称为“水平扫描频率”,指电子枪每秒在荧光屏上扫过的水平线的数量,其值等于“场频 垂直分辨率1.04”,单位为KHz(千赫兹)。行频是一个综合分辨率和场频的参数,该值越大,显示器可以提供的分辨率越…

.NET 5 部署在docker上运行

1、创建站点创建一个ASP.NET Core Web应用程序,选中启用Docker支持。自动帮我们创建一个Dockerfile文件。2、编写Dockerfile文件dockerfile是一个文件格式的配置文件,用户可以使用dockerfile来快速构建自定义的镜像。由一行行命令语句组成,并…

python字符串下标越界_Python_字符串

# str1"abcdef" #字符串 str型# int1 1 #整数 int型# float11.3 #浮点数,float型# str2 ABCDEF# #单引号和双引号都可以表示字符串# print(str1,str2)#在某一行按下Ctrl/,就可以进行注释,注释就是程序不执行该行代码,…

爱情三十一课,先信自己

我们每个人一生都在迎接两个问题的考验:其一,我是否值得被爱;其二,我是否可以成功。  如果某人在这两个问题上的自我认识是“值得”和“可以”,无论境遇多遭,都可以获得爱与幸福。如果某人内心里总是觉得…

c语言给坐标求多边形面积,多边形的面积问题

多边形的面积问题设构成多边形的坐标串为(xi,yi)(i1,2,……,n),求此多边形面积A。#include#define N 10float Area(float (*x)[2],int n){float sum0;int i0,j;for(;i{ji1;if(jn)j0;sum(x[j][0]x[i][0])*(x[j][1]-x[i][1]);}sum(1/2)*(fabs(sum));return sum;}main(){int n,i,j…

Nexus:一站式私有仓库管理(NuGet、Maven、npm、Docker)

我们在日常开发中经常需要使用到私有仓库,比如 dotNET 中的 NuGet、Java 中的 Maven、前端的 npm,还有 Docker 镜像,每一个私有仓库各自管理,维护起来比较麻烦,而 Nexus 可以将其统一起来。本文将介绍 Nexus 的安装以及…

python choice添加下拉框_自定义Django Form中choicefield下拉菜单选取数据库内容实例...

工作中遇到的问题,自定义了一个forms.form表单,某项需要作出下拉菜单,下拉菜单中的选项需要从数据库(objectForm models)中提取.form.py为:class objectForm(forms.Form):pre choicefield(lable "工作")最后的解决办法:1.定义一个函数def get_object(re…

Enum使用

http://www.java-cn.com/club/html/40/n-640.html1、 目的简单认为:满足一些需求2、 定义、使用public enum SexEnum {male(1),female(0); private final int value; private SexEnum(int value){this.value value;}public int getValue(){return this…

众里寻 Bug 千百度,蓦然回首,它却在隔壁老张处……

程序员与 Bug 是一对矛盾的存在,程序员既要在解决 Bug 中获得成就感,同时也讨厌 Bug 本身的存在。“程序不息,Bug 不止”,程序员在与 Bug 的斗争中,也有很多有趣的事情发生,我们整理了一些程序员在调试 Bug…

linux系统中常见的目录,Linux系统中常见的目录名称以及相应内容

LeetCode: Largest Rectangle in Histogram(直方图最大面积)http://blog.csdn.net/abcbc/article/details/8943485 具体的题目描述为: Given n non-negative integers represent ...自己封装的一个无限滚动 mark 待传import url(http://i.cnblogs.…

Blazor WASM 实现人民币大写转换器

点击上方蓝字关注“汪宇杰博客”导语.NET 5 正式发布已经有一段时间了,其中 Blazor 技术是该版本的亮点之一。作为微软技术的被坑者,年少的我曾经以为 SilverLight 能血虐 Flash,Zune 能团灭 iPod,WP 能吊打 iPhone,UW…

vs2010中svn使用教程_VS2010中使用ankhSVN

给大家介绍一些SVN的入门知识!希望对大家的学习起到作用!关于SVN与CVS的相关知识,大家可以自己去google一下。一、准备SVN是一个开源的版本控制系统,它可以记录所有的文件修改版本。CVS也是一个版本控制系统,可是现在大…

金山安全实验室公布中国互联网六大类钓鱼网站

金山安全实验室公布中国互联网六大类钓鱼网站金山安全实验室研究人员对中国大陆钓鱼网站的普遍特征进行分析,发现以下六个领域最容易被钓鱼网站***:1.QQ十年庆典、QQ抽奖、腾讯活动;2.证券、股票分析、黑庄、理财专家等财经领域;3…

c语言用递归法判断回文字符串,递归方式判断一个字符串是否为回文字符串

/** 递归方式判断一个字符串是否为回文字符串*/public class PartitionTest{public static void main(String[] args) {String str "123456654321";System.out.println("srcString "str);System.out.println("srcString is "(isPartition(str)…

npm 安装less插件_IDEA编译less插件LESS CSS Compiler的安装

2.安装Node.js,下载3.打开idea→settings→plugins 安装:“nodejs”插件,并按以下步骤进行配置:4.打开idea→settings→Languages & Frameworks→Node.js and NPM;在打开的面板中点击右侧“”加号按钮添加需要的“less”组件(…