1.1 一元简单函数求导
1.2 N元简单函数求偏导
1.3 一元复合函数链式求导
1.4 多元复合函数链式求偏导
1.5 多元复合函数线性相加函数的链式求偏导
第2章 用最小二乘法的损失函数进行曲线拟合
2.2 步骤2:构建拟合函数
2.3 步骤3:利用python库提供算法求拟合函数的参数 (仅供参考)
2.4 步骤3:利用自定义的梯度下降法计算拟合函数的参数
2.4.1 使用最小二乘定义损失函数(残差函数)
2.4.3 梯度下降法求解最佳w,b参数值
2.5 步骤4:利用获得的拟合函数进行数据预测
2.6 步骤5:可视化拟合函数
[数值计算-15]:函数近似值的线性与非线性拟合的原理与Python代码示例
[数值计算-16]:最小二乘的解法1 - 一元二次方程解析法求解
[数值计算-17]:最小二乘的解法2 - 二元二次线性方程组求解
一元函数:就是只有一个自变量的函数。
简单函数:就是初等函数的线性加减得到的函数。
导数(Derivative),也叫导函数值。又名微商,是微积分中的重要基础概念。当函数y=f(x)的自变量x在一点x0上产生一个增量Δx时,函数输出值的增量Δy与自变量增量Δx的比值在Δx趋于0时的极限a如果存在,a即为在x0处的导数,记作f'(x0)或df(x0)/dx。
一元函数的切线和导数,有现成的公式求导数,如下图所示:
多元函数:所谓多元函数,求是有包含有多个自变量的初等函数。
简单函数:就是初等函数的线性加减得到的函数。
那么,对于二元函数或多元函数,求导数,该如何计算呢?
这就需要用到偏导数的概念:通过临时固化其他维度分量的数值,用来求解多元函数在某个维度方向的导数或切线斜率。
然后,把所有维度方向的导数组成一个向量,就得到多元函数在空间中某一点处的导数或梯度P = {P1, P2, P3.....Pn}; 其中Pi是在i维度方向上的偏导数。
第2章 用最小二乘法的损失函数进行曲线拟合
#(1) 采用np, 直接手工生成样本的输入:一组等距离的分布在[-1,1]之间的100个点 #(2) 为这些数据手工打上理论输出值(标签值):y = 2x + 1 #(3)为了模拟现实情况,通过随机数来模拟数据噪声 #randn(n)生成的0为均值,1为标准差的正态分布的n个随机数。 #(4)人工生成样本的输出:理论值 + 噪声 #(5) 显示样本数据 ##步骤2:构建拟合函数:二元一次拟合函数
2.3 步骤3:利用python库提供算法求拟合函数的参数 (仅供参考)
#步骤3-1:利用python库提供的最小二乘算法来计算拟合函数的参数
2.4 步骤3:利用自定义的梯度下降法计算拟合函数的参数
2.4.1 使用最小二乘定义损失函数(残差函数)
# 定义残差函数或损失
# 测试残差函数或损失函数
# 问题:w, b 为多少时?残差值最小呢?
# 可视化空间线性数据
(4)通过偏导求在某一点的梯度
# 计算指定(w,b)点的梯度
备注:当w=2,b=1时,梯度接近为0
2.4.3 梯度下降法求解最佳w,b参数值
(1)定义梯度下降法的迭代函数
# 用梯度下降法求w,b的值
#自定义最小二乘求解拟合函数参数:偏导 + 梯度下降法
# (1)学习率与计算梯度!!!
# (2)最重要的梯度下降迭代!!!
# (3)计算迭代后的残差 !!!
# (4)记录中间迭代过程
# 计算迭代前后w,b的差(作为x的偏差)
# 保存当前的迭代点信息
# (5)为新一轮迭代做准备
#返回 w,b值以及中间迭代过程的数据
(2)调用迭代函数接近w和b的最佳值
对于有噪声样本,残差值不可能为0,一定有一定的残差值:0.25223
# 步骤4:利用获得的拟合函数进行数据预测
# 线性方程组求解的拟合数据
# 最小二乘+梯度下降算法的拟合数据
2.6 步骤5:可视化拟合函数
#步骤5: 图形化展示
#(1) 显示样本数据曲线
#(2) 显示理论数据曲线
#(3-2) 显示预测数据曲线 - 自定义实现
#(3-3) 显示预测数据曲线 - 自定义梯度下降法
scipy库提供的拟合结果(红色red)与自定义的梯度下降法拟合的结果(绿色blue),基本重合。
# w,b,残差的并发收敛过程
(2)w参数的迭代过程:反映的是w值本身数值的变化过程
(3)w的偏差变化过程:反映的是相邻两次w值之间的迭代步长的变化。
(4)b参数的迭代过程:反映的是b值本身数值的变化过程
(5)b的偏差变化过程:反映的是相邻两次b值之间的迭代步长的变化。
可视化空间线性图形: z轴为损失函数
#二元(w,b)残差函数的线性图形
# 对w求偏导数:w为变量,xi为常量, b为常量 # 对b求偏导数:w为常量,xi为常量, b为变量
(3)二元二次非线性函数求偏导 # 残差函数对 w 的一阶偏导数 # 残差函数对 b 的一阶偏导数
# 可视化空间线性数据到空间网格数据的转换
(1)一元线性函数求导 # 对x的导函数: x为参数,w,b为常量
可视化空间网格图形: z轴为二次函数-2
可视化空间网格图形: z轴为二次函数-3
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。