人工智能实战2019 第二次作业 焦宇恒

标题内容
这个作业属于哪个课程人工智能实战2019
这个作业的要求在哪里作业要求
这个作业关于什么双变量的反向传播
参考文献参考文献

实验代码

w = 3
b = 4
delta_z = 12
i = 0

while abs( delta_z ) > 1e-5 :
    i = i + 1
    x = 2 * w + 3 * b
    y = 2 * b + 1
    z = x * y
    delta_z = z - 150.0
    factor_b = 3 * y + 2 * x
    factor_w = 2 * y
    delta_b = delta_z / ( 2 * factor_b )
    delta_w = delta_z / ( 2 * factor_w )
    b = b - delta_b
    w = w - delta_w
    print("w = %f\t b = %f\t z = %f\t" % (w, b, z))
    print("delta_w = %f\t delta_b = %f\t delta_z = %f\t" % (delta_w, delta_b, delta_z))
    print("factor_w = %f\t factor_b = %f\t" % (factor_b, factor_w))
    print("---------------------------------------------------------------------------------------------")
print("result: 经过了%d次迭代,最终b = %f\tw = %f  此时精度为1e-5" % (i, b, w))

实验结果

每次迭代更新factor_b和factor_w的结果

w = 2.666667     b = 3.904762    z = 162.000000 
delta_w = 0.333333   delta_b = 0.095238  delta_z = 12.000000    
factor_w = 63.000000     factor_b = 18.000000   
---------------------------------------------------------------------------------------------
w = 2.661519     b = 3.903263    z = 150.181406 
delta_w = 0.005148   delta_b = 0.001499  delta_z = 0.181406 
factor_w = 60.523810     factor_b = 17.619048   
---------------------------------------------------------------------------------------------
w = 2.661517     b = 3.903263    z = 150.000044 
delta_w = 0.000001   delta_b = 0.000000  delta_z = 0.000044 
factor_w = 60.485234     factor_b = 17.613053   
---------------------------------------------------------------------------------------------
w = 2.661517     b = 3.903263    z = 150.000000 
delta_w = 0.000000   delta_b = 0.000000  delta_z = 0.000000 
factor_w = 60.485224     factor_b = 17.613052   
---------------------------------------------------------------------------------------------
result: 经过了4次迭代,最终b = 3.903263  w = 2.661517  此时精度为1e-5

每次迭代不更新factor_b和factor_w的结果

w = 2.666667     b = 3.904762    z = 162.000000 
delta_w = 0.333333   delta_b = 0.095238  delta_z = 12.000000    
factor_w = 63.000000     factor_b = 18.000000   
---------------------------------------------------------------------------------------------
w = 2.661628     b = 3.903322    z = 150.181406 
delta_w = 0.005039   delta_b = 0.001440  delta_z = 0.181406 
factor_w = 63.000000     factor_b = 18.000000   
---------------------------------------------------------------------------------------------
w = 2.661474     b = 3.903278    z = 150.005526 
delta_w = 0.000154   delta_b = 0.000044  delta_z = 0.005526 
factor_w = 63.000000     factor_b = 18.000000   
---------------------------------------------------------------------------------------------
w = 2.661469     b = 3.903277    z = 150.000170 
delta_w = 0.000005   delta_b = 0.000001  delta_z = 0.000170 
factor_w = 63.000000     factor_b = 18.000000   
---------------------------------------------------------------------------------------------
w = 2.661469     b = 3.903277    z = 150.000005 
delta_w = 0.000000   delta_b = 0.000000  delta_z = 0.000005 
factor_w = 63.000000     factor_b = 18.000000   
---------------------------------------------------------------------------------------------
result: 经过了5次迭代,最终b = 3.903277  w = 2.661469  此时精度为1e-5

结果分析

  • 每次更新factor_b和factor_w可有效减少所需的迭代次数,效率更高。
  • 满足梯度下降的概念
  • 最终得到结果是相同的

转载于:https://www.cnblogs.com/JiaoYh98/p/10551497.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值