文章目录
微积分
微积分(Calculus)是研究函数的微分(Differentiation)、积分(Integration)及其相关应用的数学分支.
1. 微分
1.1 导数
导数(Derivative)是微积分学中重要的基础概念.
对于定义域和值域都是实数域的函数𝑓 ∶ ℝ → ℝ,若𝑓(𝑥)在点𝑥0 的某个邻域Δ𝑥内,极限
存在,则称函数 𝑓(𝑥) 在点 𝑥0 处可导,𝑓′ (𝑥0) 称为其导数,或导函数,也可以记为d𝑓(𝑥0)/d𝑥 .
在几何上,导数可以看作函数曲线上的切线斜率.图B.1给出了一个函数导数的可视化示例,其中函数 𝑔(𝑥) 的斜率为函数 𝑓(𝑥) 在点 𝑥 的导数,Δ𝑦 = 𝑓(𝑥 +Δ𝑥) − 𝑓(𝑥).
表B.1给出了几个常见函数的导数.
高阶导数 对一个函数的导数继续求导,可以得到高阶导数.函数 𝑓(𝑥) 的导数
𝑓′ (𝑥)称为一阶导数,𝑓′ (𝑥)的导数称为二阶导数,记为𝑓″ (𝑥)、𝑓 (2)(𝑥)或 d2𝑓(𝑥)/d𝑥2 .
偏导数 对于一个多元变量函数𝑓 ∶ ℝ𝐷 → ℝ,它的偏导数(Partial Derivative )是关于其中一个变量𝑥𝑖 的导数,而保持其他变量固定,可以记为𝑓𝑥′𝑖 (𝒙),∇𝑥𝑖𝑓(𝒙),𝜕𝑓(𝒙)/𝜕𝑥𝑖 或 𝜕/𝜕𝑥𝑖*𝑓(𝒙).
1.2 微分
给定一个连续函数,计算其导数的过程称为微分(Differentiation).若函数𝑓(𝑥)在其定义域包含的某区间内每一个点都可导,那么也可以说函数𝑓(𝑥)在这个区间内可导.如果一个函数 𝑓(𝑥) 在定义域中的所有点都存在导数,则 𝑓(𝑥)为可微函数(Differentiable Function).可微函数一定连续,但连续函数不一定可微.例如,函数|𝑥|为连续函数,但在点𝑥 = 0处不可导.
1.3 泰勒公式
泰勒公式(Taylor’s Formula)是一个函数 𝑓(𝑥) 在已知某一点的各阶导数值的情况之下,可以用这些导数值做系数构建一个多项式来近似函数在这一点的邻域中的值.
如果函数𝑓(𝑥)在𝑎点处𝑛次可导(𝑛 ≥ 1),在一个包含点𝑎的区间上的任意𝑥,都有
其中𝑓 (𝑛)(𝑎)表示函数𝑓(𝑥)在点𝑎的𝑛阶导数.
上面公式中的多项式部分称为函数 𝑓(𝑥) 在 𝑎 处的 𝑛 阶泰勒展开式,剩余的𝑅𝑛(𝑥)是泰勒公式的余项,是(𝑥 − 𝑎)𝑛 的高阶无穷小.
2. 积分
积分(Integration)是微分的逆过程,即如何从导数推算出原函数.积分通常可以分为定积分(Definite Integral)和不定积分(Indefinite Integral).函数𝑓(𝑥)的不定积分可以写为
𝐹(𝑥) = ∫𝑓(𝑥)d𝑥,
其中𝐹(𝑥)称为𝑓(𝑥)的原函数或反导函数,d𝑥 表示积分变量为𝑥.当𝑓(𝑥)是𝐹(𝑥)的导数时,𝐹(𝑥)是𝑓(𝑥)的不定积分.根据导数的性质,一个函数𝑓(𝑥)的不定积分是不唯一的.若𝐹(𝑥)是𝑓(𝑥)的不定积分,𝐹(𝑥) + 𝐶 也是𝑓(𝑥)的不定积分,其中𝐶为一个常数.
给定一个变量为𝑥 的实值函数𝑓(𝑥)和闭区间[𝑎, 𝑏],定积分可以理解为在坐标平面上由函数𝑓(𝑥),垂直直线𝑥 = 𝑎,𝑥 = 𝑏以及𝑥 轴围起来的区域的带符号的面积,记为
带符号的面积表示𝑥轴以上的面积为正,𝑥轴以下的面积为负.
积分的严格定义有很多种,最常见的积分定义之一为黎曼积分(Riemann Integral).对于闭区间[𝑎, 𝑏],我们定义[𝑎, 𝑏]的一个分割为此区间中取一个有限的点列
𝑎 = 𝑥0 < 𝑥1 < 𝑥2 < ⋯ < 𝑥𝑁 = 𝑏.
这些点将区间[𝑎, 𝑏]分割为𝑁 个子区间[𝑥𝑛−1, 𝑥𝑛],其中1 ≤ 𝑛 ≤ 𝑁.每个区间取出一个点𝑡𝑛 ∈ [𝑥𝑛−1, 𝑥𝑛]作为代表.在这个分割上,函数𝑓(𝑥)的黎曼和定义为
即所有子区间的带符号面积之和.不同分割的黎曼和不同.当 𝜆 =𝑁max𝑛=1(𝑥𝑛 − 𝑥𝑛−1) 足够小时,如果所有的黎曼和都趋于某个极限,那么这个极限就叫作函数𝑓(𝑥)在闭区间[𝑎, 𝑏]上的黎曼积分.图B.2给出了不同分割的黎曼和示例,其中𝑁 表示分割的子区间数量.
3. 矩阵微积分
为了书写简便,我们通常把单个函数对多个变量或者多元函数对单个变量的偏导数写成向量和矩阵的形式,使其可以被当成一个整体处理.矩阵微积分(Matrix Calculus)是多元微积分的一种表达方式,即使用矩阵和向量来表示因变量每个成分关于自变量每个成分的偏导数.
向量关于向量的偏导数 对于 𝑀 维向量 𝒙 ∈ ℝ𝑀 和函数 𝒚 = 𝑓(𝒙) ∈ ℝ𝑁,则𝑓(𝒙)关于𝒙的偏导数(分母布局)为
称为函数𝑓(𝒙)的雅可比矩阵(Jacobian Matrix)的转置.
对于𝑀 维向量𝒙 ∈ ℝ𝑀 和函数𝑦 = 𝑓(𝒙) ∈ ℝ,则𝑓(𝒙)关于𝒙的二阶偏导数 用分子布局. (分母布局)为
称为函数𝑓(𝒙)的Hessian矩阵,也写作∇2𝑓(𝒙),其中第𝑚, 𝑛个元素为 𝜕2𝑦/𝜕𝑥𝑚𝜕𝑥𝑛.
3.1 导数法则
复合函数的导数的计算可以通过以下法则来简化.
3.1.1 加(减)法则
若𝒙 ∈ ℝ𝑀,𝒚 = 𝑓(𝒙) ∈ ℝ𝑁,𝒛 = 𝑔(𝒙) ∈ ℝ𝑁,则
3.1.2 乘法法则
3.1.3 链式法则
链式法则(Chain Rule)是在微积分中求复合函数导数的一种常用方法.
4. 常见函数的导数
4.1向量函数及其导数
对一个向量𝒙有
4.2 按位计算的向量函数及其导数
假设一个函数 𝑓(𝑥) 的输入是标量 𝑥.对于一组 𝐾 个标量 𝑥1 , ⋯ , 𝑥𝐾,我们可以通过𝑓(𝑥)得到另外一组𝐾 个标量𝑧1 , ⋯ , 𝑧𝐾,
𝑧𝑘 = 𝑓(𝑥𝑘), ∀𝑘 = 1, ⋯ , K
为了简便起见,我们定义𝒙 = [𝑥1 , ⋯ , 𝑥𝐾]T,𝒛 = [𝑧1 , ⋯ , 𝑧𝐾]T,
𝒛 = 𝑓(𝒙),
其中𝑓(𝒙)是按位运算的,即[𝑓(𝒙)]𝑘 = 𝑓(𝑥𝑘).
当𝑥 为标量时,𝑓(𝑥)的导数记为𝑓′ (𝑥).当输入为𝐾 维向量𝒙 = [𝑥1 , ⋯ , 𝑥𝐾]T 时,其导数为一个对角矩阵.
4.2.1 Logistic函数
Logistic 函数是一种常用的 S 型函数,是比利时数学家 Pierre François Verhulst在1844年~1845年研究种群数量的增长模型时提出命名的,最初作为一种生态学模型.
Logistic函数定义为
其中 exp(⋅) 函数表示自然对数,𝑥0 是中心点,𝐿 是最大值,𝐾 是曲线的倾斜度. 图B.3给出了几种不同参数的 Logistic 函数曲线.当 𝑥 趋向于 −∞ 时,logistic(𝑥)接近于0;当𝑥趋向于+∞时,logistic(𝑥)接近于𝐿.
当参数为(𝑘 = 1, 𝑥0 = 0, 𝐿 = 1)时,Logistic函数称为标准Logistic函数,记为𝜎(𝑥).
标准Logistic函数在机器学习中使用得非常广泛,经常用来将一个实数空间的数映射到(0, 1)区间.
标准Logistic函数的导数为
𝜎′ (𝑥) = 𝜎(𝑥)(1 − 𝜎(𝑥)).
当输入为𝐾 维向量𝒙 = [𝑥1 , ⋯ , 𝑥𝐾]T 时,其导数为
𝜎′ (𝒙) = diag (𝜎(𝒙) ⊙ (1 − 𝜎(𝒙))).
4.2.2Softmax函数
Softmax函数可以将多个标量映射为一个概率分布.对于𝐾 个标量𝑥1 , ⋯ , 𝑥𝐾,Softmax函数定义为
这样,我们可以将𝐾 个标量𝑥1 , ⋯ , 𝑥𝐾 转换为一个分布:𝑧1 , ⋯ , 𝑧𝐾,满足
为了简便起见,用 𝐾 维向量 𝒙 = [𝑥1 ; ⋯ ; 𝑥𝐾] 来表示 Softmax 函数的输入,Softmax函数可以简写为
其中1𝐾 = [1, ⋯ , 1]𝐾×1 是𝐾 维的全1向量.
Softmax函数的导数为