机器学习数学基础:3.偏导数
偏导数教程
一、偏导数的引入
在我们研究一元函数y=f(x)y = f(x)y=f(x)时,导数y′=f′(x)y^\prime = f^\prime(x)y′=f′(x)表示函数yyy关于xxx的变化率。然而,当我们遇到多元函数,例如二元函数z=f(x,y)z = f(x, y)z=f(x,y)时,情况变得更加复杂。我们可能会想知道函数zzz在xxx方向或yyy方向上的变化率,这就引入了偏导数的概念。
二、偏导数的定义
(一)二元函数的偏导数
对于二元函数z=f(x,y)z = f(x, y)z=f(x,y),我们定义在点(x0,y0)(x_0, y_0)(x0,y0)处关于xxx的偏导数为:
fx(x0,y0)=limΔx→0f(x0+Δx,y0)−f(x0,y0)Δxf_x(x_0, y_0)=\lim\limits_{\Delta x \to 0}\frac{f(x_0+\Delta x, y_0)-f(x_0, y_0)}{\Delta x}fx(x0,y0)=Δx→0limΔxf(x0+Δx,y0)−f(x0,y0)
它表示在点(x0,y0)(x_0, y_0)(x0,y0)处,当yyy固定为y0y_0y0,仅xxx发生微小变化Δx\Delta xΔx时,函数zzz的变化率。我们可以将yyy看作是暂时固定不变的,此时函数z=f(x,y0)z = f(x, y_0)z=f(x,y0)就类似于一个一元函数,按照一元函数导数的定义求出上述极限,这个极限就是z=f(x,y)z = f(x, y)z=f(x,y)在(x0,y0)(x_0, y_0)(x0,y0)关于xxx的偏导数,通常记为fx(x0,y0)f_x(x_0, y_0)fx(x0,y0),也可写成∂z∂x∣(x0,y0)\frac{\partial z}{\partial x}\vert_{(x_0,y_0)}∂x∂z∣(x0,y0)、∂f∂x∣(x0,y0)\frac{\partial f}{\partial x}\vert_{(x_0,y_0)}∂x∂f∣(x0,y0)或zx∣(x0,y0)z_x\vert_{(x_0,y_0)}zx∣(x0,y0)。
同样地,在点(x0,y0)(x_0, y_0)(x0,y0)处关于yyy的偏导数为:
fy(x0,y0)=limΔy→0f(x0,y0+Δy)−f(x0,y0)Δyf_y(x_0, y_0)=\lim\limits_{\Delta y \to 0}\frac{f(x_0, y_0+\Delta y)-f(x_0, y_0)}{\Delta y}fy(x0,y0)=Δy→0limΔyf(x0,y0+Δy)−f(x0,y0)
记为fy(x0,y0)f_y(x_0, y_0)fy(x0,y0),或∂z∂y∣(x0,y0)\frac{\partial z}{\partial y}\vert_{(x_0,y_0)}∂y∂z∣(x0,y0)、∂f∂y∣(x0,y0)\frac{\partial f}{\partial y}\vert_{(x_0,y_0)}∂y∂f∣(x0,y0)、zy∣(x0,y0)z_y\vert_{(x_0,y_0)}zy∣(x0,y0)。
(二)直观理解
想象你站在一个起伏的地形上,这个地形的高度可以用z=f(x,y)z = f(x, y)z=f(x,y)来表示,xxx和yyy是地面上的位置坐标,zzz是高度。当你沿着xxx方向行走时,你只关心xxx方向上高度的变化,而忽略yyy方向的移动,此时你感受到的高度变化率就是fxf_xfx;同理,当你沿着yyy方向行走时,感受到的高度变化率就是fyf_yfy。
三、偏导数的求导法则
(一)基本求导法则
- 将其他变量视为常数:当计算z=f(x,y)z = f(x, y)z=f(x,y)关于xxx的偏导数∂z∂x\frac{\partial z}{\partial x}∂x∂z时,将yyy视为常数,按照一元函数的求导法则进行求导。同理,计算∂z∂y\frac{\partial z}{\partial y}∂y∂z时,将xxx视为常数。
例如,对于函数z=x3y2+2sinyz = x^3y^2 + 2\sin yz=x3y2+2siny:
- 求∂z∂x\frac{\partial z}{\partial x}∂x∂z:把yyy看作常数,根据幂函数求导公式(xn)′=nxn−1(x^n)^\prime = nx^{n - 1}(xn)′=nxn−1和常数的导数为000,可得∂z∂x=(x3y2)′+(2siny)′\frac{\partial z}{\partial x}=(x^3y^2)^\prime + (2\sin y)^\prime∂x∂z=(x3y2)′+(2siny)′。因为yyy是常数,所以(2siny)′=0(2\sin y)^\prime = 0(2siny)′=0,而(x3y2)′=3x2y2(x^3y^2)^\prime = 3x^2y^2(x3y2)′=3x2y2,因此∂z∂x=3x2y2\frac{\partial z}{\partial x}=3x^2y^2∂x∂z=3x2y2。
- 求∂z∂y\frac{\partial z}{\partial y}∂y∂z:把xxx看作常数,(x3y2)′=2x3y(x^3y^2)^\prime = 2x^3y(x3y2)′=2x3y,(2siny)′=2cosy(2\sin y)^\prime = 2\cos y(2siny)′=2cosy,所以∂z∂y=2x3y+2cosy\frac{\partial z}{\partial y}=2x^3y + 2\cos y∂y∂z=2x3y+2cosy。
(二)高阶偏导数
-
二阶偏导数:如果z=f(x,y)z = f(x, y)z=f(x,y)的一阶偏导数fx(x,y)f_x(x, y)fx(x,y)和fy(x,y)f_y(x, y)fy(x,y)仍然可导,我们可以继续求偏导数。
- 关于xxx的二阶偏导数:
- 先对xxx求偏导,再对xxx求偏导,得到∂2z∂x2=∂∂x(∂z∂x)=fxx(x,y)\frac{\partial^2 z}{\partial x^2}=\frac{\partial}{\partial x}(\frac{\partial z}{\partial x})=f_{xx}(x, y)∂x2∂2z=∂x∂(∂x∂z)=fxx(x,y)。例如,对于z=x4yz = x^4yz=x4y,先求∂z∂x=4x3y\frac{\partial z}{\partial x}=4x^3y∂x∂z=4x3y,再对xxx求偏导得∂2z∂x2=12x2y\frac{\partial^2 z}{\partial x^2}=12x^2y∂x2∂2z=12x2y。
- 先对xxx求偏导,再对yyy求偏导,得到∂2z∂x∂y=∂∂y(∂z∂x)=fxy(x,y)\frac{\partial^2 z}{\partial x\partial y}=\frac{\partial}{\partial y}(\frac{\partial z}{\partial x})=f_{xy}(x, y)∂x∂y∂2z=∂y∂(∂x∂z)=fxy(x,y)。对于z=x4yz = x^4yz=x4y,先求∂z∂x=4x3y\frac{\partial z}{\partial x}=4x^3y∂x∂z=4x3y,再对yyy求偏导得∂2z∂x∂y=4x3\frac{\partial^2 z}{\partial x\partial y}=4x^3∂x∂y∂2z=4x3。
- 关于yyy的二阶偏导数:
- 先对yyy求偏导,再对yyy求偏导,得到∂2z∂y2=∂∂y(∂z∂y)=fyy(x,y)\frac{\partial^2 z}{\partial y^2}=\frac{\partial}{\partial y}(\frac{\partial z}{\partial y})=f_{yy}(x, y)∂y2∂2z=∂y∂(∂y∂z)=fyy(x,y)。对于z=x4yz = x^4yz=x4y,先求∂z∂y=x4\frac{\partial z}{\partial y}=x^4∂y∂z=x4,再对yyy求偏导得∂2z∂y2=0\frac{\partial^2 z}{\partial y^2}=0∂y2∂2z=0。
- 先对yyy求偏导,再对xxx求偏导,得到∂2z∂y∂x=∂∂x(∂z∂y)=fyx(x,y)\frac{\partial^2 z}{\partial y\partial x}=\frac{\partial}{\partial x}(\frac{\partial z}{\partial y})=f_{yx}(x, y)∂y∂x∂2z=∂x∂(∂y∂z)=fyx(x,y)。对于z=x4yz = x^4yz=x4y,先求∂z∂y=x4\frac{\partial z}{\partial y}=x^4∂y∂z=x4,再对xxx求偏导得∂2z∂y∂x=4x3\frac{\partial^2 z}{\partial y\partial x}=4x^3∂y∂x∂2z=4x3。
- 关于xxx的二阶偏导数:
-
混合偏导数相等的条件:在一定条件下(通常是二阶混合偏导数连续),fxy(x,y)=fyx(x,y)f_{xy}(x, y)=f_{yx}(x, y)fxy(x,y)=fyx(x,y)。这一性质在很多情况下能简化计算和理论推导,因为我们只需要计算其中一个混合偏导数即可。
(三)复合函数的偏导数法则
对于复合函数z=f(u(x,y),v(x,y))z = f(u(x, y), v(x, y))z=f(u(x,y),v(x,y)),其中u=u(x,y)u = u(x, y)u=u(x,y)和v=v(x,y)v = v(x, y)v=v(x,y)是中间变量,我们使用链式法则求偏导数。
- 对xxx求偏导:∂z∂x=∂f∂u∂u∂x+∂f∂v∂v∂x\frac{\partial z}{\partial x}=\frac{\partial f}{\partial u}\frac{\partial u}{\partial x}+\frac{\partial f}{\partial v}\frac{\partial v}{\partial x}∂x∂z=∂u∂f∂x∂u+∂v∂f∂x∂v。
- 对yyy求偏导:∂z∂y=∂f∂u∂u∂y+∂f∂v∂v∂y\frac{\partial z}{\partial y}=\frac{\partial f}{\partial u}\frac{\partial u}{\partial y}+\frac{\partial f}{\partial v}\frac{\partial v}{\partial y}∂y∂z=∂u∂f∂y∂u+∂v∂f∂y∂v。
例如,设z=f(u,v)=u2vz = f(u, v)=u^2vz=f(u,v)=u2v,u=x+yu = x + yu=x+y,v=xyv = xyv=xy:
- 求∂z∂x\frac{\partial z}{\partial x}∂x∂z:
- 首先,∂f∂u=2uv\frac{\partial f}{\partial u}=2uv∂u∂f=2uv,∂u∂x=1\frac{\partial u}{\partial x}=1∂x∂u=1,∂f∂v=u2\frac{\partial f}{\partial v}=u^2∂v∂f=u2,∂v∂x=y\frac{\partial v}{\partial x}=y∂x∂v=y。
- 则∂z∂x=∂f∂u∂u∂x+∂f∂v∂v∂x=2uv×1+u2×y\frac{\partial z}{\partial x}=\frac{\partial f}{\partial u}\frac{\partial u}{\partial x}+\frac{\partial f}{\partial v}\frac{\partial v}{\partial x}=2uv\times1 + u^2\times y∂x∂z=∂u∂f∂x∂u+∂v∂f∂x∂v=2uv×1+u2×y,将u=x+yu = x + yu=x+y和v=xyv = xyv=xy代入,得到∂z∂x=2(x+y)xy+(x+y)2y\frac{\partial z}{\partial x}=2(x + y)xy+(x + y)^2y∂x∂z=2(x+y)xy+(x+y)2y。
- 求∂z∂y\frac{\partial z}{\partial y}∂y∂z:
- 首先,∂f∂u=2uv\frac{\partial f}{\partial u}=2uv∂u∂f=2uv,∂u∂y=1\frac{\partial u}{\partial y}=1∂y∂u=1,∂f∂v=u2\frac{\partial f}{\partial v}=u^2∂v∂f=u2,∂v∂y=x\frac{\partial v}{\partial y}=x∂y∂v=x。
- 则∂z∂y=∂f∂u∂v∂y+∂f∂v∂v∂y=2uv×1+u2×x\frac{\partial z}{\partial y}=\frac{\partial f}{\partial u}\frac{\partial v}{\partial y}+\frac{\partial f}{\partial v}\frac{\partial v}{\partial y}=2uv\times1 + u^2\times x∂y∂z=∂u∂f∂y∂v+∂v∂f∂y∂v=2uv×1+u2×x,将u=x+yu = x + yu=x+y和v=xyv = xyv=xy代入,得到∂z∂y=2(x+y)xy+(x+y)2x\frac{\partial z}{\partial y}=2(x + y)xy+(x + y)^2x∂y∂z=2(x+y)xy+(x+y)2x。
(四)隐函数的偏导数
当函数由方程F(x,y,z)=0F(x, y, z) = 0F(x,y,z)=0所确定的隐函数z=z(x,y)z = z(x, y)z=z(x,y)时,我们可以使用以下公式求偏导数。
- 求∂z∂x\frac{\partial z}{\partial x}∂x∂z时,将yyy看作常数,根据隐函数求导公式∂z∂x=−FxFz\frac{\partial z}{\partial x}=-\frac{F_x}{F_z}∂x∂z=−FzFx,其中Fx=∂F∂xF_x=\frac{\partial F}{\partial x}Fx=∂x∂F,Fz=∂F∂zF_z=\frac{\partial F}{\partial z}Fz=∂z∂F。
例如,对于方程x2+y2+z2−1=0x^2 + y^2 + z^2 - 1 = 0x2+y2+z2−1=0,令F(x,y,z)=x2+y2+z2−1F(x, y, z)=x^2 + y^2 + z^2 - 1F(x,y,z)=x2+y2+z2−1,则Fx=2xF_x = 2xFx=2x,Fz=2zF_z = 2zFz=2z,所以∂z∂x=−2x2z=−xz\frac{\partial z}{\partial x}=-\frac{2x}{2z}=-\frac{x}{z}∂x∂z=−2z2x=−zx(假设z≠0z\neq 0z=0)。
同理,求∂z∂y\frac{\partial z}{\partial y}∂y∂z时,∂z∂y=−FyFz\frac{\partial z}{\partial y}=-\frac{F_y}{F_z}∂y∂z=−FzFy,对于上述方程Fy=2yF_y = 2yFy=2y,所以∂z∂y=−2y2z=−yz\frac{\partial z}{\partial y}=-\frac{2y}{2z}=-\frac{y}{z}∂y∂z=−2z2y=−zy(假设z≠0z\neq 0z=0)。
(五)对数求导法在偏导数中的应用
当函数具有复杂的乘积、商或幂的形式时,对数求导法可简化求导过程。
例如,对于函数z=(x2+y2)xyz = (x^2 + y^2)^{xy}z=(x2+y2)xy,先对等式两边取自然对数lnz=xyln(x2+y2)\ln z = xy\ln(x^2 + y^2)lnz=xyln(x2+y2)。
-
对xxx求偏导:
- 对lnz\ln zlnz关于xxx求偏导,根据复合函数求导法则,1z∂z∂x=yln(x2+y2)+2x2yx2+y2\frac{1}{z}\frac{\partial z}{\partial x}=y\ln(x^2 + y^2)+\frac{2x^2y}{x^2 + y^2}z1∂x∂z=yln(x2+y2)+x2+y22x2y。
- 所以∂z∂x=z(yln(x2+y2)+2x2yx2+y2)=(x2+y2)xy(yln(x2+y2)+2x2yx2+y2)\frac{\partial z}{\partial x}=z\left(y\ln(x^2 + y^2)+\frac{2x^2y}{x^2 + y^2}\right)=(x^2 + y^2)^{xy}\left(y\ln(x^2 + y^2)+\frac{2x^2y}{x^2 + y^2}\right)∂x∂z=z(yln(x2+y2)+x2+y22x2y)=(x2+y2)xy(yln(x2+y2)+x2+y22x2y)。
-
对yyy求偏导:
- 对lnz\ln zlnz关于yyy求偏导,1z∂z∂y=xln(x2+y2)+2xy2x2+y2\frac{1}{z}\frac{\partial z}{\partial y}=x\ln(x^2 + y^2)+\frac{2xy^2}{x^2 + y^2}z1∂y∂z=xln(x2+y2)+x2+y22xy2。
- 所以∂z∂y=z(xln(x2+y2)+2xy2x2+y2)=(x2+y2)xy(xln(x2+y2)+2xy2x2+y2)\frac{\partial z}{\partial y}=z\left(x\ln(x^2 + y^2)+\frac{2xy^2}{x^2 + y^2}\right)=(x^2 + y^2)^{xy}\left(x\ln(x^2 + y^2)+\frac{2xy^2}{x^2 + y^2}\right)∂y∂z=z(xln(x2+y2)+x2+y22xy2)=(x2+y2)xy(xln(x2+y2)+x2+y22xy2)。
四、偏导数的几何意义
(一)关于xxx的偏导数
函数z=f(x,y)z = f(x, y)z=f(x,y)表示一个空间曲面。当我们求fx(x0,y0)f_x(x_0, y_0)fx(x0,y0)时,想象用平面y=y0y = y_0y=y0去截这个曲面,得到一条曲线,fx(x0,y0)f_x(x_0, y_0)fx(x0,y0)就是这条曲线在点(x0,y0,f(x0,y0))(x_0, y_0, f(x_0, y_0))(x0,y0,f(x0,y0))处的切线关于xxx轴的斜率。它反映了在yyy固定为y0y_0y0时,函数zzz沿xxx方向的变化率,就像你沿着平行于xxx轴的方向在曲面上移动时,感受到的“爬坡”或“下坡”的陡峭程度。
(二)关于yyy的偏导数
同理,fy(x0,y0)f_y(x_0, y_0)fy(x0,y0)是用平面x=x0x = x_0x=x0截曲面得到的曲线在点(x0,y0,f(x0,y0))(x_0, y_0, f(x_0, y_0))(x0,y0,f(x0,y0))处的切线关于yyy轴的斜率,反映了在xxx固定为x0x_0x0时,函数zzz沿yyy方向的变化率。
五、偏导数的应用
(一)物理学中的应用
- 热传导问题:在热传导方程∂T∂t=α(∂2T∂x2+∂2T∂y2+∂2T∂z2)\frac{\partial T}{\partial t}=\alpha(\frac{\partial^2 T}{\partial x^2}+\frac{\partial^2 T}{\partial y^2}+\frac{\partial^2 T}{\partial z^2})∂t∂T=α(∂x2∂2T+∂y2∂2T+∂z2∂2T)中,T(x,y,z,t)T(x, y, z, t)T(x,y,z,t)表示温度随空间(x,y,z)(x, y, z)(x,y,z)和时间ttt的变化。∂T∂t\frac{\partial T}{\partial t}∂t∂T表示温度随时间的变化率,而二阶偏导数∂2T∂x2\frac{\partial^2 T}{\partial x^2}∂x2∂2T,∂2T∂y2\frac{\partial^2 T}{\partial y^2}∂y2∂2T和∂2T∂z2\frac{\partial^2 T}{\partial z^2}∂z2∂2T描述了温度在空间中的梯度变化,α\alphaα是热扩散系数。通过求解这个偏微分方程,可以分析热量在物体内的传播情况,例如在预测金属棒的温度分布随时间的变化,或者建筑物内的热量传递时非常有用。
- 流体力学:对于流体的速度场v⃗(x,y,z)=(vx(x,y,z),vy(x,y,z),vz(x,y,z))\vec{v}(x, y, z)=(v_x(x, y, z), v_y(x, y, z), v_z(x, y, z))v(x,y,z)=(vx(x,y,z),vy(x,y,z),vz(x,y,z)),偏导数∂vx∂x\frac{\partial v_x}{\partial x}∂x∂vx,∂vy∂y\frac{\partial v_y}{\partial y}∂y∂vy,∂vz∂z\frac{\partial v_z}{\partial z}∂z∂vz等描述了流体在不同方向上的速度变化率,可用于研究流体的流动特性,如是否存在湍流、漩涡等,对于设计飞机机翼、汽车外形等以减少流体阻力有重要意义。
(二)经济学中的应用
- 生产函数:对于生产函数Q=f(K,L)Q = f(K, L)Q=f(K,L),其中QQQ表示产量,KKK表示资本投入,LLL表示劳动投入,偏导数∂Q∂K\frac{\partial Q}{\partial K}∂K∂Q表示资本的边际产量,即当劳动投入LLL固定时,增加一单位资本投入所带来的产量增加量;∂Q∂L\frac{\partial Q}{\partial L}∂L∂Q表示劳动的边际产量,即资本投入KKK固定时,增加一单位劳动投入带来的产量增加量。企业可以根据这些边际产量来优化资源配置,以实现利润最大化。
(三)计算机图形学中的应用
- 在三维图形学中,对于一个由函数z=f(x,y)z = f(x, y)z=f(x,y)表示的曲面,其法向量n⃗\vec{n}n可通过n⃗=(−∂z∂x,−∂z∂y,1)\vec{n}=(-\frac{\partial z}{\partial x},-\frac{\partial z}{\partial y},1)n=(−∂x∂z,−∂y∂z,1)(经过归一化处理)计算得到。法向量对于光照计算、阴影生成等非常重要,因为它决定了光线如何与表面相互作用,从而影响物体在屏幕上的渲染效果,例如在渲染山脉、地形等复杂表面时,通过偏导数计算法向量,让物体看起来更加逼真。
更多推荐



所有评论(0)