《深度学习的数学——使用Python语言》第7章 导数学习笔记
[复制链接]
在深度学习中,我们会经常用到微分。例如利用梯度下降法训练神经网络的参数实际上就用到了微分,因为参数的更新依赖于利用反向传播算法进行求导的结果。
1求x4+x3+x2+x+1的一阶导数
x = Symbol("x")
expr = x**4+x**3+x**2+x+1
print("一阶导数:\n")
print(expr.diff(x))
结果
2求sinx的10阶导数
from sympy import *
x = Symbol("x")
expr = sin(x)
print("sinx 10阶导数:\n")
print(expr.diff(x, 10))
结果
3求一个物理问题
微积分的语言就是v=ds/dt,速率是路程对时间求导
t = Symbol("t")
s = 5*t**3-t**2+t+1
print("速度函数:\n")
v = s.diff(t)
print(v)
print("加速度函数:\n")
a = v.diff(t)
print(a)
执行结果
4积分
A = 1 b = 2 f(x) = x2
F(x)=1/3 x3
1/3(23 - 13) = 2.33
start = 1
stop = 2
len = 101
x = np.linspace(start, stop, len)
y = x**2
z = sum(y*(stop-start)/len)
pint("结果")
print(z)
执行结果
|