2021-07-13

Datawhale组队学习之集成学习——Task1 数学基础

集成学习

高等数学

  1. 函数的定义
    定义:设数集 D ⊂ R ,  则称映射  f : D → R  为定义在  D  上的函数,通常简记为  D \subset {\mathbf{R}}, \text { 则称映射 } f: D \rightarrow \mathbf{R} \text { 为定义在 } D \text { 上的函数,通常简记为 } D⊂R, 则称映射 f:D→R 为定义在 D 上的函数,通常简记为 
    y = f ( x ) , x ∈ D y=f(x), x \in D y=f(x),x∈D
    函数定义中,对每个 x ∈ D x \in D x∈D,按对应法则 f f f,总有唯一确定的值 y y y 与之对应, 这个值称为函数 f f f 在 x x x 处的函数值,记作 f ( x ) , f(x), f(x), 即 y = f ( x ) . y=f(x) . y=f(x). 因变量 y y y 与自变量 x x x 之间的这种依赖关系,通常称为函数关系. 函数值 f ( x ) f(x) f(x) 的全体所构成的集合称为函数 f f f 的值域,记作 R f R_{f} Rf​ 或 f ( D ) , f(D), f(D), 即
    R f = f ( D ) = { y ∣ y = f ( x ) , x ∈ D } R_{f}=f(D)=\{y \mid y=f(x), x \in D\} Rf​=f(D)={y∣y=f(x),x∈D}
    说白了,函数就是实数集到实数集的一个映射,如:
    y = ∣ x ∣ = { x , x ⩾ 0 − x , x < 0 y=|x|=\left\{\begin{array}{ll} x, & x \geqslant 0 \\ -x, & x<0 \end{array}\right. y=∣x∣={x,−x,​x⩾0x<0​
    的定义域 D = ( − ∞ , + ∞ ) , D=(-\infty,+\infty), D=(−∞,+∞), 值域 R f = [ 0 , + ∞ ) R_{f}=[0,+\infty) Rf​=[0,+∞) 。

  2. 复合函数
    设函数 y = f ( u ) y=f(u) y=f(u) 的定义城为 D f , D_{f}, Df​, 函数 u = g ( x ) u=g(x) u=g(x) 的定义域为 D x , D_{x}, Dx​, 且其值域 R g ⊂ D t , R_{g} \subset D_{t}, Rg​⊂Dt​, 则由下式确定的函数
    y = f [ g ( x ) ] , x ∈ D x y=f[g(x)], \quad x \in D_{x} y=f[g(x)],x∈Dx​
    称为由函数 u = g ( x ) u=g(x) u=g(x) 与函数 y = f ( u ) y=f(u) y=f(u) 构成的复合函数,它的定义域为 D x D_{x} Dx​ ,变量 u u u 称为中间变量。

例子:物体运动的动能为 E = m v 2 / 2 , E=m v^{2} / 2, E=mv2/2, 而*落体的速度为 v = g t , v=g t, v=gt, 所以*落体的动能是时间 t t t 的复合函数 :
E = 1 2 m g 2 t 2 E=\frac{1}{2} m g^{2} t^{2} E=21​mg2t2
3. 导数
定义:设函数 y = f ( x ) y=f(x) y=f(x) 在点 x 0 x_{0} x0​ 的某个邻域内有定义,当自变量 x x x 在 x 0 x_{0} x0​ 处取得增量
Δ x \Delta x Δx ;如果 Δ y \Delta y Δy 与 Δ x \Delta x Δx 之比当 Δ x → 0 \Delta x \rightarrow 0 Δx→0 时的 极限存在, 则称函数 y = y= y= f ( x ) f(x) f(x) 在点 x 0 x_{0} x0​ 处可导,并称这个极限为函数 y = f ( x ) y=f(x) y=f(x) 在点 x 0 x_{0} x0​ 处的导数,记为 f ′ ( x 0 ) , f^{\prime}\left(x_{0}\right), f′(x0​), 即
f ′ ( x 0 ) = lim ⁡ Δ , x → 0 Δ y Δ x = lim ⁡ Δ x → 0 f ( x 0 + Δ x ) − f ( x 0 ) Δ x f^{\prime}\left(x_{0}\right)=\lim _{\Delta, x \rightarrow 0} \frac{\Delta y}{\Delta x}=\lim _{\Delta x \rightarrow 0} \frac{f\left(x_{0}+\Delta x\right)-f\left(x_{0}\right)}{\Delta x} f′(x0​)=Δ,x→0lim​ΔxΔy​=Δx→0lim​Δxf(x0​+Δx)−f(x0​)​
也可记作 y ′ ∣ x = x 0 \left.y^{\prime}\right|_{x=x_{0}} y′∣x=x0​​, d y   d x ∣ x = x 0 \left.\frac{\mathrm{d} y}{\mathrm{~d} x}\right|_{x=x_{0}}  dxdy​∣∣∣​x=x0​​ .

若函数 y = f ( x ) y=f(x) y=f(x) 的导数 y ′ = f ′ ( x ) y^{\prime}=f^{\prime}(x) y′=f′(x) 可导,则称 f ′ ( x ) f^{\prime}(x) f′(x) 的导数为 f ( x ) f(x) f(x) 的二阶导数,记作 y ′ ′ y^{\prime \prime} y′′ 或 d 2 y d x 2 , \frac{d^{2} y}{d x^{2}}, dx2d2y​, 即
y ′ ′ = ( y ′ ) ′  或  d 2 y d x 2 = d d x ( d y d x ) y^{\prime \prime}=\left(y^{\prime}\right)^{\prime} \text { 或 } \frac{d^{2} y}{d x^{2}}=\frac{d}{d x}\left(\frac{d y}{d x}\right) y′′=(y′)′ 或 dx2d2y​=dxd​(dxdy​)
类似地,二阶导数的导数称为三阶导数,依次类推。二阶和二阶以上的导数统称为高阶导数

定义:
设二元函数 = f ( x , y ) =f(x, y) =f(x,y) 在点 ( x 0 , y 0 ) \left(x_{0}, y_{0}\right) (x0​,y0​) 的某一邻域内有定义,当固定在 y 0 y_{0} y0​ 而x在 x 0 x_{0} x0​ 处有增量 Δ x \Delta x Δx时, 相应的函数有增量 Δ x z = f ( x 0 + Δ x , y 0 ) − f ( x 0 , y 0 ) . \Delta_{x} z=f\left(x_{0}+\Delta x, y_{0}\right)-f\left(x_{0}, y_{0}\right) . Δx​z=f(x0​+Δx,y0​)−f(x0​,y0​).
如果 lim ⁡ Δ x → 0 Δ x z Δ x \lim _{\Delta x \rightarrow 0} \frac{\Delta_{x} z}{\Delta x} limΔx→0​ΔxΔx​z​ 存在,就称此极限为函数 z = f ( x , y ) z=f(x, y) z=f(x,y)
在点( x 0 , y 0 ) \left.x_{0}, y_{0}\right) x0​,y0​) 处对x的偏导数.
记作 ∂ z ∂ x ∣ ( x 0 , y 0 ) , ∂ f ∂ x ∣ ( x 0 , y 0 ) , z x ∣ ( x 0 , y 0 ) , f x ( x 0 , y 0 ) . \frac{\partial z}{\partial x}\left|\left(x_{0}, y_{0}\right), \frac{\partial f}{\partial x}\right|\left(x_{0}, y_{0}\right)^{, z_{x} \mid\left(x_{0}, y_{0}\right)}, f_{x}\left(x_{0}, y_{0}\right) . ∂x∂z​∣∣∣​(x0​,y0​),∂x∂f​∣∣∣​(x0​,y0​),zx​∣(x0​,y0​),fx​(x0​,y0​).
即 ∂ z ∂ x ∣ ( x 0 , y 0 ) = lim ⁡ Δ x → 0 Δ x z Δ x = lim ⁡ Δ x → 0 f ( x 0 + Δ x , y 0 ) − f ( x 0 , y 0 ) Δ x \left.\frac{\partial z}{\partial x}\right|_{\left(x_{0}, y_{0}\right)}=\lim _{\Delta x \rightarrow 0} \frac{\Delta_{x} z}{\Delta x}=\lim _{\Delta x \rightarrow 0} \frac{f\left(x_{0}+\Delta x, y_{0}\right)-f\left(x_{0}, y_{0}\right)}{\Delta x} ∂x∂z​∣∣​(x0​,y0​)​=limΔx→0​ΔxΔx​z​=limΔx→0​Δxf(x0​+Δx,y0​)−f(x0​,y0​)​

  1. 梯度向量
    梯度的本意是一个向量(矢量),表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)。
    定义:设二元函数 z = f ( x , y ) z=f(x, y) z=f(x,y) 在平面区域D上具有一阶连续偏导数,则对于每一个点P(x, y)都可定出一个向量 { ∂ f ∂ x , ∂ f ∂ y } = f x ( x , y ) i ˉ + f y ( x , y ) j ˉ , \left\{\frac{\partial f}{\partial x}, \frac{\partial f}{\partial y}\right\}=f_{x}(x, y) \bar{i}+f_{y}(x, y) \bar{j}, {∂x∂f​,∂y∂f​}=fx​(x,y)iˉ+fy​(x,y)jˉ​, 该函数就称为函数 z = f ( x , y ) z=f(x, y) z=f(x,y) 在点P ( x , y ) (\mathrm{x}, \mathrm{y}) (x,y) 的梯度,记作gradf ( x , y ) (\mathrm{x}, \mathrm{y}) (x,y) 或
    ∇ f ( x , y ) \nabla f(x, y) ∇f(x,y),即有:
    gradf ⁡ ( x , y ) = ∇ f ( x , y ) = { ∂ f ∂ x , ∂ f ∂ y } = f x ( x , y ) i ˉ + f y ( x , y ) j ˉ \operatorname{gradf}(\mathrm{x}, \mathrm{y})=\nabla f(x, y)=\left\{\frac{\partial f}{\partial x}, \frac{\partial f}{\partial y}\right\}=f_{x}(x, y) \bar{i}+f_{y}(x, y) \bar{j} gradf(x,y)=∇f(x,y)={∂x∂f​,∂y∂f​}=fx​(x,y)iˉ+fy​(x,y)jˉ​
    其中 ∇ = ∂ ∂ x i ˉ + ∂ ∂ y j ˉ \nabla=\frac{\partial}{\partial x} \bar{i}+\frac{\partial}{\partial y} \bar{j} ∇=∂x∂​iˉ+∂y∂​jˉ​ 称为(二维的)向量微分算子或Nabla算子, ∇ f = ∂ f ∂ x i ˉ + ∂ f ∂ y j ˉ \nabla f=\frac{\partial f}{\partial x} \bar{i}+\frac{\partial f}{\partial y} \bar{j} ∇f=∂x∂f​iˉ+∂y∂f​jˉ​ 。

  2. 雅克比矩阵(Jacobian矩阵)
    假设 F : R n → R m F: \mathbb{R}_{n} \rightarrow \mathbb{R}_{m} F:Rn​→Rm​ 是一个从n维欧氏空间映射到到m维欧氏空间的函数。
    这个函数由m个实函数组成:
    y 1 ( x 1 , ⋯   , x n ) , ⋯   , y m ( x 1 , ⋯   , x n ) y_{1}\left(x_{1}, \cdots, x_{n}\right), \cdots, y_{m}\left(x_{1}, \cdots, x_{n}\right) y1​(x1​,⋯,xn​),⋯,ym​(x1​,⋯,xn​) 。这些函数的偏导数(如果存在)可以组成一个m行n列的矩阵,这个矩阵就是所谓的雅可 比矩阵:
    [ ∂ y 1 ∂ x 1 ⋯ ∂ y 1 ∂ x n ⋮ ⋱ ⋮ ∂ y m ∂ x 1 ⋯ ∂ y m ∂ x n ] \left[\begin{array}{ccc} \frac{\partial y_{1}}{\partial x_{1}} & \cdots & \frac{\partial y_{1}}{\partial x_{n}} \\ \vdots & \ddots & \vdots \\ \frac{\partial y_{m}}{\partial x_{1}} & \cdots & \frac{\partial y_{m}}{\partial x_{n}} \end{array}\right] ⎣⎢⎡​∂x1​∂y1​​⋮∂x1​∂ym​​​⋯⋱⋯​∂xn​∂y1​​⋮∂xn​∂ym​​​⎦⎥⎤​
    可见,梯度向量是雅克比矩阵的特例!

  3. 海森矩阵(Hessian 矩阵)
    黑塞矩阵(Hessian Matrix),又译作海森矩阵、海瑟矩阵、海塞矩阵等,是一个多元函数的二阶偏导数构成的方阵,描述了函数的局部曲率。
    在数学中,海森矩阵(Hessian matrix 或 Hessian)是一个自变量为向量的实值函数的二阶偏导数组成的方块矩阵,假設有一实数函数
    f ( x 1 , x 2 , … , x n ) f\left(x_{1}, x_{2}, \ldots, x_{n}\right) f(x1​,x2​,…,xn​)
    如果 f f f 所有的二阶偏导数都存在,那么 f f f 的海森矩阵的第 i j i j ij 项,即:
    H ( f ) i j ( x ) = D i D j f ( x ) H(f)_{i j}(x)=D_{i} D_{j} f(x) H(f)ij​(x)=Di​Dj​f(x)
    其中 x = ( x 1 , x 2 , … , x n ) , x=\left(x_{1}, x_{2}, \ldots, x_{n}\right), x=(x1​,x2​,…,xn​), 即
    H ( f ) = [ ∂ 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 ] H(f)=\left[\begin{array}{cccc} \frac{\partial^{2} f}{\partial x_{1}^{2}} & \frac{\partial^{2} f}{\partial x_{1} \partial x_{2}} & \cdots & \frac{\partial^{2} f}{\partial x_{1} \partial x_{n}} \\ \frac{\partial^{2} f}{\partial x_{2} \partial x_{1}} & \frac{\partial^{2} f}{\partial x_{2}^{2}} & \cdots & \frac{\partial^{2} f}{\partial x_{2} \partial x_{n}} \\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial^{2} f}{\partial x_{n} \partial x_{1}} & \frac{\partial^{2} f}{\partial x_{n} \partial x_{2}} & \cdots & \frac{\partial^{2} f}{\partial x_{n}^{2}} \end{array}\right] H(f)=⎣⎢⎢⎢⎢⎢⎡​∂x12​∂2f​∂x2​∂x1​∂2f​⋮∂xn​∂x1​∂2f​​∂x1​∂x2​∂2f​∂x22​∂2f​⋮∂xn​∂x2​∂2f​​⋯⋯⋱⋯​∂x1​∂xn​∂2f​∂x2​∂xn​∂2f​⋮∂xn2​∂2f​​⎦⎥⎥⎥⎥⎥⎤​
    实际上,Hessian矩阵是梯度向量g(x)对自变量x的Jacobian矩阵。

  4. 函数极值问题

