L02-微积分
函数
本质
- 从一个集合到另一个集合的映射规则
- 可以源于“天然”
- 也可以“人工”创造,如狄利克雷函数
Q:狄利克雷函数的图像应该是什么样?
客观存在,然而无法画出
表示形式
- 解析式:y = sinx
- 文字描述:自变量为无理数时因变量取值0,有理数时取值1
- 列表法
三要素
- 定义域(整数域,实数域,复数域…)
- 值域(整数域,实数域,复数域…)
- 映射法则(将定义域映射到值域)
注意!不是所有的映射法则都可以构成函数。同一个自变量,在值域中有且只能有一个因变量与之对应
极限
定义
- 什么叫无限逼近某一个量?
- 这个量可以“到达”吗?
- 正式定义:
连续
直观上
- 不断裂
- 不跳跃
- 处处相连
定义
设函数f(x)在点x0的某个领域内(例如(x0 - 0.0001,x0 + 0.0001))有定义,如果有:
则称函数f(x)在点x0处连续,x0称为函数f(x)的连续点。
函数在连续点的极限就是连续点的函数值!
导数
定义
几何意义
函数图像上一点的导数的值为在该点切线的斜率,代表了函数在该点的变化率
导数计算
- 常用函数的导数
- 导数运算法则
代码演示
迭代法求解二次函数最小值
1 | import numpy as np |
结果:
二阶导数
“阶”:几阶就对函数求几次导
微分
- 定义:
当自变量x的变化趋于无穷小时(dx),因变量f(x)的变化情况(df(x))
导数和微分
- 导数:函数在某一点的变化率
- 微分:函数在某一点的变化量
- 联系:函数的变化量与自变量变化量之比即为导数
链式法则
嵌套函数:
如何求y相对于z的导数?
看似简单,但是链式法则的真面目是·······
神经网络优化原理——反向传播的基石!~
偏导数
本质:
- 仅仅因为是多元函数的导数,所以多了一个“偏”字
- 求解的过程和导数无异,将其他变量视作常量
方向导数
几何上,偏导数沿着自变量方向…
能不能沿任意方向求导数?——可以
- 一元函数中,自变量在函数曲线上只能沿着两个方向移动
- 多元函数中,自变量在函数曲面上可以沿着无穷多个方向移动
- 多元函数中,函数的变化不仅与移动距离有关,和移动方向亦有关
方向余弦
定义:向量与三个(或两个)坐标轴之间的角度的余弦:
方向导数求解
令l的方向余弦为:
令t = |P’ P|,则点P’可表示为:
- [fx fy]:梯度
- 后一部分:l方向的方向余弦,且其长度为1
显而易见,函数f(x)在l方向上的导数就是在该点的梯度和l方向的方向余弦的内积
Tips:当两部分方向一致的时候,他们的内积最大,梯度的方向是函数变化最快的方向。
梯度
定义
- 梯度的方向是函数变化最快的方向
- 各个方向的偏导数构成的向量
- 人工智能中为什么要用梯度下降算法?——几乎很少有情形是可以直接求出解析解的
- 解析解:可以直接计算出的精确解
- 数值解:用数值方法逼近求的近似解
然而对于更复杂一些的函数······
- 局部极小值点
- 驻点
- 学习率(步长)的大小
- 初始化方法
- ·······
梯度下降
进行迭代:
结果:
积分
代码演示
对规则图形求面积
- 绘制一条曲线
1 | import numpy as np |
- 输入区间,计算面积
1 | def reg_area(p1, p2): |
结果:
近似求解不规则图形的面积
- 绘制一条曲线
1 | import numpy as np |
- 近似求解,设定40次,越往后矩形分割的越小,值越精准
1 | for i in range(40): |
结果:
定义
- 矩形块的面积与曲线围城的面积误差越来越小
- 黎曼积分:在闭区间[a,b]上若不同的取样方法获得的黎曼积分和最终都趋于同样的极限,则称该极限为黎曼积分
牛顿—莱布尼兹公式
定义
- F(x):f(x)的原函数
- C:常数
- a,b:积分区间
意义
- 提供了求积分问题的有效方法
- 反向求出被积函数的原函数
- 将复杂的积分运算转化为简单的加减运算
- 架起了微分学和积分学之间的桥梁
- 历史上微分学和积分学起初是独立发展的
- 被称为“微积分基本定理”
Question:一个值恒为正的函数,考虑其几何意义,我们通过积分求出的值,是它和X轴围成面积的准确值,还是一个极度逼近的近似值?
Answer:准确值
泰勒展开
定义
最后一项称之为余项,分为拉格朗日余项和皮亚诺型余项
- 所有函数均可由多项式函数拟合
- 多项式函数:易于计算,可以快速获得结果
- 所有的复杂函数都是用泰勒展开转换成多项式函数计算的
- 泰勒展开是有适用范围的
- 当a=0时,泰勒公式被称之为麦克劳林公式,泰勒展开称之为麦克劳林展开
常用函数的泰勒展开式
如何理解
用多个函数拟合一个函数!~