4. 微积分
- 拟合模型的任务分解为两个关键问题:
- 优化(optimization):用模型拟合观测数据的过程;
- 泛化(generalization):数学原理和实践者的智慧,能够指导我们生成出有效性超出用于训练的数据集本身的模型。
4.1 导数和微分
- 通常选择对于模型参数可微的损失函数。简而言之,对于每个参数,如果我们把这个参数增加或减少一个无穷小的量,可以知道损失会以多快的速度增加或减少。
- 导数:
- 1)常数相乘法则:
- 2)加法法则:
- 3)乘法法则:
- 4)除法法则:
- 1)常数相乘法则:
- 微分:若
存在,则称 在 处可微
1 | #将图形嵌入到Notebook中 %matplotlib inline |
C:\Users\123\AppData\Local\Temp\ipykernel_13552\2373785819.py:22: DeprecationWarning: `set_matplotlib_formats` is deprecated since IPython 7.23, directly use `matplotlib_inline.backend_inline.set_matplotlib_formats()`
set_matplotlib_formats('svg')
![[blog/source/_posts/deeplearning/code/pytorch/1_prepare/4_calculus_files/4_calculus_1_1.svg|svg]]
4.2 偏导数
- 偏导数:
关于 的偏导数:
4.3 梯度
- 梯度:
- 一些性质:
-
4.4 链式法则
练习
- 绘制函数
在x=1处的图像
1 | import matplotlib.pyplot as plt |
C:\Users\123\AppData\Local\Temp\ipykernel_13552\2157169762.py:5: RuntimeWarning: divide by zero encountered in divide
return x**3 - 1/x
C:\Users\123\AppData\Local\Temp\ipykernel_13552\2157169762.py:8: RuntimeWarning: divide by zero encountered in divide
plt.plot(x,3*x**2+1/x**2-4)
![[blog/source/_posts/deeplearning/code/pytorch/1_prepare/4_calculus_files/4_calculus_3_1.svg|svg]]