一元函数框架下:

1.判定极值的一阶充分条件:
设函数 f ( x ) f(x) f(x) 在 x 0 x_{0} x0​ 处连续,且在 x 0 x_{0} x0​ 的某去心邻域 U ( x 0 , δ ) U\left(x_{0}, \delta\right) U(x0​,δ) 内可导
(1) 若 x ∈ ( x 0 − δ , x 0 ) x \in\left(x_{0}-\delta, x_{0}\right) x∈(x0​−δ,x0​) 时, f ′ ( x ) > 0 , f^{\prime}(x)>0, f′(x)>0, 而 x ∈ ( x 0 , x 0 + δ ) x \in\left(x_{0}, x_{0}+\delta\right) x∈(x0​,x0​+δ) 时, f ′ ( x ) < 0 , f^{\prime}(x)<0, f′(x)<0, 则 f ( x ) f(x) f(x) 在 x 0 x_{0} x0​ 处取得极大值;
(2) 若 x ∈ ( x 0 − δ , x 0 ) x \in\left(x_{0}-\delta, x_{0}\right) x∈(x0​−δ,x0​) 时, f ′ ( x ) < 0 f^{\prime}(x)<0 f′(x)<0,而 x ∈ ( x 0 , x 0 + δ ) x \in\left(x_{0}, x_{0}+\delta\right) x∈(x0​,x0​+δ) 时, f ′ ( x ) > 0 f^{\prime}(x)>0 f′(x)>0,则 f ( x ) f(x) f(x) 在 x 0 x_{0} x0​ 处取得极小值
(3) 若 x ∈ U ˙ ( x 0 , δ ) x \in \dot{U}\left(x_{0}, \delta\right) x∈U˙(x0​,δ) 时, f ′ ( x ) f^{\prime}(x) f′(x) 的符号保持不变,则 f ( x ) f(x) f(x) 在 x 0 x_{0} x0​ 处没有极值

