程序员的数学【微积分基础】(二)

简介: 本文其实值属于:程序员的数学【AIoT阶段二】 的一部分内容,本篇把这部分内容单独截取出来,方便大家的观看,本文介绍 微积分基础,微积分是公式推导的基础,如果你也关注我的专栏:西瓜书读书笔记,里面对公式进行详细推导的过程中,运用到了大量的 导数,积分,身为一名程序员,我们务必掌握一些必备的数学知识。

7.神经网络激活函数求导

7.1Sigmoid激活函数

image.png

其导函数为:

image.png

7.2Tanh激活函数

image.png

其函数形式为:

image.png

其导函数为:

image.png

7.3Softmax激活函数

🚩Softmax函数将多个标量映射为一个概率分布,其形式为:

image.png

image.png

首先求标量形式的导数,即第 i 个输出对于第 j个输入的偏导数:

image.png

那么当 i = j 时:

image.png

i ≠ j 时:

image.png

两者合并:

image.png

8.高阶导数

🚩前面学的是一阶导数,对导数再次求导就是高阶导数,二阶和二阶以上的导数统称为高阶导数。

image.png

9.导数与函数单调性

image.png

函数的导数大于 0,函数是单调增的。函数的导数小于 0,函数是单调减的。

举个栗子:

image.png

image.png

10.极值定理

🚩导数为我们寻找极值提供依据,对于可导函数而言,因为在极值位置必然有函数的导数等于0。

f(x)=0

极值处函数的导数等于 0,这是必要条件,但不是充分条件,因为极值处的导数必然等于 0 ,但是导数等于 0 处不代表一定是极值。 比如:y=x3

image.png

其导数为:f ′ ( x ) = 2x2,令导数为 0 , 求得x = 0,显然 x = 0 ,不是函数的极值!

11.导数与函数凹凸性

11.1 凹凸性概念与判断

🚩函数的二阶导数是和函数的凹凸性是有关系的,凹凸性怎么定义的?

先来做简单的介绍,这里先记住凸函数是向下凸的, 反正就是凹的,是否是凸函数可以通过二阶导数,如果二阶导数是大于 0 就是凸函数。f ′ ′ ( x ) > 0

image.png

给定函数 f ( x ) = x 2,其二阶导数是f ′ ′ ( x ) =2> 0

11.2 知识点拓展

f(x)=0,被称之为驻点,驻点是函数增减性的交替点,一侧增一侧减。

f(x)=0,被称之为拐点,拐点是函数凹凸性的交替点,一侧凸一侧凹。

举例说明:

image.png

f(x)=sinx

f(x)=cosx令导数为 0 ,左右两侧分别是单调增或单调减。

f(x)=sinx令导数为 0 ,左右两侧分别是凹凸函数。

12.一元函数泰勒展开

image.png

❗️注:0 ! = 1

上述就是泰勒公式,是一个用函数在某点的信息描述其附近取值的公式。如果函数满足一定的条件,泰勒公式可以用函数在某一点的各阶导数值做系数构建一个多项式来近似表达这个函数。

方程变形:

image.png

更加通俗的表示为:

image.png

泰勒展开在高等数学里是非常有用的,它可以用来研究函数某些性质完成很多任务。在机器学习里面,它用来求函数的极值用的,很多时候函数 f ( x )  可能会非常复杂,无法直接计算,我们用泰勒展开做一个近似,梯度下降法怎么做的呢?是做一个近似,保留泰勒展开一阶项。而牛顿法是保留泰勒展开二阶项,忽略二阶以上的项,用泰勒二阶展开来进行函数 f ( x ) 近似表达。

一阶泰勒公式:

image.png

二阶泰勒公式:

image.png










目录
相关文章
|
机器学习/深度学习 人工智能 算法
数学基础之概率论
数学基础之概率论
77 1
|
机器学习/深度学习 程序员
程序员的数学【微积分基础】(一)
本文其实值属于:程序员的数学【AIoT阶段二】 的一部分内容,本篇把这部分内容单独截取出来,方便大家的观看,本文介绍 微积分基础,微积分是公式推导的基础,如果你也关注我的专栏:西瓜书读书笔记,里面对公式进行详细推导的过程中,运用到了大量的 导数,积分,身为一名程序员,我们务必掌握一些必备的数学知识。
319 0
程序员的数学【微积分基础】(一)
|
机器学习/深度学习 程序员
程序员的数学【线性代数基础】(三)
本文其实值属于:程序员的数学【AIoT阶段二】 的一部分内容,本篇把这部分内容单独截取出来,方便大家的观看,本文介绍 线性代数基础,在机器学习中经常会有矩阵、向量的定义以及计算,是公式定义、推导中必不可少的一部分内容,很多基础概念的定义中都用到了向量的概念,有关线性代数,
354 0
程序员的数学【线性代数基础】(三)
|
机器学习/深度学习 数据挖掘 程序员
程序员的数学【线性代数基础】(一)
本文其实值属于:程序员的数学【AIoT阶段二】 的一部分内容,本篇把这部分内容单独截取出来,方便大家的观看,本文介绍 线性代数基础,在机器学习中经常会有矩阵、向量的定义以及计算,是公式定义、推导中必不可少的一部分内容,很多基础概念的定义中都用到了向量的概念,有关线性代数,
383 0
程序员的数学【线性代数基础】(一)
|
机器学习/深度学习 人工智能 程序员
程序员的数学【线性代数基础】(二)
本文其实值属于:程序员的数学【AIoT阶段二】 的一部分内容,本篇把这部分内容单独截取出来,方便大家的观看,本文介绍 线性代数基础,在机器学习中经常会有矩阵、向量的定义以及计算,是公式定义、推导中必不可少的一部分内容,很多基础概念的定义中都用到了向量的概念,有关线性代数,
169 0
程序员的数学【线性代数基础】(二)
|
机器学习/深度学习 程序员
程序员的数学【概率论】(三)
本文其实值属于:程序员的数学【AIoT阶段二】 的一部分内容,本篇把这部分内容单独截取出来,方便大家的观看,本文介绍 概率论
158 0
程序员的数学【概率论】(三)
|
机器学习/深度学习 算法 数据挖掘
程序员的数学【概率论】(一)
本文其实值属于:程序员的数学【AIoT阶段二】 的一部分内容,本篇把这部分内容单独截取出来,方便大家的观看,本文介绍 概率论
298 0
程序员的数学【概率论】(一)
|
程序员
程序员的数学【概率论】(二)
本文其实值属于:程序员的数学【AIoT阶段二】 的一部分内容,本篇把这部分内容单独截取出来,方便大家的观看,本文介绍 概率论
247 0
程序员的数学【概率论】(二)
|
机器学习/深度学习 算法 数据挖掘
程序员的数学【线性代数高级】(一)
本文其实值属于:程序员的数学【AIoT阶段二】 的一部分内容,本篇把这部分内容单独截取出来,方便大家的观看,本文介绍 线性代数高级
209 0
程序员的数学【线性代数高级】(一)
|
存储 程序员 Python
程序员的数学【线性代数高级】(二)
本文其实值属于:程序员的数学【AIoT阶段二】 的一部分内容,本篇把这部分内容单独截取出来,方便大家的观看,本文介绍 线性代数高级
237 0
程序员的数学【线性代数高级】(二)