函数的梯度方向和切线方向_梯度是函数变化最快的方向
机器学习中大部分问题都是优化问题,而绝大部分优化问题都可以用梯度下降法来解决。本文详细的解释了高数中几个易混淆的重要概念,如导数和微分的区别,偏导数的概念,方向导数和梯度的关系,若完全掌握这几个概念,就能很好地理解梯度为什么是函数变化最快的方向。
本文脉络:
- 导数和微分
- 偏导数
- 方向导数和梯度的关系
- 总结
导数和微分
导数的定义
定义:设函数y = f(x)在
本质:导数描述的是函数在一点处的变化快慢的趋势,是一个变化的速率。如曲线方程的导数是随点变化的斜率,运动方程的导数是随时间变化的速率。
微分的定义
定义:函数y = f(x)在
本质:微分描述的是函数从一个点移动到另一个无穷小点所产生的变化量。
函数增量与微分的关系
本节从图形角度和代数角度去分析函数增量与微分的关系:
- 图形角度:
如上图所示,函数f(x)在M点处的导数为直线T的斜率
当
- 代数角度
若f(x)满足微分条件,则:
当
偏导数
偏导数是函数相对于某一轴方向的导数,其他轴方向则假设为常数,若考虑二元变量f(x,y),偏导数定义如下;
如果:
存在,则称该式为
偏导数的几何意义
令z = f(x,y),偏导数
如下图:
方向导数和梯度的关系
方向导数
我们还是以讨论偏导数的图来解释方向导数。令曲面方程z=f(x,y)投影到XY平面,得到投影平面,如下图:
M1为M0在XY面的投影点,由上图可知,有无数条直线经过M1点,这些直线代表方向,我们认为曲面M1点的方向导数就是求这些直线方向的导数,M1点的方向导数也是无穷多个,我们用变量
如上图,直线l的方向向量
所以
由上式可知,方向导数随夹角
由第一节介绍的单元变量的微分公式可推导二元变量的全微分公式
其中,
当
由方向导数的定义可知:
梯度
梯度是一个矢量,曲面上每点的梯度是常数,P0点的梯度如下;
其中
方向导数和梯度的关系
求上图曲面M0中P点的梯度和方向导数
梯度和方向导数的单位向量分别如下两图:
平移梯度向量,使之与方向导数的单位向量相交,夹角为
红色直线代表梯度,蓝色代表方向导数的单位向量,取该两个向量的內积,得:
由方向导数的表达式可知:
所以,
结论:曲面中点的方向导数有无数个,当方向导数与梯度方向一致时,该导数值取得最大,等价于该点在梯度方向具有最快的变化值。梯度方向是函数值增加最快的方向,梯度的反方向是函数值减小最快的方向。
总结
本文介绍了高数教材中几个易混淆的概念,结合图解法和公式推导法证明了方向导数和梯度方向一致时,函数值变化最快。因此,机器学习常用梯度法去解决最优化问题。
函数的梯度方向和切线方向_梯度是函数变化最快的方向相关推荐
- 函数的梯度方向和切线方向_为什么梯度反方向是函数值局部下降最快的方向?...
刚接触梯度下降这个概念的时候,是在学习机器学习算法的时候,很多训练算法用的就是梯度下降,然后资料和老师们也说朝着梯度的反方向变动,函数值下降最快,但是究其原因的时候,很多人都表达不清楚.所以我整理出自 ...
- 函数的梯度方向和切线方向_方向导数和梯度是什么?
原标题:方向导数和梯度是什么? 为什么梯度的方向是函数在该点的方向导数最大的方向,梯度的模是最大方向导数的值?大家在看复习全书时,有认真想过这个问题吗?小编在本文以二元函数为例详细讲解方向导数和梯度, ...
- 函数的梯度方向和切线方向_高数下微课:11.3_5 二元函数的全微分求积
主要内容 部分讲课内容截图,视频内容更全面 9.2_1 偏导数的定义及求导方法 9.2_2 偏导数的几何意义与高阶偏导数 9.3_1 全微分定义 9.3_2 可微的必要条件与充分条件 9.3_3 全微 ...
- 函数的梯度方向和切线方向_高数下微课:11.3_6 二元函数的全微分求积例题
主要内容 部分讲课内容截图,视频内容更全面 9.2_1 偏导数的定义及求导方法 9.2_2 偏导数的几何意义与高阶偏导数 9.3_1 全微分定义 9.3_2 可微的必要条件与充分条件 9.3_3 全微 ...
- 为什么梯度是函数变化最快的方向
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 前言 机器学习中的大部分问题都是优化问题,而绝大部分优化问题都可以 ...
- 箭头函数的this指向谁_高阶函数
NodeJS 系列文章,本篇是第一篇,首先,预计将后续高频使用逻辑串一遍,依次是高阶函数,promise以及事件机制.本篇主要是高阶函数. call.bind.apply call.apply 都是改 ...
- 函数的凹凸性证明_判断复杂函数的凹凸性
判断无人机能量x关系函数的凹凸性(函数是关于v和drt的二元函数) 函数有非常多的参数,极其复杂,看到就烦,我首先用画函数的方法通过图像法来观察,但是画出来的图像不忍直视(或许是我画的图像不对,反正看 ...
- 函数计算的是什么_【Excel函数教程】3个例子让你彻底玩转EDATE函数
在日常的工作中,我们经常需要计算各种到期时间. 比如HR,就需要计算合同到期日.退休到期日.员工转正日期等. 生产或销售人员,需要关注产品的有效期等等-- 如果你不知道EDATE函数的话,可能这类问题 ...
- mysql通过函数完成10的阶乘_请使用函数的递归调用编写求阶乘的函数,并计算1!+2!+3!+4!+5!...
点击查看请使用函数的递归调用编写求阶乘的函数,并计算1!+2!+3!+4!+5!具体信息 答:include "stdio.h" int fac(int k) { if(k==1) ...
最新文章
- torch.set_num_threads
- spring中@Transaction注解解析
- C语言中的位运算符主要有哪些?逻辑右移与算术右移的区别?
- Android开发之 当前日期String类型转date类型 java代码中实现方法
- c语言中常用的预处理命令6,C语言的预处理命令
- rabbitmq 持久化_RabbitMQ原理与相关操作(三)消息持久化
- 图论 —— 网络流 —— 最大流 —— Dinic 算法
- 【git clone 报错】fatal: unable to access ‘https://github.com/zimeng303/React.git/‘: Failed to connect
- onload、DOMContentLoaded、$(document).ready(fn)、$(document).load(fn)
- python基础教程菜鸟教程-终于懂得python入门菜鸟教程
- 【NLP入门】通俗讲解Subword Models
- 寿光农商行计算机机房,寿光农村商业银行:新系统上线前奏——培训
- torch中permute()函数用法补充内容(矩阵维度变化详细过程)
- win7下没有ntsd提供的程序支持
- css设置弹出信息,javaScript自定义alert弹出信息窗口
- 【计算机网络】南航计算机网络第一章 概述
- k3 设置 虚拟服务器,k3设置服务器映射功能
- win10计算机的数字小键盘,让Win10登录时默认开启数字小键盘
- LocalDateTime设定某一时间值,转Date
- 启动root用户 银河麒麟_银河麒麟V10启用VNCServer
热门文章
- 魔法方法——Python
- 大数据分析如何助力企业发展
- 大数据可视化的应用方法
- 大数据的价值与发展趋势
- java6不支持tlsv1.2_解决 JDK1.7 不支持 VCenter 6.7 的问题(涉及到Https TLS1.2协议)
- android白圈闪现动画,Android基于Shader的图像处理(9)-仿抖音闪白特效
- mysql 执行计划 改变_数据量增加导致mysql执行计划改变解决_MySQL
- JdbcTemplate 的使用
- Linux系统下apt-get命令详解
- mongodb adminmongo 使用过程中的一些小问题记录