2.判定极值的二阶充分条件:
设函数 f ( x ) f(x) f(x) 在 x 0 x_{0} x0​ 处具有二阶导数且 f ′ ( x 0 ) = 0 , f ′ ′ ( x 0 ) ≠ 0 f^{\prime}\left(x_{0}\right)=0, \quad f^{\prime \prime}\left(x_{0}\right) \neq 0 f′(x0​)=0,f′′(x0​)​=0 那么:
(1) 当 f ′ ′ ( x 0 ) < 0 f^{\prime \prime}\left(x_{0}\right)<0 f′′(x0​)<0 时,函数 f ( x ) f(x) f(x) 在 x 0 x_{0} x0​ 处取得极大值;
(2) 当 f ′ ′ ( x 0 ) > 0 f^{\prime \prime}\left(x_{0}\right)>0 f′′(x0​)>0 时,函数 f ( x ) f(x) f(x) 在 x 0 x_{0} x0​ 处取得极小值.

多元函数框架下:
定理:(二元函数取得极值的充分条件)如果函数 z = f ( x , y ) z=f(x, y) z=f(x,y) 在点 ( x 0 , y 0 ) \left(x_{0}, y_{0}\right) (x0​,y0​) 的某邻域内具有连续的二阶偏导数, ( x 0 , y 0 ) \left(x_{0}, y_{0}\right) (x0​,y0​) 是它的驻点,令:
A = f x x ( x 0 , y 0 ) , B = f x y ( x 0 , y 0 ) , C = f y y ( x 0 , y 0 ) Δ = B 2 − A C \begin{array}{c} A=f_{x x}\left(x_{0}, y_{0}\right), B=f_{x y}\left(x_{0}, y_{0}\right), C=f_{y y}\left(x_{0}, y_{0}\right) \\ \Delta=B^{2}-A C \end{array} A=fxx​(x0​,y0​),B=fxy​(x0​,y0​),C=fyy​(x0​,y0​)Δ=B2−AC​
则:
(1)当 Δ < 0 \Delta<0 Δ<0 时, f ( x , y ) f(x, y) f(x,y) 在 ( x 0 , y 0 ) \left(x_{0}, y_{0}\right) (x0​,y0​) 取得极值. 其中 A > 0 A>0 A>0 时取极小值, A < 0 A<0 A<0 时取极大值.
(2)当 Δ > 0 \Delta>0 Δ>0 时, f ( x 0 , y 0 ) f\left(x_{0}, y_{0}\right) f(x0​,y0​) 不是极值.
(3)当 Δ = 0 \Delta=0 Δ=0 时, 不能确定,需进一步判断.

