机器学习_一元函数微积分(1)
写在前面,本系列主要是对下面这本书做的学习笔记
极限与连续
极限是微积分中最基本的概念,也是理解导数与积分等概念的基础。
可数集和不可数集
初等数学已经对元素数有限的集合进行的系统系统阐述,对无限集有些概念和规则不再适用,即使是常用的自然数集和实数集其性质,也需要重新定义
基数或势
集合的元素数量称为其基数或势,记为,对于集合,其基数为
基数为有限值的集合称为有限集;基数为无限值的集合称为无限集
对于两个有限集,如果集合是集合的真子集,即,则有,而无限集的基数为,因此不能直接使用这个规则进行基数比较
考虑正整数集,令集合为所有正奇数组成的集合,集合为所有正偶数组成的集合。因此有
但这并不意味着
双射函数
对于集合和,如果集合的任意元素,在集合都有唯一的元素通过某种映射关系与之对应,即存在如下的双射函数(一对一映射函数)
则称这两个集合的基数相等
【1】正整数集与正偶数集的基数相等,因为它们的元素之间存在如下的双射关系
【2】集合和集合的基数也相等,因为
【3】集合与整个实数集合等势,因为集合实数集合的元素间存在如下的双射函数
此函数可以将区间拉升至,且存在反函数
【4】区间与区间是等价的,因为存在双射函数
反过来实数与区间也是等价的,因为存在双射函数
此函数称为logistic函数或sigmoid函数,有着优良的性质,在机器学习与深度学习中被广泛使用。
可数集和不可数集
无限集,可进一步分为可数集与不可数集,可数集中的每个元素可以用正整数进行编号,即与正整数等势
正整数是可数集,它的每个元素可以写成
可数集定义:如果存在从正整数集到集合$A$的双射关系,则集合是可数的
整数集是可数的,因为存在双射函数,将其映射到正整数集
有理数集也是可数集,因为所有的有理数都可以写成两个整数相除的形式
整数集和有理数集,这里的离散和可数等价,任何可数集在数轴上的”长度”为0。
不可数集:无理数、实数集和长度不为0的实数区间都是不可数的,其中的元素是连续的,它们在数轴上是稠密的或者说连续的,如,圆周率以及以自然对数底数都是无理数,不可数集在数轴上的”长度”不为0。
可数和不可数的概念将用于定积分中函数的可积性,以及概率论中的离散型和连续型随机变量等概念中
数列的极限
极限概念与定义
数列极限
数列的极限反映了当数列元素下标趋向于时数列项取值的趋势
数列极限定义: 对于数列以及某一实数,如果对于任意给定的都存在正整数,使得对于任意满足的都有下面的不等式成立
则称此数列的极限为,或称其收敛于,数列的极限记为
直观解释: 当增加时数列的值无限趋近于,可接近到任意指定的程度,由控制,当数列的极限不存在,则称该数列发散,如果数列的极限存在,则其值必唯一
证明数列极限存在且为某一值的方法是证明公式(1)成立
并非所有的数列都存在极限
- 数列,当时,数列的值在-1与1之间振荡
- 数列,当时,数列的值趋向于,极限也不存在
数列极限的四则运算
计算极限,根据数列极限的四则运算有
极限存在判定法则
数列上界和下界
- 上界: 对于数列,如果它的任意元素都满足,则称为数列的上界,上界不唯一
- 下界: 对于数列,如果它的任意元素都满足,则称为数列的下界
单调收敛定理: 如果数列单调递增且存在上界,则极限存在,如果数列单调递减且有下界,则极限存在,即单调有界的数列收敛
根据单调收敛定理,可以得到微积分中一个重要极限,对于数列的极限为
其中为自然对数的底数,约为,是数学中最重要的常数之一
证明: 证明数列有界和单调递增,收敛于
数列的极限为
这个极限可以用来表示对个样本进行次有放回等概率抽样,当样本量趋于无穷大时,每个样本一次都没被抽中的概率
单调有界是数列收敛的充分条件而非必要条件
夹逼定理: 如果对于有且,则有,这一结论称为夹逼定理
如果数列无界,则必定发散,有界是数列收敛的必要条件而非充分条件,如数列有界但不收敛
函数的极限
函数极限的严格定义由法国数学家柯西给出: 即当前广泛使用的$\epsilon \mbox{-} s $定义
领域: 点的领域是指满足不等式的所有构成的集合,即区间,称为领域的半径
去心领域: 去心领域是指满足上式且去掉点的点构成的集合
函数极限: 对于函数,如果对于任意的,均存在的去心领域,使得去心领域内所有的都有
则称函数在点处的极限为,函数在点处的极限记为
直观解释: 当自变量的值无限接近于时,函数值无限接近于
- 即在内的函数值都在区间内
证明函数极限的方法和数列类似,核心是证明在区新领域内使得公式(1)成立
左右极限
一维数轴上有两个方向,变量可以从左侧趋近于,也可以从右侧趋近于
因此函数的极限分为左极限和右极限,左极限和右极限分别记为
夹逼定理
假设是包含点的区间,、、为定义在该区间上的函数,如果对所有属于但不等于点的点都有,且
则有,这一结论称为夹逼定理
几个重要极限
- 令,则,因此有因为有最后可以得到
函数的连续性与间断点
连续性
函数的连续型通过极限定义,是最基本的性质之一
函数连续的直观表现: 如果自变量的改变很小,则因变量的改变也非常小,函数值不会突然发生跳跃
函数连续的定义
如果函数满足,则称它在点处连续
几何解释
函数连续在该点处的函数曲线没有”断”
连续的重要性质
- 基本初等函数在其定义域内是连续的,包括多项式函数、有理分式函数、指数函数、对数函数、三角函数、反三角函数
- 绝对值函数在其定义域内也是连续的
- 由基本初等函数经过有限次四则运算和复合而形成的函数,在其定义域内连续,这样的函数被称为
初等函数 - 如果函数和在定义域内连续,则复合函数在定义域内连续
跳跃间断点
跳跃间断点: 函数在处的左极限和右极限都存在,但不相等
例子: 其中为跳跃间断点
可去间断点
可去间断点: 或者左右极限相等,但不等于该点处的函数值
例子: 其中为可去间断点
函数在点处的左极限和右极限至少有一个不存在
例子: 正切函数,在处极限值不存在,为第二类间断点
例子: 反比例函数,为函数的第二类间断点,在该点处函数的极限不存在
连续函数的性质
连续函数具有很多优良的性质
- 闭区间上的连续函数一定存在极大值和极小值,使得对于该区间任意的有
- 开区间上的连续函数则不能保证存在极大值和极小值,如反比例函数
介值定理
介值定理: 如果函数在闭区间内连续,是介于和之间的一个数,则存在中的某个点,使得,考虑下图
对于区间,在左右端点处的函数值分别为和,对于任意的,均存在至少一个点,使得
如果,则曲线必然存在一点使得,这就是方程的根,事实上,满足此条件
介值定理几何意义
函数在区间内一定与直线至少有一个交点,其中介于和之间
介值定理保证至少存在一点使得,满足此条件的可能有多个
连续性假设
机器学习与深度学习算法所使用的绝大多数模型,假设函数是连续函数,以保证输入变化小的变化不至于导致预测值的突变,这称为连续性假设,连续性通常能够保证机器学习算法有更好的泛化性能
上确界与下确界
上确界与下确界可看作是集合最大值与最小值的推广
上确界也称为最小上界,对于的非空子集,如果该集合中的任意元素均有,即是集合的一个上界,且满足吃不等是此不等式条件的最小值,则为集合的上确界,记为
如果满足此条件的不存在,则称为集合的上确界为,如果集合的上确界存在,则必定唯一
如果集合的元素存在最大值,则最大值为其上确界,如闭区间的上确界为1
集合可能不存在最大值,如开区间,其上确界为,但不是集合的最大值
例子:
- 集合是有限集,其上确界为集合元素的最大值,其值为
- 集合是无限可数集,并且该数列单调递增,其上确界为数列的极限
- 集合是无限不可数集,其上确界为该函数的极大值
充分必要条件
集合存在上确界的充分必要条件是集合有上界,实数集的任意非空有界子集均存在上确界
下确界: 下确界也称为最大下界,是集合的一个下界,即对中的任意元素,均有,且是最大的下界,则称为的下确界,记住$inf(S)$
对于闭区间,下确界为,对于开区间,其下确界也为
例子:
- 集合的下确界为,在时取得
- 集合的下确界为,是函数的最小值
李普希茨连续
李普希茨连续
李普希茨连续是比连续更强的条件,不但保证了函数值不间断,而且限定了函数的变化速度
给定函数,如果对于区间任意两点、都存在常数使得下面的不等式成立
则称函数在区间内满足李普希茨条件,也称为李普希茨连续
使得公式(1)成立的最小值称为李普希茨常数,其值与具体的函数有关
如果,则称函数为压缩映射
几何意义
在任意两点,处函数割线斜率的绝对值均不大于
在任一点处,曲线均夹在直线与之间,如图所示
向右上倾斜的直线与想做上倾斜的直线分别为与
例子
一次函数在内是李普希茨连续,因为对于任意的和都有
因此该函数李普希茨连续且李普希茨常数为
二次函数在内不是李普希茨连续,因为对于内任意的和都有
显然不存在常数使得任意和都满足,因此该函数不是李普希茨连续
函数在区间内李普希茨连续
对于区间内任意的和都有
区间内不是李普希茨连续,对于该区间内任意的和都有
当时,不存在常数满足
机器学习中的意义
李普希茨连续要求函数在区间上不能有超过线性的变化速度,对于分析和确保机器学习算法的稳定性有重要的作用
无穷小量
考虑函数极限值为的情况
定义: 如果函数在的某去心领域内,有定义且
则称为的无穷小量
虽然它们的极值均为0,但它们之间比值的极限却有几种情况
高阶无穷小: ,该比值也是无穷小量,例如同阶无穷小(等价无穷小): ,比值的极限为非$0$的有界变量,例如低阶无穷小: ,比值的极限为无界变量(称为无穷大量),例如
其中高阶无穷小记为,等价无穷小记为
直观来看这些比值反映了无穷小接近于0时的变化速度快慢
典型的等价无穷小()
等价无穷小在计算极限时起着重要的作用
导数与微分
导数是微分学中的核心概念,它决定了可导函数的基本性质,包括单调性、极值与凹凸性。
在机器学习中,绝大多数算法可以归纳为求解最优化的问题,对于连续型优化问题在求解时一般需要使用导数
一阶导数
定义
导数定义
函数的自变量变化值趋向于时,函数值的变化量与自变量变化量比值的极限,在点处的导数为
如果式(1)的极限存在,则称函数在点$x$处可导
除了用表示之外,导数也可写成,即上面的定义也可以写成另一种形式
左右导数
类似于极限,导数也可分为左导数和右导数
左导数是从左侧趋向于时的极限
右导数为自变量从右侧趋向于时的极限
函数可导的
充分必要条件是左右导数均存在且相等,其必要条件是函数连续
如果导数不存在,则称函数不可导
几何和物理意义
几何意义
函数在定义域 内所有点处的导数值构成的函数称为导函数,简称函数
导数的几何意义是函数在点处切线的斜率,反映了函数值在此点处变化的快慢
函数在处,根据导数的定义有
因此在该点处的切线斜率为,由于切线经过,因此切线的方程为,即,下图为该曲线和对应的切线
物理意义
导数典型的物理意义是瞬时速度
差分公式
单侧差分公式
如果的值接近于,则在点处的导数可以用下面的公式近似计算
称为单侧差分公式
中心差分公式
根据导数的定义有
其中为接近于的正数,这称为中心差分公式,用于数值计算导数值,因此可用下面的公式近似计算点处的一阶导数值
基本函数的求导
下表)列出了各种基本初等函数的求导公式
| 基本函数 | 求导公式 |
|---|---|
| 幂函数 | |
| 指数函数 | |
| 指数函数 | |
| 三角函数 | |
| 三角函数 | |
| 三角函数 | |
| 三角函数 | |
| 对数函数 | |
| 反三角函数 | |
| 反三角函数 | |
| 反三角函数 |
证明
四则运算的求导公式
| 基本运算 | 求导公式 |
|---|---|
| 加法 | |
| 减法 | |
| 数乘 | |
| 乘法 | |
| 除法 | |
| 倒数 |
机器学习中常用的函数
logistic函数可用作神经网络的激活函数
softplus函数,可看作是函数Relu即$max(0,x)$的光滑近似,该函数的导数为logistic函数
函数的导数为:
Relu函数可用作神经网络的激活函数,在$0$处该函数不可导,在该点处左导数为0,右导数为1
去掉0点,该函数的导数为:
绝对值函数,在$0$点处改函数不可导,左导数为-1,右导数为1,去掉该点,此函数的导数为
绝对值函数常用于构造机器学习算法训练目标函数的正则化项
sgn符号函数,在$0$点处不连续,因此不可导,去掉该点,此函数在所有点处的导数均为0
符号函数常用于分类器的预测函数,表示二值化的分类结果,在支持向量机、logstic回归中都被使用
如果一个函数所有不可导点的集合为有限集或无限可数集,则称该函数几乎处处可导,本节中的绝对值函数、Relu函数、符号函数均是几乎处处可导的函数,处处可导保证了在训练时能够使用梯度下降法求解函数的极值
高阶导数
定义
对导数连续求导可以得到高阶导数,二阶导数的是一阶导数的导数,记为
n阶导数记为
计算$f(x) = x^{m}$的n阶导数
其一阶导数为$f’(x) = mx^{m-1}$,二阶导数为$f’’(x) = m(m-1)x^{m-2}$,以此类推,n阶导数为
如果$m=n$,则$f^{(n)}(x) = n!$
计算$f(x) = \frac {1}{1-x}$的n阶导数
计算$f(x) = ln(1+x)$的n阶导数
计算$f(x) = e^x$的n阶导数
计算f(x)= sin(x)的n阶导数
根据此规律有
类似地,对于余弦函数$f(x)=cos(x)$有
二阶导数的物理意义是加速度,如果$f(t)$为位移函数,其二阶导数为$t$时刻的加速度
其中$a(t)$为$t$时刻的加速度,$v(t)$为$t$时刻的速度
在python语言中,sympy库提供了求导的功能
1 | from sympy import * |
微分
函数$y=f(x)$在某一区间上有定义,对于区间内的点$x_0$,当$x$变为$x_0 + \Delta x$时,如果函数的增量$\Delta y = f(x_0 + \Delta)-f(x_0)$可以表示成
其中$A$是不依赖于$\Delta x$的常数,$o(\Delta x)$是$\Delta x$的高阶无穷小,则称函数在$x_0$处可微
$A \Delta x$称为函数在$x_0$处的微分,记为$dy$,即$dy = A \Delta x$,$dy$为$\Delta y$的线性主部
通常把$\Delta x$称为自变量的微分,记为$dx$,如果函数可微,则导数和微分的关系为$dy = f(x)dx$
微分的几何意义是在点$(x_0, f(x_0))$处自变量增加$\Delta x$时切线函数$y = f’(x_0)(x-x_0)+f(x_0)$
举例说明微分的计算,对于函数$y=sin(x^2)$
其导数为$y’ = 2x \cdot cos(x^2)$,于是可以得到其微分为$dy = 2x \cdot cos(x^2) dx$
考虑下复合函数的微分,对于复合函数$z = f(y), y=g(x)$
根据复合函数求导公式有$\frac{dz}{dx}=f’(y)g’(x)$,因此其微分为$dz = f’(y)g’(x)dx$
由于有$dy = g’(x)dx$,因为也可以写成$dz = f’(y)dy$
导数与函数的单调性
导数决定了可导函数的重要性质,包括单调性与极值,是研究函数性质的有力工具,由于导数是函数变化率的极限
因此如果在$x$点处它的值为正,则在该点处自变量增大时函数值也增大,如果为负,则自变量增大时函数值减小
假设函数$f(x)$在区间$[a,b]$内连续,在区间$(a,b)$内可导。如果在$(a,b)$内$f’(x) \gt 0$,则函数在$[a,b]$内单调递增;如果在$(a,b)$内$f’(x) \t 0$,则函数在$[a,b]$内单调递减,可以通过拉格朗日中值定理证明
对于函数$f(x) = x^3 + 4x^2 -10x +1$
其一阶导数为$f’(x) = 3x^2 +8x -10$,方程$f’(x)=0$的根为$x = \frac{-8 \pm \sqrt{64+120}}{6} = \frac{-4 \pm \sqrt{46}}{3}$
- 在区间$(- \infty , \frac{-4-\sqrt{46}}{3} )$内$f’(x) \gt 0$,函数单调递增
- 在区间$(\frac{-4-\sqrt{46}}{3} , \frac{-4+\sqrt{46}}{3} )$内$f’(x) \lt 0$,函数单调递减
- 在区间$(\frac{-4+\sqrt{46}}{3} , +\infty )$内$f’(x) \gt 0$,函数单调递增
因此在$x= \frac{-4-\sqrt{46}}{3}$处函数有极大值,在$ x = \frac{-4+\sqrt{46}}{3}$处函数有极小值,函数的曲线为
利用导数可以证明某些不等式,其思路是证明函数在某一区间内单调,因此在区间的端点处取得极值
证明当$x>0$时不等式$ln(x) \le x-1 $成立
构造函数$f(x) = x-1-ln(x)$,其导数为$f’(x) = 1- \frac{1}{x}$
- 当$x \lt 1$时有$f’(x) \lt 0$,函数单调递减
- 当$x \gt 1$时有$f’(x) \gt 0$,函数单调递增
1是函数的极小值点,且$f(1)=0$,因此不等式成立
极值判别法则
极值定义,这里指的是局部极值
函数$f(x)$在区间$I$内有定义,$x_0$是该区间内的一个点
- 如果存在$x_0$的一个$\delta $领域,对于该领域内任意一点$x$都有$f(x_0) \ge f(x)$,则称$x_0$是该函数的
极大值 - 如果领域内任意一点$x$都有$f(x_0) \le f(x)$,则称$x_0$是该函数的
极小值
极大值和极小值统称为极值
- 如果存在$x_0$的一个$\delta $领域,对于该领域内任意一点$x$都有$f(x_0) \gt f(x)$,则称$x_0$是该函数的
严格极大值 - 如果领域内任意一点$x$都有$f(x_0) \lt f(x)$,则称$x_0$是该函数的
严格极小值
费马定理
假设函数$f(x)$在$x_0$点处可导,如果在$x_0$点处取得极值,则定有$f’(x) = 0$,这一结论称为费马定理,它给出了可导函数取极值的一阶必要条件
导数等于0的点称为函数的驻点(Stationary Point)
最优化算法一般通过寻找函数的驻点而求解函数的极值问题,导数为0是函数取得极值的必要条件而非充分条件
下面给出在费马定理下的函数取极值的充分条件,假设函数$f(x)$在$x_0$点的一个领域内可导,且有$f’(x) = 0$,考察在$x_0$去心领域内的函数值符号,有三种情况
- 在$x_0$的左侧$f’(x) \gt 0$,在$x_0$的右侧$f’(x) \lt 0$,则函数在$x_0$取严格极大值
- 在$x_0$的左侧$f’(x) \lt 0$,在$x_0$的右侧$f’(x) \gt 0$,则函数在$x_0$取严格极小值
- 在$x_0$的左侧和右侧$f’(x)$同号,则$x_0$不是极值点
对于第一种情况,函数在$x_0$的左侧单调增,在右侧单递减,因此$x_0$是极大值点;对于第二种情况,函数在$x_0$的左侧单递减,在右侧单递增,因此$x_0$是极小值点;对于第三种情况,函数在$x_0$的两侧均单调增或者单调减,因此$x_0$不是极值点
根据此结论,求函数的极值点的方法首先是求解方程$f’(x)=0$得到函数的所有驻点,然后判断驻点两侧一阶导数值的符号
利用二阶导数的信息给出函数极值的充分条件,假设$x_0$为函数的驻点,且在该点处二阶可导,对于驻点处二阶导数的符号,可分为三种情况
- $f’’(x) \gt 0$,则$x_0$为函数$f(x)$的严格极小值点
- $f’’(x) \lt 0$,则$x_0$为函数$f(x)$的严格极大值点
- $f’’(x) = 0$,则不定,$x_0$可能是极值点也可能不是极值点,需进一步讨论
情况一:如果n是偶数,则$x_0$是极值点,当$f^{(n)}{x_0} \gt 0$是$f(x)$de 严格极小值点,当$f^{(n)}{x_0} \lt 0$是$f(x)$de 严格极大值点
情况二:如果n是技术,则$x_0$不是$f(x)$的极值点
该充分条件可以用泰勒公式证明
例子
考虑函数$f(x)=x^2$
其一阶导数为$f’(x)=2x$,令$f’(x)=0$可以解得其驻点为$x=0$,由于$f’’(x)=2 \gt 0$,该点是函数的极小值点
对于函数$f(x) = -x^2$
其一阶导数为$f’(x) = -2x $,令$f’(x)=0$可以解得其驻点为$x=0$,由于$f’’(x)=-2 \lt 0$,该点是函数的极大值点
对于函数$f(x)=x^3$
其一阶导数为$f’(x)=3x^2$,令$f’(x)=0$可以解得其驻点为$x=0$
其二阶导数为$f’’(x)=6x$
其三阶导数为$f^{(3)}(x)=6$
由于$f’’(0)=0$,$f^{(3)}(0)=6$,因此该点不是极值点
最后一种情况称为鞍点,会导致数值优化算法,如梯度下降无法找到真正的极值点
导数与函数的凹凸性
凹凸性是函数的另一个重要性质,它与单调性共同决定了函数曲线的形状
对于函数$f(x)$在它的定义域内有两点$x$、$y$,如果对于任意的实数$ 0 \le \theta \le 1$都满足如下不等式
即函数为凸函数,从图像上看,如果函数为凸函数,那么它是向下凸的,用直线连接函数上任何两点(即两点的割线),线段上的点都在函数曲线的上方,如图所示
如果满足不等式
则称为凹函数,需要强调的是,这里遵循的是欧美国家的定义,与国内某些高等数学教材定义刚好相反
证明凸函数定义
对于$ \forall x,y $以及$ 0 \le \theta \le 1$有
显然有
因此有
如果把式中的等号去掉,则称函数式严格凸函数,类似的可以定义严格凹函数
二阶可导函数是凸函数和凹函数的充分必要条件
假设$f(x)$在区间$[a,b]$内连续,在区间$(a,b)$内一阶导数和二阶导数均存在
- 如果在$(a,b)$内$f’’(x) \ge 0$,则称函数在$[a,b]$内为凸函数
- 如果在$(a,b)$内$f’’(x) \le 0$,则称函数在$[a,b]$内为凹函数
- 如果在$(a,b)$内$f’’(x) > 0$,则称函数在$[a,b]$内为严格凸函数
- 如果在$(a,b)$内$f’’(x) < 0$,则称函数在$[a,b]$内为严格凹函数
拐点
函数凹凸性的分界点称为拐点,如果函数二阶可导,则在拐点处有$f’’(x)=0$,且在拐点处两侧二阶导数值异号
对于函数$f(x)=x^3$,其二阶导数为$6x$,$0$点处二阶导数值为$0$,且在$0$点两侧的二阶导数值异号,因此$0$为其拐点
凸函数有良好的的性质,可以保证优化算法找到函数的极小值点






