【机器学习】数学基础——微积分篇

一、O(n)与o(n)

order 阶
维基百科:https://en.wikipedia.org/wiki/Big_O_notation

O(n) ∃    x 0 , M , 使 得 x ⩾ x 0 时 , 有 f ( x ) ⩽ M g ( x ) 。 \exists \ \ x_{0},M,使得 x\geqslant x_{0} 时,有f(x)\leqslant Mg(x)。   x0,M,使xx0f(x)Mg(x)
  要点: g ( x ) g(x) g(x)的常数倍 M M M可以限制住 f ( x ) f(x) f(x)

o(n) ∀   ε , ∃    x 0 , 使 得 x ⩾ x 0 时 , f ( x ) ⩽ ε g ( x ) , 其 中 , ε 可 以 足 够 小 。 \forall \ \varepsilon,\exists \ \ x_{0},使得x\geqslant x_{0}时,f(x)\leqslant\varepsilon g(x),其中,\varepsilon可以足够小。  ε,  x0,使xx0f(x)εg(x),ε
  要点: f ( x ) f(x) f(x)的阶比 g ( x ) g(x) g(x)要小, o(n)O(n) 要严格。

二、导数、偏导数、方向导数与梯度

维基百科:https://en.wikipedia.org/wiki/Derivative
     https://en.wikipedia.org/wiki/Gradient
导数计算:https://www.derivative-calculator.net/
 
导数:指的是一元函数中,函数 y = f ( x ) y=f(x) y=f(x)在某一点处沿 x x x轴正方向的变化率。
∂ f ( x ) ∂ x = lim ⁡ Δ x → 0 f ( x + Δ x ) − f ( x ) Δ x \frac{\partial f(x)}{\partial x}=\lim_{\Delta x\rightarrow 0}\frac{f\left (x+\Delta x \right ) - f\left ( x \right )}{\Delta x} xf(x)=Δx0limΔxf(x+Δx)f(x)
偏导数:指的是多元函数中,函数 y = f (   x 1 ,   x 2 , … ,   x n ) y=f(\ x_{1},\ x_{2},…,\ x_{n}) y=f( x1, x2, xn)在某一点处沿某一坐标轴 (   x 1 ,   x 2 , … ,   x n ) (\ x_{1},\ x_{2},…,\ x_{n}) ( x1, x2, xn)正方向的变化率。
∂ ∂ x j f ( x 0 , x 1 , . . . , x n ) = lim ⁡ Δ x → 0 f ( x 0 , . . . , x j + Δ x , . . . , x n ) − f ( x 0 , . . . , x j , . . . , x n ) Δ x \frac{\partial }{\partial x_{j}}f\left ( x_{0},x_{1},...,x_{n} \right )=\lim_{\Delta x\rightarrow 0}\frac{f\left ( x_{0},...,x_{j}+\Delta x,...,x_{n} \right ) - f\left ( x_{0},...,x_{j},...,x_{n} \right )}{\Delta x} xjf(x0,x1,...,xn)=Δx0limΔxf(x0,...,xj+Δx,...,xn)f(x0,...,xj,...,xn)
方向导数:函数沿任意方向的变化率,即某一点在某一趋近方向上的导数值。
∂ ∂ l f ( x 0 , x 1 , . . . , x n ) = lim ⁡ ρ → 0 f ( x 0 + Δ x 0 , . . . , x j + Δ x j , . . . , x n + Δ x n ) − f ( x 0 , . . . , x j , . . . , x n ) ρ \frac{\partial }{\partial l}f\left ( x_{0},x_{1},...,x_{n} \right )=\lim_{\rho \rightarrow 0}\frac{f\left ( x_{0}+\Delta x_{0},...,x_{j}+\Delta x_{j},...,x_{n}+\Delta x_{n} \right ) - f\left ( x_{0},...,x_{j},...,x_{n} \right )}{\rho } lf(x0,x1,...,xn)=ρ0limρf(x0+Δx0,...,xj+Δxj,...,xn+Δxn)f(x0,...,xj,...,xn) ρ = ( Δ x 0 ) 2 + . . . + ( Δ x j ) 2 + . . . + ( Δ x n ) 2 \rho =\sqrt{\left (\Delta x_{0} \right )^{2}+...+\left (\Delta x_{j} \right )^{2}+...+\left (\Delta x_{n} \right )^{2}} ρ=(Δx0)2+...+(Δxj)2+...+(Δxn)2
可微:具有一阶连续偏导数,意味着可微。