更加严谨的表述:
设n多元实函数 f ( x 1 , x 2 , ⋯   , x n ) f\left(x_{1}, x_{2}, \cdots, x_{n}\right) f(x1​,x2​,⋯,xn​) 在点 M 0 ( a 1 , a 2 , … , a n ) M_{0}\left(a_{1}, a_{2}, \ldots, a_{n}\right) M0​(a1​,a2​,…,an​) 的邻域内有二阶连续偏导,若有:
∂ f ∂ x j ∣ ( a 1 , a 2 , … , a n ) = 0 , j = 1 , 2 , … , n \left.\frac{\partial f}{\partial x_{j}}\right|_{\left(a_{1}, a_{2}, \ldots, a_{n}\right)}=0, j=1,2, \ldots, n ∂xj​∂f​∣∣∣∣​(a1​,a2​,…,an​)​=0,j=1,2,…,n
并且
A = [ ∂ 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 ] A=\left[\begin{array}{cccc} \frac{\partial^{2} f}{\partial x_{1}^{2}} & \frac{\partial^{2} f}{\partial x_{1} \partial x_{2}} & \cdots & \frac{\partial^{2} f}{\partial x_{1} \partial x_{n}} \\ \frac{\partial^{2} f}{\partial x_{2} \partial x_{1}} & \frac{\partial^{2} f}{\partial x_{2}^{2}} & \cdots & \frac{\partial^{2} f}{\partial x_{2} \partial x_{n}} \\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial^{2} f}{\partial x_{n} \partial x_{1}} & \frac{\partial^{2} f}{\partial x_{n} \partial x_{2}} & \cdots & \frac{\partial^{2} f}{\partial x_{n}^{2}} \end{array}\right] A=⎣⎢⎢⎢⎢⎢⎡​∂x12​∂2f​∂x2​∂x1​∂2f​⋮∂xn​∂x1​∂2f​​∂x1​∂x2​∂2f​∂x22​∂2f​⋮∂xn​∂x2​∂2f​​⋯⋯⋱⋯​∂x1​∂xn​∂2f​∂x2​∂xn​∂2f​⋮∂xn2​∂2f​​⎦⎥⎥⎥⎥⎥⎤​
则有如下结果:
(1) 当A正定矩阵时, f ( x 1 , x 2 , ⋯   , x n ) f\left(x_{1}, x_{2}, \cdots, x_{n}\right) f(x1​,x2​,⋯,xn​) 在 M 0 ( a 1 , a 2 , … , a n ) M_{0}\left(a_{1}, a_{2}, \ldots, a_{n}\right) M0​(a1​,a2​,…,an​) 处是极小值;
(2) 当A负定矩阵时, f ( x 1 , x 2 , ⋯   , x n ) f\left(x_{1}, x_{2}, \cdots, x_{n}\right) f(x1​,x2​,⋯,xn​) 在 M 0 ( a 1 , a 2 , … , a n ) M_{0}\left(a_{1}, a_{2}, \ldots, a_{n}\right) M0​(a1​,a2​,…,an​) 处是极大值;
(3) 当A不定矩阵时, M 0 ( a 1 , a 2 , … , a n ) M_{0}\left(a_{1}, a_{2}, \ldots, a_{n}\right) M0​(a1​,a2​,…,an​) 不是极值点。
(4) 当A为半正定矩阵或半负定矩阵时, M 0 ( a 1 , a 2 , … , a n ) M_{0}\left(a_{1}, a_{2}, \ldots, a_{n}\right) M0​(a1​,a2​,…,an​) 是“可疑"极值点,尚需要利用其他方法来判定。

