AI同上课-5(移动端)|当循环-迭代算法 VS 梯度

AI 新资讯15小时前发布
931 0 0
熊猫办公
【背景】
在高一数据与算法学习当循环的条件构成及迭代算法时,我同时增加了人工智能模型训练中的梯度问题,因为2者相当匹配。
【知识】
1.数据与计算:while 当循环,关系表达式->逻辑表达式->循环条件,科学计数法,迭代公式x=x-lr*g
2.AI知识:学习率、梯度下降及在反向传播中的用途,梯度下降公式:w=w−η⋅∇L
【过程】
环节1.在线技术实验
说明:因机房近期网速慢的问题,在线少数浏览器IE的机器的同学使用了,多数学生用火狐浏览器器还是用了网页来实验。
学生左右讨论、实验,总结规律,学生讲解。
AI同上课-5(移动端)|当循环-迭代算法 VS 梯度
老师点拨导数:速度“导”位移变化,加速导”速度”变化,谁可导“加速度”变化?
数学课代表分析导数的规律,简单的概念。
AI同上课-5(移动端)|当循环-迭代算法 VS 梯度
AI同上课-5(移动端)|当循环-迭代算法 VS 梯度
环节2:分析程序中的迭代算法
修改程序代码,比较不同学习率、导函数和迭代次数对迭代结果的影响。

、defGD(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}")
whileabs(2*x)> tandi<N: # 梯度绝对值大于阈值时继续迭代 g =2* x # 用导函数求梯度(坡度)
# 输出当前下山状态 print(f"第{i}步:位置x={x:.7f}高度y={y:.11f}坡度{g:.6f}")
x = x - lr * g # 迈出一步
i +=1 y = x **2 returnx, i
# 开始下山x0 =5 # 从x=5的位置开始lr =0.1 # 学习率(步长)大小GD(x0, lr) # 从x0开始,学习率为lr

由于学生是创新班的2个班,所以对数学问题的实验非常有兴趣。
部分学生提出:学习率与梯度的关系为何是乘法关系?
讨论引导:可理解为学习率是对梯度的“倍数”,起放大或缩小梯度的作用,所以学习率一般不适合用大于1的数值。
在线:阅读原文
说明:本例资源公益分享~敬请指教!也欢迎大家根据自己需求,积极氛围编程,将您好的设计或想法实名联系我公益分享吧!
© 版权声明

相关文章