O(n)和 o(n)
O(n)
f ( x ) = O ( g ( x ) ) f(x)=O(g(x)) f(x)=O(g(x))
- order 阶,多项式阶
- 数学表述:
∃
X
0
,
M
,
f
(
x
)
≤
M
g
(
x
)
\exists X_0,M,f(x)\leq Mg(x)
∃X0,M,f(x)≤Mg(x)
举例: M = 2 , 2 x 2 = O ( x 2 ) , x 0 任 意 M=2,2x^2=O(x^2),x_0任意 M=2,2x2=O(x2),x0任意
o(n)
- 数学表述: ∀ ε , ∃ X 0 , 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)}->0
X−>∞,g(x)f(x)−>0
X
−
>
x
1
,
f
(
x
)
−
>
y
1
X->x_1,f(x)->y_1
X−>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)′
×
:
(
u
v
)
′
=
u
′
v
+
u
v
′
\times:(uv)'=u'v+uv'
×:(uv)′=u′v+uv′
÷
:
(
u
v
)
′
=
u
′
v
−
u
v
′
v
2
\div:(\frac{u}{v})'=\frac{u'v-uv'}{v^2}
÷:(vu)′=v2u′v−uv′
(2)复合函数(链式法则)
[
f
(
g
(
x
)
)
]
′
=
f
′
(
g
(
x
0
)
)
∗
g
′
(
x
0
)
[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 = x 0 X=x_0 X=x0时,存在极值=> f ’ ( x 0 ) = 0 f’(x_0)=0 f’(x0)=0;
反之不见得成立(反例: y = x 3 y=x^3 y=x3),但可以作为寻找极值的参考。
- 推导:
x < x 0 , lim x − > x 0 f ( x ) − f ( x 0 ) x − x 0 ≥ 0 x<x_0,\lim_{x->x_0}\frac{f(x)-f(x_0)}{x-x_0}\geq 0 x<x0,x−>x0limx−x0f(x)−f(x0)≥0
x < x 0 , lim x − > x 0 f ( x ) − f ( x 0 ) x − x 0 ≤ 0 x<x_0,\lim_{x->x_0}\frac{f(x)-f(x_0)}{x-x_0}\leq 0 x<x0,x−>x0limx−x0f(x)−f(x0)≤0
f ′ ( x ) 即 ≥ 0 又 ≤ 0 , 所 以 f ′ ( x ) = 0 f'(x)即\geq 0又\leq 0,所以f'(x)=0 f′(x)即≥0又≤0,所以f′(x)=0
- 函数逼近
f ( x ) − f ( x 0 ) x − x 0 = f ′ ( x 0 ) = > f ( x ) = f ( x 0 ) + f ′ ( x 0 ) ( x − x 0 ) \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 ′ ( x 0 ) f'(x_0) f′(x0)的线性函数近似表示
(1)Rolle中值定理
f
′
(
x
2
)
=
0
,
x
0
<
x
2
<
x
1
,
f
(
x
0
)
=
f
(
x
1
)
=
0
f'(x_2)=0, x_0<x_2<x_1,f(x_0)=f(x_1)=0
f′(x2)=0,x0<x2<x1,f(x0)=f(x1)=0
(2)拉格朗日中值定理
x
和
x
0
之
间
的
斜
率
=
f
(
x
)
−
f
(
x
0
)
x
−
x
0
=
f
′
(
x
1
)
,
x
0
<
x
1
<
x
x和x_0之间的斜率=\frac{f(x)-f(x_0)}{x-x_0}=f'(x_1),x_0<x_1<x
x和x0之间的斜率=x−x0f(x)−f(x0)=f′(x1),x0<x1<x
- 泰勒展开
- 目的:更精细的拟合f(x)
- 为了研究函数逼近和函数本身差多少,引入泰勒展开:
函 数 逼 近 : f ( x ) ≈ f ( x 0 ) + f ′ ( x 0 ) ( x − x 0 ) 函数逼近:f(x)\approx f(x_0)+f'(x_0)(x-x_0) 函数逼近:f(x)≈f(x0)+f′(x0)(x−x0)
拉 格 朗 日 : f ( x ) = f ( x 0 ) + f ( x 1 ) ( x − x 0 ) , x 1 ∈ [ x 0 , 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 ( x 0 ) + { ( x − x 0 ) f ′ ( x 0 ) + . . . + ( x − x 0 ) N f ( N ) ( x 0 ) N ! + o ( ( x − x 0 ) 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 ( x 1 ) f(x_1) f(x1)和 f ( x 2 ) f(x_2) f(x2),在 x 1 和 x 2 x_1和x_2 x1和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 < x 0 ; f ′ ( x ) > 0 , 当 x > x 0 f'(x)<0,当x<x_0;f'(x)>0,当x>x_0 f′(x)<0,当x<x0;f′(x)>0,当x>x0
(2) f ′ ′ ( x ) > 0 f''(x)>0 f′′(x)>0
上凸函数
- 定义
连接函数 f ( x ) f(x) f(x)上的 f ( x 1 ) f(x_1) f(x1)和 f ( x 2 ) f(x_2) f(x2),在 x 1 和 x 2 x_1和x_2 x1和x2区间内,函数值均大于线性函数的值,即为上凸函数。
- 性质
(1) f ′ ( x ) > 0 , 当 x < x 0 ; f ′ ( x ) < 0 , 当 x > x 0 f'(x)>0,当x<x_0;f'(x)<0,当x>x_0 f′(x)>0,当x<x0;f′(x)<0,当x>x0
(2) f ′ ′ ( x ) < 0 f''(x)< 0 f′′(x)<0