例子:求三元函数 f ( x , y , z ) = x 2 + y 2 + z 2 + 2 x + 4 y − 6 z f(x, y, z)=x^{2}+y^{2}+z^{2}+2 x+4 y-6 z f(x,y,z)=x2+y2+z2+2x+4y−6z 的极值。
解: 因为 ∂ f ∂ x = 2 x + 2 , ∂ f ∂ y = 2 y + 4 , ∂ f ∂ z = 2 z − 6 , \frac{\partial f}{\partial x}=2 x+2, \frac{\partial f}{\partial y}=2 y+4, \frac{\partial f}{\partial z}=2 z-6, ∂x∂f​=2x+2,∂y∂f​=2y+4,∂z∂f​=2z−6, 故该三元函数的驻点是 (-1,-2,3) 。
又因为 ∂ 2 f ∂ x 2 = 2 , ∂ 2 f ∂ y 2 = 2 , ∂ 2 f ∂ z 2 = 2 , ∂ 2 f ∂ x ∂ y = 0 , ∂ 2 f ∂ x ∂ z = 0 , ∂ 2 f ∂ y ∂ z = 0 \frac{\partial^{2} f}{\partial x^{2}}=2, \frac{\partial^{2} f}{\partial y^{2}}=2, \frac{\partial^{2} f}{\partial z^{2}}=2, \frac{\partial^{2} f}{\partial x \partial y}=0, \frac{\partial^{2} f}{\partial x \partial z}=0, \frac{\partial^{2} f}{\partial y \partial z}=0 ∂x2∂2f​=2,∂y2∂2f​=2,∂z2∂2f​=2,∂x∂y∂2f​=0,∂x∂z∂2f​=0,∂y∂z∂2f​=0
故有: A = ( 2 0 0 0 2 0 0 0 2 ) A=\left(\begin{array}{ccc}2 & 0 & 0 \\ 0 & 2 & 0 \\ 0 & 0 & 2\end{array}\right) A=⎝⎛​200​020​002​⎠⎞​
因为A是正定矩阵,故 (-1,-2,3) 是极小值点,且极小值 f ( − 1 , − 2 , 3 ) = − 14 f(-1,-2,3)=-14 f(−1,−2,3)=−14 。

  1. 泰勒公式
    泰勒公式就是用一个多项式函数去逼近一个给定的函数(即尽量使多项式函数图像拟合给定的函数图像)。如果一个非常复杂函数,想求其某点的值,直接求无法实现,这时候可以使用泰勒公式去近似的求该值,这是泰勒公式的应用之一。泰勒公式在机器学习中主要应用于梯度迭代。
    定义:设 n n n 是一个正整数。如果定义在一个包含a的区间上的函数 f f f 在 a a a 点处 n + 1 n+1 n+1 次可导,那么对于这个区间上的任意 x x x 都有:
    f ( x ) = f ( a ) 0 ! + f ′ ( a ) 1 ! ( x − a ) + f ′ ′ ( a ) 2 ! ( x − a ) 2 + ⋯ + f ( n ) ( a ) n ! ( x − a ) n + R n ( x ) = ∑ n = 0 N f ( n ) ( a ) n ! ( x − a ) n + R n ( x ) \begin{array}{c} f(x)=\frac{f(a)}{0 !}+\frac{f^{\prime}(a)}{1 !}(x-a)+\frac{f^{\prime \prime}(a)}{2 !}(x-a)^{2}+\cdots+\frac{f^{(n)}(a)}{n !}(x-a)^{n}+R_{n}(x) \\ =\sum_{n=0}^{N} \frac{f^{(n)}(a)}{n !}(x-a)^{n}+R_{n}(x) \end{array} f(x)=0!f(a)​+1!f′(a)​(x−a)+2!f′′(a)​(x−a)2+⋯+n!f(n)(a)​(x−a)n+Rn​(x)=∑n=0N​n!f(n)(a)​(x−a)n+Rn​(x)​
    其中的多项式称为函数在a处的泰勒展开式, R n ( x ) R_{n}(x) Rn​(x) 是泰勒公式的余项。

  2. 例子
    1、基于梯度的优化方法–梯度下降法

