【重拾数学知识】导数、极值和最值

2024-06-12 02:36

本文主要是介绍【重拾数学知识】导数、极值和最值,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

在深度学习中,梯度下降法是一种常用的优化算法,用于更新模型参数以最小化损失函数。这梯度下降法中涉及到数学中的导数极值等相关知识,因此我们重新回顾相关内容,以便加深理解。

相关概念

导数

一个问题

如何求得一个曲线f(x)中任意一点(x0)的斜率?

核心思想:在曲线上另外存在一个P点,P点无限接近x0,x0和P的连线将无限接近x0点的斜率。

在上图中:

  • 我们求x0点和P点的之间的斜率为:

    斜率公式:

    k = y 1 − y 2 x 1 − x 2 = f ( x 0 + Δ x ) − f ( x 0 ) Δ x k = \frac{y_1-y_2}{x_1-x_2} = \frac{f(x_0+Δx) - f(x_0)}{Δx} k=x1x2y1y2=Δxf(x0+Δx)f(x0)

  • 加入极限条件Δx→0趋近于0时

    f ′ ( x ) = l i m ( Δ x − > 0 ) f ( x + Δ x ) − f ( x ) Δ x f'(x) = lim(Δx->0) \frac{f(x + Δx) - f(x)}{Δx} f(x)=lim(Δx>0)Δxf(x+Δx)f(x)

定义

导数表示函数 f(x) 在某一点 x 处的变化率(或斜率),通常记作 f’(x) 或 df/dx。

常见求导公式

偏导

接着,我们看下什么是偏导。如下图所示:

  • 在左侧的二维平面中,一元函数f(x)在x0的导数为x0点的斜率,即为导数;
  • 在右侧的三维空间中,二元函数z = f(x,y),在固定住y坐标轴(即:y=y0,如图中黑色线段向下切所示)时,求z=f(x, y0)在x0的导数,即为偏导数

定义
  • 偏导数是多元函数在某一点上对某个特定变量的导数,即函数在该点上沿着某个坐标轴方向的变化率。

    偏导数本质上是在多元函数中,通过固定某一变量为常量,将多元降维。

极值与最值

在下面图例函数中,

f ( x ) = 1 3 x 3 + 1 2 x 2 − 2 x − 1 f(x) = \frac{1}{3}x^3 + \frac{1}{2}x^2 - 2x - 1 f(x)=31x3+21x22x1

通过求导,得到导数为

f ′ ( x ) = x 2 + x − 2 f'(x) = x^2 + x -2 f(x)=x2+x2

其中:

  • 解方程f’(x) = 0,得到极值点为 x = -2 和 x = 1

    • 当x = -2时,f’(x) < 0;

    • 当x = 1 时,f’(x) > 0;

    • 也就是说:x=-2的左侧是单调递增,x=-2到x=1之间是单调递减,x=-2这个点比左边要高,比右侧也要高,我们把这种点成为极值点。

定义
  • 极值是函数在某一点或某一区间内取得的最大值或最小值。极大值是函数在该点附近取得的最大值,极小值是函数在该点附近取得的最小值。

  • 最值是函数在定义域内取得的最大值或最小值。最大值是函数在整个定义域内取得的最大值,最小值是函数在整个定义域内取得的最小值。

特别注意:极值≠最值;一个曲线在一段区间内,可能有多个极值,但最值只有一个。

极大值和极小值

若x0是极值点,则f’(x0) = 0,这种情况下有两种可能:

  • 若导函数由正往负,那么对应原函数先增后减,那么x0为极大值点。
  • 若导函数由负往正,那么对应原函数先减后增,那么x0为极小值点。

参考资料

B站:《"导数"一课通!1h零基础上手》

B站:《“偏导数”一课通!1h零基础上手!|高数下》

这篇关于【重拾数学知识】导数、极值和最值的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1052961

相关文章

hdu 1754 I Hate It(线段树,单点更新,区间最值)

题意是求一个线段中的最大数。 线段树的模板题,试用了一下交大的模板。效率有点略低。 代码: #include <stdio.h>#include <string.h>#define TREE_SIZE (1 << (20))//const int TREE_SIZE = 200000 + 10;int max(int a, int b){return a > b ? a :