梯度:函数在某一点的梯度是一个向量,它的方向与取得最大方向导数的方向一致,它的是方向导数的最大值。
▽ f = g r a d f ( x 0 , x 1 , . . . , x n ) = ( ∂ f ∂ x 0 , ∂ f ∂ x 1 , . . . , ∂ f ∂ x n ) \bigtriangledown f=gradf\left ( x_{0},x_{1},...,x_{n} \right )=\left ( \frac{\partial f}{\partial x_{0}},\frac{\partial f}{\partial x_{1}},...,\frac{\partial f}{\partial x_{n}} \right ) f=gradf(x0,x1,...,xn)=(x0f,x1f,...,xnf)

三、函数逼近与泰勒展开

相关定理
  极限:https://en.wikipedia.org/wiki/Limit_(mathematics)
  链式法则:https://en.wikipedia.org/wiki/Chain_rule
  费马定理:https://en.wikipedia.org/wiki/Fermat's_theorem_(stationary_points)
  罗尔中值定理:https://en.wikipedia.org/wiki/Rolle's_theorem
  拉格朗日中值定理:https://en.wikipedia.org/wiki/Mean_value_theorem
  柯西中值定理:https://en.wikipedia.org/wiki/Mean_value_theorem
  函数逼近:https://en.wikipedia.org/wiki/Linear_approximation
  洛必达法则:https://en.wikipedia.org/wiki/L'Hôpital's_rule
  泰勒展开:https://en.wikipedia.org/wiki/Taylor_series
  凸函数:https://en.wikipedia.org/wiki/Convex_function

