美文网首页
导数、偏导数、方向导数、梯度、梯度下降

导数、偏导数、方向导数、梯度、梯度下降

作者: moon_light_ | 来源:发表于2020-02-15 14:05 被阅读0次
导数

设有一元函数
\small y=f(x)

则函数在点 \small x_{0} 处的导数为
\small f^{'}(x_{0})=\lim_{\Delta x\rightarrow 0}\frac{f(x_{0}+\Delta x)-f(x_{0})}{\Delta x}

求出来的值是 \small y\small x_{0} 处沿 \small x 方向的变化率即
\small \Delta y=\Delta x f^{'}(x_{0})
也是 \small f(x)\small x_{0} 处的切线的斜率

如果函数有极小值,那么使 \small x 不断沿着切线方向减少,可以得到使 \small y 最小的 \small x
即通过下面的迭代,算出来的 \small x 可以使 \small y 最小
\small x := x - \alpha f^{'}(x)
其中 \small \alpha 是步长,即沿切线方向变化的大小,必须取一个很小的值

偏导数

设有多元函数
\small y=f(X)=f(x_{1},...,x_{i},...,x_{n})

则函数在点 \small X^{0}=(x_{1}^{0},...,x_{i}^{0},...,x_{n}^{0}) 处沿 \small x_{i} 方向的偏导数为

\small \frac{\partial f(X^{0})}{\partial x_{i}^{0}}=\lim_{\Delta x_{i}\rightarrow 0}\frac{f(x_{1}^{0},...,x_{i}^{0}+\Delta x_{i},...,x_{n}^{0})-f(X^{0})}{\Delta x_{i}}

求出来的值是 \small y\small X^{0} 处沿 \small x_{i} 方向的变化率即

\small \Delta y=\Delta x_{i} \frac{\partial f(X^{0})}{\partial x_{i}^{0}}

也是 \small f(X)\small X^{0} 处沿 \small x_{i} 方向的切线的斜率(函数在 \small X^{0} 处有不同方向的多条切线)
计算过程是只把一个坐标轴当成变量,其他轴当成常量,这样变成对一元函数求导
其实偏导就是对多元函数的某个二维切面求导

举个简单的例子
\small z = x^{2} + y^{2}

该函数是一个以坐标原点为顶点的旋转抛物面

求在 \small x 方向的偏导,就是把 \small y^{2} 当常数然后求导,结果为
\small \frac{\partial z}{\partial x}=2x

实际上固定 \small y 得到的是一个二维切面,这个切面实际上是一条抛物线
该抛物线形状不受 \small y 取值的影响,\small y 的变化影响的是抛物线的位置
就像 \small y=x^{2}+b\small x 处的导数即切线斜率不受 \small b 值的影响

可以看到导数和偏导数本质上是一样的,都是求函数值沿某个坐标轴方向的变化率
只不过导数针对一元函数,偏导数针对多元函数

方向导数

偏导数只能求函数值在某个坐标轴方向的变化率,方向导数则是求函数值在任意方向的变化率

设有多元函数
\small y=f(X)=f(x_{1},...,x_{i},...,x_{n})

则函数在点 \small X^{0}=(x_{1}^{0},...,x_{i}^{0},...,x_{n}^{0}) 处沿任意方向 \small l 的导数为

\small \frac{\partial f(X^{0})}{\partial l}=\lim_{\Delta \rho\rightarrow 0}\frac{f(x_{1}+\Delta x_{1},...,x_{i}+\Delta x_{i},...,x_{n}+\Delta x_{n})-f(X^{0})}{\Delta\rho}

其中
\small \Delta\rho=\sqrt{(\Delta x_{1})^2+...+(\Delta x_{i})^2+...+(\Delta x_{n})^2}
\small l= (\Delta x_{1},...,\Delta x_{i},...,\Delta x_{n})
\small l 的方向由 \small (\Delta x_{1},...,\Delta x_{i},...,\Delta x_{n}) 各个值的比例关系决定

可以看到偏导数是方向导数的一个特例,即 \small l 只在一个方向上有值的话就是偏导数

\small l 转换为余弦向量,可以通过偏导数求出方向导数
比如
\small g = f(x,y,z) = x^{2} + y^{3} + z^{4}
要求导的点为
\small (1,1,1)
要求导的方向为
\small l = (2,-2,1)
\small l 的长度为
\small \sqrt{(2)^{2}+(-2)^{2}+(1)^{2}} = 3
转为余弦向量
\small l = (cos\alpha,cos\beta,cos\gamma) = (\frac{2}{3},-\frac{2}{3},\frac{1}{3})
则有
\small \frac{\partial f}{\partial l}=\frac{\partial f}{\partial x}cos\alpha +\frac{\partial f}{\partial y}cos\beta +\frac{\partial f}{\partial z}cos\gamma
   \small =2xcos\alpha + 3y^{2}cos\beta + 4z^{3}cos\gamma
   \small =2\times1\times \frac{2}{3} + 3\times1\times (-\frac{2}{3}) + 4\times1\times \frac{1}{3}
   \small =\frac{2}{3}

梯度

方向导数是为了求函数值在某个点沿某个方向的变化率
梯度则是为了求函数值在某个点处变化率最大的方向,梯度由各个轴的偏导函数组成

设有多元函数
\small y=f(X)=f(x_{1},...,x_{i},...,x_{n})

其在 \small X^{0}=(x_{1}^{0},...,x_{i}^{0},...,x_{n}^{0}) 处的梯度为

\small \nabla f(X^{0}) = (\frac{\partial f(X^{0})}{\partial x_{1}^{0}},..., \frac{\partial f(X^{0})}{\partial x_{i}^{0}},...,\frac{\partial f(X^{0})}{\partial x_{n}^{0}})

可以看到梯度是一个向量,代表函数值变化率最大的方向

并且该梯度向量在每个轴的分量是函数在该轴的偏导数

梯度下降

如果函数有极小值,那么使 \small X 不断沿着梯度方向减小,可以得到使 \small y 最小的 \small X
即通过下面的迭代,算出来的 \small X 可以使 \small y 最小
  \small X := X - \alpha \nabla f(X)
其中 \small \alpha 是步长,即沿梯度方向变化的大小,必须取一个很小的值



相关文章

网友评论

      本文标题:导数、偏导数、方向导数、梯度、梯度下降

      本文链接:https://www.haomeiwen.com/subject/jagefhtx.html