import numpy as np
import matplotlib.pyplot as plt


def f(x):
    return np.power(x, 2)

def d_f_1(x):
    '''
    求导数的方式1
    '''
    return 2.0 * x

def d_f_2(f, x, delta=1e-4):
    '''
    求导数的第二种方法
    '''
    return (f(x+delta) - f(x-delta)) / (2 * delta)


# plot the function
xs = np.arange(-10, 11)
plt.plot(xs, f(xs))


learning_rate = 0.1
max_loop = 30

x_init = 10.0
x = x_init
lr = 0.1
x_list = []
for i in range(max_loop):
    #d_f_x = d_f_1(x)
    d_f_x = d_f_2(f, x)
    x = x - learning_rate * d_f_x
    x_list.append(x)
x_list = np.array(x_list)
plt.scatter(x_list,f(x_list),c="r")
plt.show()

print('initial x =', x_init)
print('arg min f(x) of x =', x)
print('f(x) =', f(x))

2021-07-13
initial x = 10.0
arg min f(x) of x = 0.012379400392859128
f(x) = 0.00015324955408672073

2、基于梯度的优化方法–牛顿迭代法

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import time
%matplotlib inline
from mpl_toolkits.mplot3d import Axes3D
class Rosenbrock():
    def __init__(self):
        self.x1 = np.arange(-100, 100, 0.0001)
        self.x2 = np.arange(-100, 100, 0.0001)
        #self.x1, self.x2 = np.meshgrid(self.x1, self.x2)
        self.a = 1
        self.b = 1
        self.newton_times = 1000
        self.answers = []
        self.min_answer_z = []


    # 准备数据
    def data(self):
        z = np.square(self.a - self.x1) + self.b * np.square(self.x2 - np.square(self.x1))
        #print(z.shape)
        return z

    # 随机牛顿
    def snt(self,x1,x2,z,alpha):
        rand_init = np.random.randint(0,z.shape[0])
        x1_init,x2_init,z_init = x1[rand_init],x2[rand_init],z[rand_init]
        x_0 =np.array([x1_init,x2_init]).reshape((-1,1))
        #print(x_0)


        for i in range(self.newton_times):
            x_i = x_0 - np.matmul(np.linalg.inv(np.array([[12*x2_init**2-4*x2_init+2,-4*x1_init],[-4*x1_init,2]])),np.array([4*x1_init**3-4*x1_init*x2_init+2*x1_init-2,-2*x1_init**2+2*x2_init]).reshape((-1,1)))
            x_0 = x_i
            x1_init = x_0[0,0]
            x2_init = x_0[1,0]
        answer = x_0
        return answer


    # 绘图
    def plot_data(self,min_x1,min_x2,min_z):
        x1 = np.arange(-100, 100, 0.1)
        x2 = np.arange(-100, 100, 0.1)
        x1, x2 = np.meshgrid(x1, x2)
        a = 1
        b = 1
        z = np.square(a - x1) + b * np.square(x2 - np.square(x1))
        fig4 = plt.figure()
        ax4 = plt.axes(projection='3d')
        ax4.plot_surface(x1, x2, z, alpha=0.3, cmap='winter')  # 生成表面, alpha 用于控制透明度
        ax4.contour(x1, x2, z, zdir='z', offset=-3, cmap="rainbow")  # 生成z方向投影,投到x-y平面
        ax4.contour(x1, x2, z, zdir='x', offset=-6, cmap="rainbow")  # 生成x方向投影,投到y-z平面
        ax4.contour(x1, x2, z, zdir='y', offset=6, cmap="rainbow")  # 生成y方向投影,投到x-z平面
        ax4.contourf(x1, x2, z, zdir='y', offset=6, cmap="rainbow")  # 生成y方向投影填充,投到x-z平面,contourf()函数
        ax4.scatter(min_x1,min_x2,min_z,c='r')
        # 设定显示范围
        ax4.set_xlabel('X')
        ax4.set_ylabel('Y')
        ax4.set_zlabel('Z')
        plt.show()

    # 开始
    def start(self):
        times = int(input("请输入需要随机优化的次数:"))
        alpha = float(input("请输入随机优化的步长"))
        z = self.data()
        start_time = time.time()
        for i in range(times):
            answer = self.snt(self.x1,self.x2,z,alpha)
            self.answers.append(answer)
        min_answer = np.array(self.answers)
        for i in range(times):
            self.min_answer_z.append((1-min_answer[i,0,0])**2+(min_answer[i,1,0]-min_answer[i,0,0]**2)**2)
        optimal_z = np.min(np.array(self.min_answer_z))
        optimal_z_index = np.argmin(np.array(self.min_answer_z))
        optimal_x1,optimal_x2 = min_answer[optimal_z_index,0,0],min_answer[optimal_z_index,1,0]
        end_time = time.time()
        running_time = end_time-start_time
        print("优化的时间:%.2f秒!" % running_time)
        self.plot_data(optimal_x1,optimal_x2,optimal_z)
if __name__ == '__main__':
    snt = Rosenbrock()
    snt.start()

请输入需要随机优化的次数:100
请输入随机优化的步长0.001
优化的时间:1.91秒!
2021-07-13

随机事件与概率

  1. 随机试验、条件概率、事件的独立性

