O(n)和 o(n)
O(n)
f(x)=O(g(x))f(x)=O(g(x))f(x)=O(g(x))
- order 阶,多项式阶
- 数学表述:∃X0,M,f(x)≤Mg(x)\exists X_0,M,f(x)\leq Mg(x)∃X0,M,f(x)≤Mg(x)
举例:M=2,2x2=O(x2),x0任意M=2,2x^2=O(x^2),x_0任意M=2,2x2=O(x2),x0任意
o(n)
- 数学表述:∀ε,∃X0,f(x)≤εg(x)\forall\varepsilon,\exists X_0,f(x)\leq \varepsilon g(x)∀ε,∃X0,f(x)≤εg(x)
- 意义:当x足够大时,可以在任意ε\varepsilonε条件下成立
极限
X−>∞,f(x)g(x)−>0 X->\infty ,\frac{f(x)}{g(x)}->0X−>∞,g(x)f(x)−>0
X−>x1,f(x)−>y1X->x_1,f(x)->y_1X−>x1,f(x)−>y1
导数
基本运算
-
含义
函数在某一点的变化率 -
python实现
import sympy as sp #载入包
str_expr = "x**3-x*3"
expr = sp.sympify(str_expr)
print(sp.diff(expr))
- 求导的方法
(1)四则运算
+:(f(x)±g(x))′=f(x)′±g(x)′(f(x)\pm g(x))'=f(x)'\pm g(x)'(f(x)±g(x))′=f(x)′±g(x)′
×:(uv)′=u′v+uv′\times:(uv)'=u'v+uv'×:(uv)′=u′v+uv′
÷:(uv)′=u′v−uv′v2\div:(\frac{u}{v})'=\frac{u'v-uv'}{v^2}÷:(vu)′=v2u′v−uv′
(2)复合函数(链式法则)
[f(g(x))]′=f′(g(x0))∗g′(x0)[f(g(x))]'=f'(g(x_0))*g'(x_0)[f(g(x))]′=f′(g(x0))∗g′(x0)
与神经网络关系密切
导数应用
- 费马定理
f(x)f(x)f(x)在区间内,当X=x0X=x_0X=x0时,存在极值=>f’(x0)=0f’(x_0)=0f’(x0)=0;
反之不见得成立(反例:y=x3y=x^3y=x3),但可以作为寻找极值的参考。
- 推导:
x<x0,limx−>x0f(x)−f(x0)x−x0≥0x<x_0,\lim_{x->x_0}\frac{f(x)-f(x_0)}{x-x_0}\geq 0x<x0,x−>x0limx−x0f(x)−f(x0)≥0
x<x0,limx−>x0f(x)−f(x0)x−x0≤0x<x_0,\lim_{x->x_0}\frac{f(x)-f(x_0)}{x-x_0}\leq 0x<x0,x−>x0limx−x0f(x)−f(x0)≤0
f′(x)即≥0又≤0,所以f′(x)=0f'(x)即\geq 0又\leq 0,所以f'(x)=0f′(x)即≥0又≤0,所以f′(x)=0
- 函数逼近
f(x)−f(x0)x−x0=f′(x0)=>f(x)=f(x0)+f′(x0)(x−x0)\frac{f(x)-f(x_0)}{x-x_0}=f'(x_0)=>f(x)=f(x_0)+f'(x_0)(x-x_0)x−x0f(x)−f(x0)=f′(x0)=>f(x)=f(x0)+f′(x0)(x−x0)
- 意义:非线性的函数可以用斜率为f′(x0)f'(x_0)f′(x0)的线性函数近似表示
(1)Rolle中值定理
f′(x2)=0,x0<x2<x1,f(x0)=f(x1)=0f'(x_2)=0, x_0<x_2<x_1,f(x_0)=f(x_1)=0f′(x2)=0,x0<x2<x1,f(x0)=f(x1)=0
(2)拉格朗日中值定理
x和x0之间的斜率=f(x)−f(x0)x−x0=f′(x1),x0<x1<xx和x_0之间的斜率=\frac{f(x)-f(x_0)}{x-x_0}=f'(x_1),x_0<x_1<xx和x0之间的斜率=x−x0f(x)−f(x0)=f′(x1),x0<x1<x
- 泰勒展开
- 目的:更精细的拟合f(x)
- 为了研究函数逼近和函数本身差多少,引入泰勒展开:
函数逼近:f(x)≈f(x0)+f′(x0)(x−x0)函数逼近:f(x)\approx f(x_0)+f'(x_0)(x-x_0)函数逼近:f(x)≈f(x0)+f′(x0)(x−x0)
拉格朗日:f(x)=f(x0)+f(x1)(x−x0),x1∈[x0,x]拉格朗日:f(x)=f(x_0)+f(x_1)(x-x_0),x_1\in[x_0,x]拉格朗日:f(x)=f(x0)+f(x1)(x−x0),x1∈[x0,x]
f(x)=f(x0)+{(x−x0)f′(x0)+...+(x−x0)Nf(N)(x0)N!+o((x−x0)N)}f(x)=f(x_0)+\{(x-x_0)f'(x_0)+...+(x-x_0)^N\frac{f^{(N)}(x_0)}{N!}+o((x-x_0)^N)\}f(x)=f(x0)+{(x−x0)f′(x0)+...+(x−x0)NN!f(N)(x0)+o((x−x0)N)}
凸函数
下凸函数
- 定义
连接函数f(x)f(x)f(x)上的f(x1)f(x_1)f(x1)和f(x2)f(x_2)f(x2),在x1和x2x_1和x_2x1和x2区间内,函数值均小于线性函数的值,即为下凸函数。
- 数学表述:
线性函数:f(a)+θ(f(b)−f(a)),θ∈[0,1]f(a)+\theta(f(b)-f(a)),\theta \in [0,1]f(a)+θ(f(b)−f(a)),θ∈[0,1]
凸函数:f(a+θ(b−a))f(a+\theta(b-a))f(a+θ(b−a))
线性函数>凸函数
- 性质
(1)f′(x)<0,当x<x0;f′(x)>0,当x>x0f'(x)<0,当x<x_0;f'(x)>0,当x>x_0f′(x)<0,当x<x0;f′(x)>0,当x>x0
(2)f′′(x)>0f''(x)>0f′′(x)>0
上凸函数
- 定义
连接函数f(x)f(x)f(x)上的f(x1)f(x_1)f(x1)和f(x2)f(x_2)f(x2),在x1和x2x_1和x_2x1和x2区间内,函数值均大于线性函数的值,即为上凸函数。
- 性质
(1)f′(x)>0,当x<x0;f′(x)<0,当x>x0f'(x)>0,当x<x_0;f'(x)<0,当x>x_0f′(x)>0,当x<x0;f′(x)<0,当x>x0
(2)f′′(x)<0f''(x)< 0f′′(x)<0