复合函数偏导?


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 - 二元二次线性方程组求解

1.1 一元简单函数求导

一元函数:就是只有一个自变量的函数。

简单函数:就是初等函数的线性加减得到的函数。

导数(Derivative),也叫导函数值。又名微商,是微积分中的重要基础概念。当函数y=f(x)的自变量x在一点x0上产生一个增量Δx时,函数输出值的增量Δy与自变量增量Δx的比值在Δx趋于0时的极限a如果存在,a即为在x0处的导数,记作f'(x0)或df(x0)/dx。

一元函数的切线和导数,有现成的公式求导数,如下图所示:

1.2 N元简单函数求偏导

多元函数:所谓多元函数,求是有包含有多个自变量的初等函数。

简单函数:就是初等函数的线性加减得到的函数。

 那么,对于二元函数或多元函数,求导数,该如何计算呢?

这就需要用到偏导数的概念:通过临时固化其他维度分量的数值,用来求解多元函数在某个维度方向的导数或切线斜率。

然后,把所有维度方向的导数组成一个向量,就得到多元函数在空间中某一点处的导数或梯度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 步骤2:构建拟合函数

#步骤2:构建拟合函数:二元一次拟合函数
 

2.3 步骤3:利用python库提供算法求拟合函数的参数 (仅供参考)

 
 
#步骤3-1:利用python库提供的最小二乘算法来计算拟合函数的参数
 

2.4 步骤3:利用自定义的梯度下降法计算拟合函数的参数

 
 

2.4.1 使用最小二乘定义损失函数(残差函数)

 
 
# 定义残差函数或损失
 
# 测试残差函数或损失函数
# 问题:w, b 为多少时?残差值最小呢?
 
  • 可视化空间线性图形:  z轴为恒定值1
 
# 可视化空间线性数据
 


 
(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

 


2.5 步骤4:利用获得的拟合函数进行数据预测 

 
# 步骤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
 
 
}

我要回帖

更多关于 复合函数求导和求偏导的区别 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信