随机试验
试验是指为了察看某事的结果或某物的性能而从事的某种活动. 在概率论与数理统计中,一个试验如果具有以下3个特点:

  • (1) 可重复性: 在相同条件下可以重复进行:
  • (2) 可观察性: 每次试验的可能结果不止一个,并且能事先明确试验的所有可能结果:
  • (3) 不确定性: 一次试验之前,不能预知会出现哪一个结果。 就称这样的试验是一个随机试验,也简称为试验。

样本点和样本空间
每次试验的每一个结果称为基本事件,也称作样本点,记作 w 1 , w 2 , ⋯ w_{1}, w_{2}, \cdots w1​,w2​,⋯ 全部样本点的集合称为样本空间,记作 Ω , \Omega, Ω, 则 Ω = \Omega= Ω= { w 1 , w 2 , ⋯   } \left\{w_{1}, w_{2}, \cdots\right\} {w1​,w2​,⋯}

定义:设 A , B A, B A,B 是两个事件,且 P ( A ) > 0 , P(A)>0, P(A)>0, 则称
P ( B ∣ A ) = P ( A B ) P ( A ) P(B \mid A)=\frac{P(A B)}{P(A)} P(B∣A)=P(A)P(AB)​
为在事件A发生的条件下,事件B的条件概率

定义:如果事件B发生的可能性不受事件A发生与否的影响,即
P ( B ∣ A ) = P ( B ) P(B \mid A)=P(B) P(B∣A)=P(B)
则称事件B对于事件A独立.显然,若B对于A独立,则 A A A 对于 B B B 也一定独立,称事件 A A A 与事件 B B B 相互独立.

  1. 全概率公式和贝叶斯公式
    1、全概率公式
    定义:如果事件 A 1 , A 2 , ⋯   , A n A_{1}, A_{2}, \cdots, A_{n} A1​,A2​,⋯,An​ 是一个完备事件组,并且都具有正概率,则有:
    P ( B ) = P ( A 1 ) P ( B ∣ A 1 ) + P ( A 2 ) P ( B ∣ A 2 ) + ⋯ + P ( A n ) P ( B ∣ A n ) = ∑ i = 1 n P ( A i ) P ( B ∣ A i ) \begin{array}{c} P(B)=P\left(A_{1}\right) P\left(B \mid A_{1}\right)+P\left(A_{2}\right) P\left(B \mid A_{2}\right)+\cdots+P\left(A_{n}\right) P\left(B \mid A_{n}\right) \\ =\sum_{i=1}^{n} P\left(A_{i}\right) P\left(B \mid A_{i}\right) \end{array} P(B)=P(A1​)P(B∣A1​)+P(A2​)P(B∣A2​)+⋯+P(An​)P(B∣An​)=∑i=1n​P(Ai​)P(B∣Ai​)​
    对于任何事件 B , B, B, 事件 A A ˉ A \bar{A} AAˉ 构成最简单的完备事件组,根据全概率公式得
    P ( B ) = P ( A B + A ˉ B ) = P ( A B ) + P ( A ˉ B ) = P ( A ) P ( B ∣ A ) + P ( A ˉ ) P ( B ∣ A ˉ ) \begin{aligned} P(B) &=P(A B+\bar{A} B)=P(A B)+P(\bar{A} B) \\ &=P(A) P(B \mid A)+P(\bar{A}) P(B \mid \bar{A}) \end{aligned} P(B)​=P(AB+AˉB)=P(AB)+P(AˉB)=P(A)P(B∣A)+P(Aˉ)P(B∣Aˉ)​
    2、贝叶斯公式
    定义:设 A 1 , A 2 , ⋯   , A n A_{1}, A_{2}, \cdots, A_{n} A1​,A2​,⋯,An​ 是一完备事件组,则对任一事件 B , P ( B ) > 0 , B, P(B)>0, B,P(B)>0, 有
    P ( A i ∣ B ) = P ( A i B ) P ( B ) = P ( A i ) P ( B ∣ A i ) ∑ i = 1 n P ( A i ) P ( B ∣ A i ) P\left(A_{i} \mid B\right)=\frac{P\left(A_{i} B\right)}{P(B)}=\frac{P\left(A_{i}\right) P\left(B \mid A_{i}\right)}{\sum_{i=1}^{n} P\left(A_{i}\right) P\left(B \mid A_{i}\right)} P(Ai​∣B)=P(B)P(Ai​B)​=∑i=1n​P(Ai​)P(B∣Ai​)P(Ai​)P(B∣Ai​)​
    以上公式就叫贝叶斯公式,可由条件概率的定义及全概率公式证得。

  2. 随机变量、概率分布、概率密度函数

