乐于分享
好东西不私藏

AI同上课-5(全下载)|当循环-迭代算法 VS 梯度

AI同上课-5(全下载)|当循环-迭代算法 VS 梯度
【背景】
 在高一数据与算法学习当循环的条件构成及迭代算法时,我同时增加了人工智能模型训练中的梯度问题,因为2者相当匹配。
【知识】
1.数据与计算:while 当循环,关系表达式->逻辑表达式->循环条件,科学计数法,迭代公式x=x-lr*g
2.AI知识:学习率、梯度下降及在反向传播中的用途,梯度下降公式:w=wηL
【过程】
环节1.在线技术实验
说明:因机房近期网速慢的问题,在线少数浏览器IE的机器的同学使用了,多数学生用火狐浏览器器还是用了网页来实验。
学生左右讨论、实验,总结规律,学生讲解。
老师点拨导数:速度“导”位移变化,加速导”速度”变化,谁可导“加速度”变化?
数学课代表分析导数的规律,简单的概念。
环节2:分析程序中的迭代算法
修改程序代码,比较不同学习率、导函数和迭代次数对迭代结果的影响。
def GD(x0, lr, N=10000, t=1e-5): #x0初始值,lr学习率,N最大迭代次数,t收敛阈值    x = x0  #初始位置    i = 0    #    y=x**2 # 函数值表示当前高度    print(f"初始位置:x={x:.2f},高度y={y:.2f}")    while abs(2*x)> t and i<N:    # 梯度绝对值大于阈值时继续迭代        g = 2 * x                 # 用导函数求梯度(坡度)        # 输出当前下山状态        print(f"第{i}步:位置x={x:.7f} 高度y={y:.11f} 坡度{g:.6f}")        x = x - lr * g  # 迈出一步        i += 1        y = x ** 2      return x, i# 开始下山x0 = 5         # 从x=5的位置开始lr = 0.1       # 学习率(步长)大小GD(x0, lr)   # 从x0开始,学习率为lr
由于学生是创新班的2个班,所以对数学问题的实验非常有兴趣。
部分学生提出:学习率与梯度的关系为何是乘法关系?
讨论引导:可理解为学习率是对梯度的“倍数”,起放大或缩小梯度的作用,所以学习率一般不适合用大于1的数值。
在线:阅读原文
说明:本例资源公益分享~敬请指教!也欢迎大家根据自己需求,积极氛围编程,将您好的设计或想法实名联系我公益分享吧!