Hessian矩阵判定极值之MATLAB实现符号解

By WC 1.9 .2015 1.Hessian矩阵 其定义如下: 如果函数f在D区域内二阶连续可导,那么黑塞矩阵H(f) 在 D 内为对称矩阵。原因是:如果函数f连续,则二阶偏导数的求

时隔一年多,重拾起前端

从2018年毕业到现在,工作快一年的时间了。工作后,涉及到的编程语言大多是C++、Java,从一个菜鸟前端“华丽”转变为菜鸟后端。这一年,几乎很少关注前端知识,工作上能接触到的也几乎是很简单的js开发,用的是公司自研框架(难用无比),几度有想法转后端,从此放弃前端的学习。 虽说是工作上的原因,迫使自己学习后端语言,但同时自己也学到了很多东西(像多线程、面向对象、数据库等等自己现在也能说个皮毛出

最值求解 | 管理类联考数学专项

日期内容2024.9.5新建2024.9.6曦曦求最值完结 实数求最值至少至多抽屉原理工程问题线性规划一次性绝对值求最值 参考: b站跟着曦曦老师玩转【最值】

激活函数 Sigmod 及其导数

文章目录 1. Sigmod 函数2. 取值3. 图像4. 导数 1. Sigmod 函数 Sigmod 函数是神经网络中最常用的激活函数之一,其形式如下: sigmod ( x ) = f ( x ) = 1 1 + e − x . \text{sigmod}(x) = f(x) = \frac{1}{1 + e^{-x}}. sigmod(x)=f(x)=1+e−x1​.

c++重拾STL之 队列:queue、deque

queue 头文件#include<queue> queue模板类两个模板参数:一个是元素类型,一个是容器类型,容器类型默认为deque类型。 1、定义queue对象: queue<int> q1; queue<BTNode*> q2 2、queue的基本操作 入队: q.push(x); 入到队尾出队:q.pop(); 弹出队列第一个元素,**注意,pop出队只是删除队头元素,并不会返

学习算法需要数学知识吗?

目录 算法与数学:看似不可分割的关系常见算法中的数学元素案例分析:不需要高深数学知识的算法1. 二分查找2. 深度优先搜索 (DFS)3. 动态规划:斐波那契数列 如何在有限的数学背景下学习算法1. 专注于算法的逻辑和过程2. 可视化算法流程3. 从简单的实现开始,逐步优化4. 学习算法设计模式5. 实践,实践,再实践6. 关注实际应用 数学如何帮助我们更好地理解和设计算法1. 算法复杂度

libtorch---day03[自定义导数]

参考pytorch。 背景 希望使用勒让德多项式拟合一个周期内的正弦函数。 真值: y = s i n ( x ) , x ∈ [ − π , π ] y=sin(x),x\in\left[-\pi,\pi\right] y=sin(x),x∈[−π,π] torch::Tensor x = torch::linspace(-M_PI, M_PI, 2000, torch::kFloat);

导数的介绍

前面的内容在我们提过,函数在某个位置的导数是它在该位置上的斜率。 那斜率数什么呢? 我们可以找到两点之间的平均斜率。就像下面的图像一样:   但是我们如何找到某个点的斜率呢?没有什么办法可完成的!就像跟他一样:  但有个方法:但是对于导数,我们使用了一个小的差异......;...然后让它缩小到零。就像它一样:  我们来求导数吧!。为了求函数y = f(x)的导数

2.3导数与微分的基础与应用

1. 导数的基本概念 大家好,欢迎来到我们的数学大讲堂!今天我们要聊聊一个有点酷又有点恐怖的东西——导数。别担心,不是让你在黑板上画曲线的那种,而是关于“变化率”的一种数学表达。 那么,什么是导数呢?想象一下,你在开车,导数就是告诉你每一秒你的车速变化有多快。比如说,你踩了油门,车速从30公里/小时变到40公里/小时,那导数就是“哟,这小子踩油门了,车速快了!”简单来说,导数就是描述某样东西变