费马定理:对于函数 f ′ ( x ) = 0 f^{'}(x) = 0 f(x)=0,是函数在该处有极值点的必要不充分条件。

凸函数:函数的二阶导数 f ′ ′ ( x ) &gt; 0 f^{&#x27;&#x27;}(x) &gt;0 f(x)>0,则该函数为凸函数(下),反之 f ′ ′ ( x ) &lt; 0 f^{&#x27;&#x27;}(x) &lt;0 f(x)<0,则该函数为上凸函数。二阶导数 f ′ ′ ( x ) = 0 f^{&#x27;&#x27;}(x) = 0 f(x)=0,则该点是函数的可能拐点。

函数逼近:指函数的近似表示,用于近似求解。

泰勒展开:泰勒公式是将一个在 x = x 0 x=x_{0} x=x0处具有 n n n阶导数的函数 f ( x ) f(x) f(x),利用关于 ( x − x 0 ) (x-x_{0}) (xx0) n n n次多项式来逼近函数的方法。若函数 f ( x ) f(x) f(x)在包含 x 0 x_{0} x0的某个闭区间 [ a , b ] [a,b] [a,b]上具有 n n n阶导数,且在开区间 ( a , b ) (a,b) (a,b)上具有 ( n + 1 ) (n+1) (n+1)阶导数,则对闭区间 [ a , b ] [a,b] [a,b]上任意一点 x x x,成立下式:
f ( x ) = f ( x 0 ) 0 ! + f ′ ( x 0 ) 1 ! ( x − x 0 ) + f ′ ′ ( x 0 ) 2 ! ( x − x 0 ) 2 + . . . + f n ( x 0 ) n ! ( x − x 0 ) n + R n ( x ) f(x)=\frac{f(x_{0})}{0!}+\frac{f^{&#x27;}(x_{0})}{1!}(x-x_{0})+\frac{f^{&#x27;&#x27;}(x_{0})}{2!}(x-x_{0})^{2}+...+\frac{f^{n}(x_{0})}{n!}(x-x_{0})^{n}+R_{n}(x) f(x)=0!f(x0)+1!f(x0)(xx0)+2!f(x0)(xx0)2+...+n!fn(x0)(xx0)n+Rn(x) R n ( x ) 是 ( x − x 0 ) n 的 高 阶 无 穷 小 R_{n}(x)是(x-x_{0})^{n}的高阶无穷小 Rn(x)(xx0)n

四、雅可比矩阵和Hessian矩阵

维基百科:https://en.wikipedia.org/wiki/Jacobian_matrix_and_determinant
     https://en.wikipedia.org/wiki/Hessian_matrix

梯度是标量对向量的求导,Jacobian和Hessian矩阵是向量对向量的求导,分别是一阶导矩阵和二阶导矩阵。

Jacobian矩阵:可以理解为矩阵的梯度(Matrix Gradient)。
J = ∂ f ∂ x = [ ∂ f ∂ x 1 ⋯ ∂ f ∂ x n ] = [ ∂ f 1 ∂ x 1 ⋯ ∂ f 1 ∂ x n ⋮ ⋱ ⋮ ∂ f m ∂ x 1 ⋯ ∂ f m ∂ x n ] \textbf{J}=\frac{\partial \textbf{f}}{\partial \textbf{x}}=\left [\frac{\partial \textbf{f}}{\partial x_{1}}\cdots \frac{\partial \textbf{f}}{\partial x_{n}} \right ]=\begin{bmatrix} \frac{\partial f_{1}}{\partial x_{1}} &amp; \cdots &amp; \frac{\partial f_{1}}{\partial x_{n}}\\ \vdots &amp; \ddots &amp; \vdots \\ \frac{\partial f_{m}}{\partial x_{1}}&amp; \cdots &amp; \frac{\partial f_{m}}{\partial x_{n}} \end{bmatrix} J=xf=[x1fxnf]=x1f1x1fmxnf1xnfm 即 J i j = ∂ f i ∂ x j , m × n 阶 矩 阵 即\textbf{J}_{ij}=\frac{\partial f_{i}}{\partial x_{j}},m\times n阶矩阵 Jij=xjfi,m×n 其 中 , f = ( f 1 , . . . , f m ) , x = ( x 1 , . . . , x n ) 其中,\textbf{f}=(f_{1},...,f_{m}),\textbf{x}=(x_{1},...,x_{n}) f=(f1,...,fm),x=(x1,...,xn)

Hessian矩阵:与多元函数的凹凸是有密切关联的。

H = [ ∂ 2 f ∂ x 1 2 ∂ 2 f ∂ x 1 ∂ x 2 ⋯ ∂ 2 f ∂ x 1 ∂ x n ∂ 2 f ∂ x 2 ∂ x 1 ∂ 2 f ∂ x 2 2 ⋯ ∂ 2 f ∂ x 2 ∂ x n ⋮ ⋮ ⋱ ⋮ ∂ 2 f ∂ x n ∂ x 1 ∂ 2 f ∂ x n ∂ x 2 ⋯ ∂ 2 f ∂ x n 2 ] \textbf{H}=\begin{bmatrix} \frac{\partial^2 \textbf{f}}{\partial x_{1}^2} &amp; \frac{\partial^2 \textbf{f}}{\partial x_{1}\partial x_{2}} &amp; \cdots &amp; \frac{\partial^2 \textbf{f}}{\partial x_{1}\partial x_{n}}\\ \frac{\partial^2 \textbf{f}}{\partial x_{2}\partial x_{1}} &amp; \frac{\partial^2 \textbf{f}}{\partial x_{2}^2} &amp; \cdots &amp; \frac{\partial^2 \textbf{f}}{\partial x_{2}\partial x_{n}}\\ \vdots &amp; \vdots &amp; \ddots &amp; \vdots \\ \frac{\partial^2 \textbf{f}}{\partial x_{n}\partial x_{1}} &amp; \frac{\partial^2 \textbf{f}}{\partial x_{n}\partial x_{2}} &amp; \cdots &amp; \frac{\partial^2 \textbf{f}}{\partial x_{n}^2} \end{bmatrix} H=x122fx2x12fxnx12fx1x22fx222fxnx22fx1xn2fx2xn2fxn22f 即 H i j = ∂ 2 f ∂ x i ∂ x j , n × n 阶 对 称 矩 阵 即\textbf{H}_{ij}=\frac{\partial^2 f}{\partial x_{i}\partial x_{j}},n\times n阶对称矩阵 Hij=xixj2f,n×n 其 中 , f 是 多 元 函 数 f ( x 1 , . . . , x n ) 其中,\textbf{f}是多元函数f(x_{1},...,x_{n}) ff(x1,...,xn)

  记 f f f M M M点处的Hessian矩阵为 H ( M ) \textbf{H}(M) H(M)。对于 H ( M ) \textbf{H}(M) H(M),有如下结论:

  • H ( M ) \textbf{H}(M) H(M)是正定矩阵时,函数 f f f有极小值;
  • H ( M ) \textbf{H}(M) H(M)是负定矩阵时,函数 f f f有极大值;
  • H ( M ) \textbf{H}(M) H(M)是不定矩阵时,还要看更高阶的导数。

五、拉格朗日乘数法

维基百科:https://en.wikipedia.org/wiki/Lagrange_multiplier

拉格朗日乘数法是一种寻找变量受一个或多个条件所限制的多元函数的极值的方法。用于解决约束优化问题,引入拉格朗日乘子将含有 n n n个变量和 k k k个约束条件的问题,转化为含有 ( n + k ) (n+k) (n+k)个变量的无约束优化问题。

求二元函数 z = f ( x , y ) z=f(x,y) z=f(x,y)在条件 φ ( x , y ) = 0 \varphi(x,y)=0 φ(x,y)=0下的极值,可以转化为函数 F ( x , y , λ ) = f ( x , y ) + λ φ ( x , y ) F(x,y,\lambda)=f(x,y)+\lambda \varphi(x,y) F(x,y,λ)=f(x,y)+λφ(x,y)的无条件极值问题。

要点:拉格朗日乘数法所得的极点会包含原问题的所有极值点,但并不保证每个极值点都是原问题的极值点。

F ( x , y , λ ) = f ( x , y ) + λ φ ( x , y ) F(x,y,\lambda)=f(x,y)+\lambda \varphi(x,y) F(x,y,λ)=f(x,y)+λφ(x,y),若 Δ F ( x 0 , y 0 , λ 0 ) = 0 ⃗ \Delta F(x_{0},y_{0},\lambda_{0})=\vec{0} ΔF(x0,y0,λ0)=0 ,则 ( x 0 , y 0 , λ 0 ) (x_{0},y_{0},\lambda_{0}) (x0,y0,λ0)是函数 F ( x , y , λ ) F(x,y,\lambda) F(x,y,λ)的驻点,通过如下步骤,得到驻点的值。
{ F x = 0 F y = 0 F λ = 0 \left\{\begin{matrix} F_{x}=0\\ F_{y}=0\\ F_{\lambda}=0\\ \end{matrix}\right. Fx=0Fy=0Fλ=0
F ( x , y , λ ) F(x,y,\lambda) F(x,y,λ)称为拉格朗日函数, λ \lambda λ称为拉格朗日乘数(Lagrange multiplier)。

六、参考资料

  1. [机器学习] ML重要概念:梯度(Gradient)与梯度下降法(Gradient Descent)
  2. 导数、偏导数、方向导数、梯度、梯度下降
  3. [视频课程]机器学习的数学基础
  4. 如何直观形象的理解方向导数与梯度以及它们之间的关系?
  5. 拉格朗日乘数法(Lagrange multiplier)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值