1、随机变量
把试验的结果与实数对应起来,随试验结果的不同而变化的量就是随机变量,包含离散型随机变量和连续型随机变量。
例子:
郑一枚匀称的硬币,观察正面、背面的出现情况。这一试验的样本空间为 Ω = { H , T } \Omega=\{H, T\} Ω={H,T}, 其中,H表示"正面朝上", T T T 表示“背面 朝上”。如果引入变量 X X X ,对试验的两个结果进行数值化,将 X X X 的值分别规定为1和0,即
X = { 1  if  出现  H 0  if  出现  T X=\left\{\begin{array}{ll} 1 & \text { if } \text { 出现 } H \\ 0 & \text { if } \text { 出现 } T \end{array}\right. X={10​ if  出现 H if  出现 T​
这里的 X X X 就叫随机变量,因为它能取的值是离散的,我们就叫它离散型随机变量。

2、概率分布
定义:设离散型随机变量 X X X 的所有可能取值为 x 1 , x 2 , ⋯   , x n , x_{1}, x_{2}, \cdots, x_{n}, x1​,x2​,⋯,xn​, 称为 X X X 的概率分布。
离散型随机变量 X X X 的分布律具有下列基本性质:

  1. p k ≥ 0 , k = 1 , 2 , ⋯ p_{k} \geq 0, k=1,2, \cdots pk​≥0,k=1,2,⋯
  2. ∑ i = 1 + ∞ p k = 1 \sum_{i=1}^{+\infty} p_{k}=1 ∑i=1+∞​pk​=1

二项分布
二项分布是一种离散型的概率分布。二项代表它有两种可能的结果:成功或者不成功。每次试验必须相互独立,重复n次,并且每 次试验成功的概率是相同的,为 p p p ; 失败的概率也相同,为 1 − p 1-p 1−p。掷硬币就是一个典型的二项分布。当我们要计算抛硬币吻,恰巧有 x x x 次正面朝上的概率,可以使用二项分布的公式:
P { X = k } = C n k p k ( 1 − p ) n − k P\{X=k\}=C_{n}^{k} p^{k}(1-p)^{n-k} P{X=k}=Cnk​pk(1−p)n−k
2021-07-13
泊松分布:
如果随机变量 X X X 的概率分布为
P { X = k } = λ k k ! e − λ , k = 0 , 1 , 2 , ⋯ P\{X=k\}=\frac{\lambda^{k}}{k !} e^{-\lambda}, k=0,1,2, \cdots P{X=k}=k!λk​e−λ,k=0,1,2,⋯
式中, λ > 0 \lambda>0 λ>0 为常数,则称随机变量 X X X 服从参数为 λ \lambda λ 的泊松(Possion)分布,记为 X ∼ P ( λ ) X \sim P(\lambda) X∼P(λ).
2021-07-13
3、概率密度函数
定义:若存在非负函数 f ( x ) f(x) f(x), 使一个连续型随机变量 X X X 取值于任一区间 ( a , b ] (a, b] (a,b] 的概率可以表示为
P { a < X ≤ b } = ∫ a b f ( x ) d x P\{a<X \leq b\}=\int_{a}^{b} f(x) d_{x} P{a<X≤b}=∫ab​f(x)dx​

正态分布:
正态分布是概率论中最重要的连续型分布,在19世纪前叶由德国数学家高斯(Gauss)加以推广,故又常称为高斯分布。 正态分布的概率密度函数曲线呈钟形,概率密度函数为
f ( x ) = 1 2 π σ e − ( x − μ ) 2 2 σ 2 f(x)=\frac{1}{\sqrt{2 \pi} \sigma} e^{-\frac{(x-\mu)^{2}}{2 \sigma^{2}}} f(x)=2π ​σ1​e−2σ2(x−μ)2​
具有两个参数 μ \mu μ 和 σ 2 \sigma^{2} σ2 。第一参数 μ \mu μ 是代表服从正态分布的随机变量的均值,第二个参数 σ 2 \sigma^{2} σ2 是此随机变量的方差。
如果一个随机变量 服从均值为 μ , \mu, μ, 标准差为 σ \sigma σ 的正态分布,数学上记作
X ∼ N ( μ , σ 2 ) X \sim N\left(\mu, \sigma^{2}\right) X∼N(μ,σ2)
我们通常所说的标准正态分布均值为0, 标准差为1的正态分布。
2021-07-13

  1. 随机变量的期望与方差

期望的性质:

  1. E ( c ) = c E(c)=c E(c)=c
  2. E ( X + c ) = E ( X ) + c E(X+c)=E(X)+c E(X+c)=E(X)+c
  3. E ( k X ) = k E ( X ) E(k X)=k E(X) E(kX)=kE(X)
  4. E ( k X + c ) = k E ( X ) + c E(k X+c)=k E(X)+c E(kX+c)=kE(X)+c
  5. E ( X + Y ) = E ( X ) + E ( Y ) E(X+Y)=E(X)+E(Y) E(X+Y)=E(X)+E(Y)

方差表示了随机变量的变异性,方差越大,随机变量的结果越不稳定。
定义:随机变量,若
E [ X − E ( X ) ] 2 E[X-E(X)]^{2} E[X−E(X)]2
存在,则称其为 X X X 的方差,记为 D ( X ) , D(X), D(X), 即
D ( X ) = E [ X − E ( X ) ] 2 D(X)=E[X-E(X)]^{2} D(X)=E[X−E(X)]2
而称 D ( X ) \sqrt{D(X)} D(X) ​ 为 X X X 的标准差或均方差。
由方差的定义和数学期望的性质,可以推出方差的计算公式:
D ( X ) = E ( X 2 ) − [ E ( X ) ] 2 D(X)=E\left(X^{2}\right)-[E(X)]^{2} D(X)=E(X2)−[E(X)]2

方差的性质
(1) D ( c ) = 0 D(c)=0 D(c)=0
(2) D ( X + c ) = D ( X ) D(X+c)=D(X) D(X+c)=D(X)
(3) D ( c X ) = c 2 D ( X ) D(c X)=c^{2} D(X) D(cX)=c2D(X)

  1. 例子

1、

上一篇:金融工程学(十四):新型期权、实物期权与金融创新


下一篇:LeetCode 17.14 - Smallest K LCCI