一、微积分基础

微积分

在机器学习(或者深度学习)中,绝大部分任务是构建一个损失函数,然后去最小化它,这个优化过程使用的就是微分

f(x) -- 损失函数

微分 -- 求导

pytorch 等会自动微分,不需要人为的去求导/微分,实现这些过程,但是需要理解这些概念

(一)导数的概念

导数是函数,完整地叫应该是“导函数”,通常习惯叫“导数”,它是依附于原函数存在的函数

当无法获取到精确的结果时,可以通过更小的范围获取更接近的结果

\[\frac{\Delta x}{\Delta t} = \frac{dx}{dt} \quad \text{==> 瞬时变化率} \]

拉格朗日表示法:

\[f'(x) \]

莱布尼茨表示法:

\[\frac{d}{dt}f(x) \]

导数表示函数的变化趋势:

  • 既可以表示函数整体的变化趋势
  • 也可以表示部分的变化趋势
  • 还可以表示某个点的变化趋势

导数也可以粗糙地理解为“函数在某处的切线的斜率”

(二)斜率的极值和极小值

对于函数来说,距离最近/最远的点往往导数(斜率)等于 0 的点

斜率的极值 -- 斜率函数在局部取得的极大值或极小值

斜率的极小值 -- 特指其中斜率取得局部最小值的那个极值点

(三)常见的导数

1. 常数的导数

\[(C)' = 0 \]

2. 线性函数的导数

\[(ax+b)' = \frac{(a(x+{\Delta x})+b)-(ax+b)}{x+{\Delta x}-x} = a \]

3. 幂指函数

\[(x^n)' = n x^{n-1} \]

\[(\sqrt{x})' = \frac{1}{2\sqrt{x}} \]

\[\left(\frac{1}{x}\right)' = -\frac{1}{x^2} \]

\[(e^x)' = e^x \]

\[(a^x)' = a^x \ln a \quad (a>0, a \neq 1) \]

3. 对数函数的导数

\[(\ln x)' = \frac{1}{x} \]

\[(\log_a x)' = \frac{1}{x \ln a} \quad (a>0, a \neq 1) \]

4. 三角函数的导数

\[(\sin x)' = \cos x \]

\[(\cos x)' = -\sin x \]

\[(\tan x)' = \sec^2 x = \frac{1}{\cos^2 x} \]

\[(\cot x)' = -\csc^2 x = -\frac{1}{\sin^2 x} \]

\[(\sec x)' = \sec x \tan x \]

\[(\csc x)' = -\csc x \cot x \]

5. 反三角函数的导数

\[(\arcsin x)' = \frac{1}{\sqrt{1 - x^2}} \]

\[(\arccos x)' = -\frac{1}{\sqrt{1 - x^2}} \]

\[(\arctan x)' = \frac{1}{1 + x^2} \]

\[(\text{arccot } x)' = -\frac{1}{1 + x^2} \]

(四)不可微函数

如果一个点存在导数,那么该点的函数会被该点微分

也就是说:如果要使函数在整个区间内保持微分,则该区间中的每个点都必须存在导数

实际上,并不是所有的函数在每个点都可以找到导数,这些函数称为:不可微函数

\[f(x) = |x| \]

image-20261102111917175

在(0,0)点有无数个切线,即x=0,导数不存在

\[f(x) = x^{\frac{1}{3}} \]

image-20261102112300210

在(0,0)点切线与y轴重合,无穷大,无法微分。

(五)导数的性质

1. 乘以标量

函数乘以标量,该函数的导数也会乘以这个标量

2. 加和法则

各自求导并相加

3. 乘法法则

\[\begin{gathered} \begin{aligned} \frac{\Delta f(t)}{\Delta t} &= \frac{\Delta g(t)h(t) + g(t)\Delta h(t) + \Delta g(t)\Delta h(t)}{\Delta t} \\ \\ &= \frac{\Delta g(t)}{\Delta t}h(t) + \frac{\Delta h(t)}{\Delta t}g(t) + \frac{\Delta g(t)\Delta h(t)}{\Delta t} \end{aligned} \\ \\ \downarrow \\ \\ f'(t) = g'(t)h(t) + g(t)h'(t) + 0 \end{gathered} \]

(六)切平面和偏导数

1. 认识偏导

一个输入一个输出

image-20261102135242419

两个输入一个输出

image-20261102135300677

当把其中一个变量,例如y当成常数时,那么公式:

\[f(x,y)=x^2+y^2 \]

就只有一个变量了:

\[当 y=4 时,f(x,y)=x^2+4^2 \]

那么在红色抛物线上找到一条线可以求得斜率,这条线的斜率就是偏导数

image-20261102135637343

2. 偏导公式

公式:

\[f(x,y)=x^2+y^2 \]

的偏导如下:

\[f_x = \frac{\partial f}{\partial x} \quad 和 \quad f_y = \frac{\partial f}{\partial y} \]

求 x 的偏导,将 y 当作常数;求 y 的偏导,将 x 当作常数

(七)梯度

1. 概念

梯度 -- 偏导的集合,带方向的斜率

\[\begin{gathered} f_x = \frac{\partial f}{\partial x}, \quad f_y = \frac{\partial f}{\partial y} \\ \Downarrow \\ \begin{bmatrix} 2x \\ 2y \end{bmatrix} \end{gathered} \]

即,梯度为:

\[\begin{gathered} \nabla f = \begin{bmatrix} \frac{\partial f}{\partial x} \\ \frac{\partial f}{\partial y} \end{bmatrix} \end{gathered} \]

posted @ 2026-11-02 14:43  桑年  阅读(8)  评论(0)    收藏  举报