机器学习简介。 数学分析。 梯度下降



回顾数学分析


函数连续性和导数


让 E subseteq mathbbR , 一一 是设定的极限点 E (即 a inE, forall varepsilon>0 space space|(a− varepsilon,a+ varepsilon) capE|= infty,(,) ), f\冒号E\到 mathbbR冒号到 。

定义1(Cauchy功能限制):

功能介绍 f\冒号E\到 mathbbR冒号到 致力于 在 x 寻求 一一 如果

 forall varepsilon>0\空间\空间\存在 delta>0\空间\空间 forallx\在E\空间\空间(0<|x−a|< delta Rightarrow|f(x)−A|< varepsilon)

空间空间存在空间空间在空间空间(())


名称:  lim limitsE nix\到af(x)=A到() 。

定义2:

  1. 间隔时间 ab 被叫集 ] a,b [\ space:= \ {x \ in \ mathbb {R} | a <x <b \} ;
  2. 点间隔 x in mathbbR 称为这一点的邻域 。
  3. 点的穿孔邻域是该点本身被排除在外的点的邻域。

名称:

  1. V(x) 或 U(x) -点的附近 x ;
  2.  overset circU(x) -刺破点 x ;
  3. UE(x):=E\上限U(x),\上限 circUE(x):=E\上限\上限 circU(x)

定义3(通过社区的功能限制):


 lim limitsE nix\到af(x)=A:= forallVR(A) space exist overset circUE(a) space space(f( overset circUE(a))\子集VR(A))


定义1和3是等效的。

定义4(某点函数的连续性):

  1. f\冒号E\到 mathbbR 连续输入 E中的$ a \ =

    =\全部V(f(a))\空间\空间\存在UE(a)\空间\空间(f(UE(a))\子集V(f(a)));

  2. f\冒号E\到 mathbbR 连续输入 E中的$ a \ =

     forall varepsilon>0\空间\空间\存在 delta>0\空间\空间 forallx\在E\空间\空间(|xa|< delta Rightarrow|f(x)−f(a)|< varepsilon)


定义3和4表明
( f\冒号E\到 mathbbR 连续输入 E中的$ a \ 在哪里 一 -极限点 E )  Leftrightarrow
 Leftrightarrow( lim limitsE nix toaf(x)=f(a))

定义5:

功能介绍 f\冒号E\到 mathbbR 称为连续 E 如果它在集合的每个点都是连续的 E 。

定义6:

  1. 功能介绍 f\冒号E\到 mathbbR 在场景上定义 E\子集 mathbbR 在这一点上称为可微 E中的$ a \ 限制集 E 如果增量存在这样的线性关系 x−a 参数函数 A cdot(x−a) [功能差异 f 在这一点上 一 ]那个增量 f(x)−f(a) 功能 f 表示为

    f(x)−f(a)=A cdot(x−a)+o(x−a) quadfor spacex\到a, spacex inE

  2. 价值

    f′(a)= lim limitE nix\到a fracf(x)−f(a)x−a


    称为导数函数 f 在这一点上 一 。

也

f′(x)= lim\子堆栈h\到0x+h,x inE fracf(x+h)−f(x)h



定义7:

  1. 点数 x0\在E\子集中 mathbbR 称为局部最大值(最小值)的点,函数中的值称为函数的局部最大值(最小值) f\冒号E\到 mathbbR 如果 \存在UE(x0) :

     forallx inUE(x0) space spacef(x) leqf(x0)(分别是f(x) geqf(x0))

  2. 局部最大值和最小值的点称为局部极值点,其中的函数值称为函数的局部极值 。
  3. 点数 x0\在E 极值功能 f\冒号E\到 mathbbR 称为内部极值点,如果 x0 是设定的极限点 E _- = \ {x \ in E | x <x_0 \} 和 E _ + = \ {x \ in E | x> x_0 \} 。

引理1(Fermat):

如果功能 f\冒号E\到 mathbbR 在内部极值点可区分 x0\在E ,则此时的导数为零: f′(x0)=0 。

命题1(罗尔定理):
如果功能 f\冒号[a,b]\到 mathbbR 在一段上连续 [a,b] 区间可微 ]a,b[ 和 f(a)=f(b) 然后有一点  xi in]a,b[ 这样 f′( xi)=0 。

定理1(拉格朗日有限增量定理):

如果功能 f\冒号[a,b]\到 mathbbR 在一段上连续 [a,b] 并且在区间上是可区分的 ]a,b[ 然后有一点  xi in]a,b[ 这样

f(b)−f(a)=f′( xi)(b−a)


推论1(函数单调性的标志):
如果该函数的导数在某个时间间隔的任何点都是非负(正),则该函数不会在此时间间隔内减小(增加)。

推论2(函数恒定性的判据):
连续切割 [a,b] 当且仅当函数的导数在间隔的任意点为零时,该函数才为常数 [a,b] (或至少间隔 ]a,b[ )

许多变量的函数的偏导数


通过  mathbbRm 表示集合:

\ mathbb {R} ^ m = \底线{\ mathbb {R} \ times \ mathbb {R} \ times \ cdots \ times \ mathbb {R}} _ m = \ {(\ omega_1,\ omega_2,... ,\ omega_m),\ space \ omega_i \ in \ mathbb {R} \ space \ forall i \ in \ overline {1,m} \}



定义8:

功能介绍 f\冒号E\到 mathbbR 在场景上定义 E\子集 mathbbRm 在这一点上称为可微 x\在E 限制集 E 如果

f(x+h)−f(x)=L(x)h+ alpha(x;h), qquad(1)

在哪里 L(x)\冒号\​​mathbbRm\到 mathbbR -关于 h 功能[功能差异 f 在这一点上 x (参考 df(x) 或 f′(x) )],以及  alpha(x;h)=o(h) 在 h\到0,x+h\在E 。

关系(1)可以重写如下:

f(x+h)−f(x)=f′(x)h+ alpha(x;h)

或

 bigtriangleupf(x;h)=df(x)h+ alpha(x;h)


如果我们转到该点的坐标记录 x=(x1,...,xm) ,向量 h=(h1,...,hm) 和线性函数 L(x)h=a1(x)h1+...+am(x)hm ,则等式(1)看起来像这样

f(x1+h1,...,xm+hm)−f(x1,...,xm)==a1(x)h1+...+am(x)hm+o(h) quadfor space spaceh\到0, qquad(2)

在哪里 a1(x),...,am(x) -与点相关 x 实数。 您需要找到这些数字。

我们表示

hi=hiei=0 cdote1+...+0 cdotei−1+hi cdotei+0 cdotei+1+...+0 cdotem,

在哪里 \ {e_1,...,e_m \} -根据  mathbbRm 。

在 h=hi 从(2)我们得到

f(x1,...,xi−1,xi+hi,xi+1,...,xm)−f(x1,...,xi,...,xm)==ai(x)hi+o(hi) quadfor space spacehi\到0。(3)美



从(3)得到

ai(x)= limhi\到0 fracf(x1,...,xi−1,xi+hi,xi+1,..,xm)−f(x1,...,xi,...,xm)hi。 qquad(4)


定义9:
极限(4)称为函数的偏导数 f(x) 在这一点上 x=(x1,...,xm) 按变量 xi 。 它被指定为:

 frac\局部f\局部xi(x), quad partialif(x), quadf′xi(x)



范例1:

f(u,v)=u3+v2 sinu, partial1f(u,v)= frac\部分f\部分u(u,v)=3u2+v2 cosu, partial2f(u,v)= frac\部分f\部分v(u,v)=2v sinu





梯度下降


让 f\冒号 mathbbRn\到 mathbbR 在哪里 \ mathbb {R} ^ n = \底线{\ mathbb {R} \ times \ mathbb {R} \ times \ cdots \ times \ mathbb {R}} _ n = \ {(\ theta_1,\ theta_2,... ,\ theta_n),\ space \ theta_i \ in \ mathbb {R} \ space \ forall i \ in \ overline {1,n} \} 。

定义10:

梯度函数 f\冒号 mathbbRn\到 mathbbR 称为向量 我 其元素等于  frac\部分f\部分 thetai :

 bigtriangledown thetaf= left( beginarrayc frac\部分f\部分 theta1 frac\部分f\部分 theta2 vdots frac\部分f\部分 thetan\结束array\右), quad theta=( theta1, theta2,..., thetan)


渐变是功能最快速增加的方向。 这意味着它最迅速减小的方向是与梯度相反的方向,即 − bigtriangledown thetaf 。

梯度下降法的目的是搜索函数的极值点(最小点) 。

表示为 \ theta ^ {{t)} 步骤中的功能参数向量 t 。 步骤中的参数更新向量 t :

u ^ {{t)} =-\ eta \ bigtriangledown _ {\ theta} f(\ theta ^ {{t-1)}),\ quad \ theta ^ {{t)} = \ theta ^ {{t- 1)} + u ^ {(t)}


在上面的公式中,参数  eta 学习速度控制着我们在梯度斜率方向上采取的步长。 特别是,可能出现两个相对的问题:

  • 如果步幅太小,则训练将太长,并且卡在道路上的最小局部最小值中的可能性会增加(下图中的第一个图像);
  • 如果它们太大,则可以无休止地跳过所需的最小来回距离,但永远不会到达最低点(下图中的第三张图像)。


一个例子:
考虑最简单情况下的梯度下降方法示例( n=1 ) 那是 f\冒号 mathbbR\到 mathbbR 。
让 f(x)=x2, quad theta(0)=3, quad eta=1 。 然后:

\ frac {\部分f} {\部分x}(x)= 2x \ quad \ Rightarrow \ quad \ bigtriangledown f_ \ theta(x)= 2x; \\ \ theta ^ {((1)} = \ theta ^ {(0)}-1 \ cdot f_ \ theta(\ theta ^ {(0)})= 3-6 = -3; \\ \ theta ^ {{(2)} = \ theta ^ {(1)}-1 \ cdot f_ \ theta(\ theta ^ {(1)})=-3 + 6 = 3 = \ theta ^ {(0 )}。

在这种情况下  eta=1 ,情况如上图的第三张图片所示。 我们不断跳过极限点。
让  eta=0.8 。 然后:

 theta(1)= theta(0)−0.8\倍f theta( theta(0))=3−0.8 times6=3−4.8=−1.8; theta(2)= theta(1)−0.8\倍f theta( theta(1))=−1.8+0.8 times3.6=−1.8+2.88=1.08; theta(3)= theta(2)−0.8\倍f theta( theta(2))=1.08−0.8 times2.16=1.08−1.728=−0.648; theta(4)= theta(3)−0.8\倍f theta( theta(3))=−0.648+0.8 times1.296=−0.648+1.0368=0.3888; theta(5)= theta(4)−0.8\倍f theta( theta(4))=0.3888−0.8 times0.7776=0.3888−.62208=−0.23328; theta(6)= theta(5)−0.8\倍f theta( theta(5))=−0.23328+0.8\倍0.46656=−0.23328+0.373248==0.139968

可以看出,我们正在反复接近极值点。
让  eta=0.5 。 然后:

 theta(1)= theta(0)−0.5\倍f theta( theta(0))=3−0.5 times6=3−3=0; theta(2)= theta(1)−0.5\倍f theta( theta(1))=0−0.5 times0=0

在1个步骤中找到了极值点。

二手文献清单:


  • “数学分析。 第1部分”,V.A。 佐里奇,莫斯科,1997年;
  • “深度学习。 沉浸在神经网络世界中”,S。Nikulenko,A。Kadurin,E。Arkhangelskaya,PETER,2018年。

Source: https://habr.com/ru/post/zh-CN474338/


All Articles