机器学习中的数学(一)--基础数学与基本微分学

写在前面    

  《机器学习中的数学》系列主要列举了在机器学习中用到的较多的数学知识,包括微积分,线性代数,概率统计,信息论以及凸优化等等。本系列重在描述基本概念,并不在应用的方面的做深入的探讨,如果想更深的了解某一方面的知识,请自行查找研究。

    第一部分主要讲述了机器学习过程中应用比较多的基础数学知识与基本微分学知识,主要包括求和求积函数对数函数的基本运算,一元函数与多元函数的微分一元函数与多元函数的泰勒函数展开以及多元函数的一阶偏导与高阶偏导

1.基础数学

1.1 求和函数

机器学习中的数学(一)--基础数学与基本微分学

1.2 求积函数

机器学习中的数学(一)--基础数学与基本微分学

1.3 对数函数以及基本运算

机器学习中的数学(一)--基础数学与基本微分学

由于不同底的对数的结果是等比关系,所以,在机器学习中,有时底数是谁是无所谓的。因为绝大多数情况是求极值所对应的参数变量而不是具体的函数值,所以在处理乘积的式子时,经常取对数然后在求导。

2.极限

通俗来讲,函数f(x)在x0处的极限为L的数学符号为:

机器学习中的数学(一)--基础数学与基本微分学

机器学习中的数学(一)--基础数学与基本微分学

机器学习中的数学(一)--基础数学与基本微分学

3.一元函数的微分

微分的核心思想是:逼近

机器学习中的数学(一)--基础数学与基本微分学

如果存在一个实数L使得f(x)满足,

机器学习中的数学(一)--基础数学与基本微分学

那么f(x)在x0处可导且导数为:

机器学习中的数学(一)--基础数学与基本微分学

4. 多元函数的微分

在一元函数中,导数就是函数的变化率。对于二元函数研究它的“变化率”,由于自变量多了一个,情况比较复杂。在XOY平面内,当动点有P(x1,y1)沿不同方向变化时,函数f(x,y)的变化快慢一般来说是不同的,因此就需要研究f(x,y)在(x1,y1)点处沿不同方向的变化率。在这里我们只考虑函数f(x,y)沿平行于x轴和平行于y轴两个特殊方位变化时,f(x,y)的变化率。 

 x方向的偏导:

设有二元函数z=f(x,y),点(x1,y1)是其定义域D内一点。把y固定在y1而让x在x1有增量△x,相应地函数z=f(x,y)有增量(称为对x的偏增量)

机器学习中的数学(一)--基础数学与基本微分学

如果△z与△x之比当△x->0时的极限存在,那么此极限值称为函数z=f(x,y)在(x1,y1)出对x的偏导数。函数z=f(x,y)在(x1,y1)处对x的偏导数,实际上就是把y固定在y1固定在y1看成常数后,一元函数z=f(x,y1)处的导数。

举例:

机器学习中的数学(一)--基础数学与基本微分学

该函数的偏导数为:

机器学习中的数学(一)--基础数学与基本微分学

5.一元函数的左右导数

函数f(x)在x1处的左右导数分别定义为:

机器学习中的数学(一)--基础数学与基本微分学

机器学习中常见的函数求导有以下几个:

机器学习中的数学(一)--基础数学与基本微分学

6. 多元函数的高阶导数

一阶导数的导数称为二阶导数,二阶以上的导数可由归纳法逐阶定义:

机器学习中的数学(一)--基础数学与基本微分学

常见的高阶导数(机器学习中主要用到的是二阶函数)

机器学习中的数学(一)--基础数学与基本微分学

7.多元函数的高阶偏导数

如果函数w(x,y,...z)的一阶偏导数关于某个变量可偏微分,就能做出二阶偏导数。同样能定义n阶偏导数。我们将一阶以上的偏导数称为高阶偏导数。将这些高阶偏导数记为:

机器学习中的数学(一)--基础数学与基本微分学

机器学习中的数学(一)--基础数学与基本微分学

机器学习中的数学(一)--基础数学与基本微分学

举例:对于函数

机器学习中的数学(一)--基础数学与基本微分学

其对于x,y的一阶和二阶偏导数为:

机器学习中的数学(一)--基础数学与基本微分学

机器学习中的数学(一)--基础数学与基本微分学

8. 复合函数的求导法则

链式法则

机器学习中的数学(一)--基础数学与基本微分学

加法法则

机器学习中的数学(一)--基础数学与基本微分学

乘法法则

机器学习中的数学(一)--基础数学与基本微分学

除法法则

机器学习中的数学(一)--基础数学与基本微分学

9. 一元函数的泰勒展开

如果f(x)是一个无限次可导的函数,那么在任何一点x0附近我们可对f(x)做多项式逼近:

机器学习中的数学(一)--基础数学与基本微分学

最后一项是无穷小。泰勒展开就是利用一个多项式无穷的逼近一个函数,加上无穷小项就是和目标函数等价,如果去掉无穷小项,就是无限逼近目标函数但不等价。下面可以通过一组图来直观地感受泰勒公式的魅力。

机器学习中的数学(一)--基础数学与基本微分学机器学习中的数学(一)--基础数学与基本微分学

                             函数的0阶展开                                                                     函数的1阶展开

机器学习中的数学(一)--基础数学与基本微分学机器学习中的数学(一)--基础数学与基本微分学

                              函数的2阶展开                                                                         函数的3阶展开

机器学习中的数学(一)--基础数学与基本微分学机器学习中的数学(一)--基础数学与基本微分学

                                    函数的6阶展开                                                                         函数的10阶展开

上图是y=e^x函数在x=0处各阶展开,不难发现,随着阶数的增加,泰勒展开越来越逼近目标函数,在n=10的时候,肉眼几乎很难分辨二者的区别。参考链接:https://www.matongxue.com/madocs/7.html

10. 多元函数的泰勒展开

机器学习中的数学(一)--基础数学与基本微分学