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

导数

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

则函数在点 \(\normalsize x_{0}\) 处的导数为

\(\normalsize f^{'}(x_{0})=\lim_{\Delta x\rightarrow 0}\frac{f(x_{0}+\Delta x)-f(x_{0})}{\Delta x}\)

求出来的值是 \(\normalsize y\)\(\normalsize x_{0}\) 处沿 \(\normalsize x\) 方向的变化率即

\(\normalsize \Delta y=\Delta x f^{'}(x_{0})\)

也是 \(\normalsize f(x)\)\(\normalsize x_{0}\) 处的切线的斜率

如果函数有极小值,那么使 \(\normalsize x\) 不断沿着切线方向减少,可以得到使 \(\normalsize y\) 最小的 \(\normalsize x\)
即通过下面的迭代,算出来的 \(\normalsize x\) 可以使 \(\normalsize y\) 最小

\(\normalsize x := x - \alpha f^{'}(x)\)

其中 \(\normalsize \alpha\) 是步长,即沿切线方向变化的大小,必须取一个很小的值

偏导数

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

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

\(\normalsize \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}}\)

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

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

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

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

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


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

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

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

方向导数

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

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

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

\(\normalsize \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}\)

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

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

\(\normalsize l\) 转换为余弦向量,可以通过偏导数求出方向导数
比如

\(\normalsize g = f(x,y,z) = x^{2} + y^{3} + z^{4}\)

要求导的点为

\(\normalsize (1,1,1)\)

要求导的方向为

\(\normalsize l = (2,-2,1)\)

\(\normalsize l\) 的长度为

\(\normalsize \sqrt{(2)^{2}+(-2)^{2}+(1)^{2}} = 3\)

转为余弦向量

\(\normalsize l = (cos\alpha,cos\beta,cos\gamma) = (\frac{2}{3},-\frac{2}{3},\frac{1}{3})\)

则有

\(\normalsize \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\)
   \(\normalsize =2xcos\alpha + 3y^{2}cos\beta + 4z^{3}cos\gamma\)
   \(\normalsize =2\times1\times \frac{2}{3} + 3\times1\times (-\frac{2}{3}) + 4\times1\times \frac{1}{3}\)
   \(\normalsize =\frac{2}{3}\)

梯度

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

设有多元函数

\(\normalsize y=f(X)=f(x_{1},...,x_{i},...,x_{n})\)

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

\(\normalsize \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}})\)

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

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

梯度下降

如果函数有极小值,那么使 \(\normalsize X\) 不断沿着梯度方向减小,可以得到使 \(\normalsize y\) 最小的 \(\normalsize X\)
即通过下面的迭代,算出来的 \(\normalsize X\) 可以使 \(\normalsize y\) 最小

  \(\normalsize X := X - \alpha \nabla f(X)\)

其中 \(\normalsize \alpha\) 是步长,即沿梯度方向变化的大小,必须取一个很小的值



posted @ 2020-02-15 18:58  moon~light  阅读(2300)  评论(0编辑  收藏  举报