人工智能实战2019 第二次作业 刘强

项目 内容
这个作业属于哪个课程 人工智能实战2019
这个作业的要求在哪里 作业要求
我在这个课程的目标是 将机器学习理论与实践相结合,获得一定的项目经验,提高编程能力
这个作业在哪个具体方面帮助我实现目标 了解神经网络的反向传播机制
我的GitHub链接 https://github.com/QiangLiu404

正文

一、双变量的反向传播代码及结果:

import numpy as np

def Linear (w,b,error,target):/* 参数是:w,b,误差是:error,目标输出是:target */
    e=error
    t=target

    while(True):
        x=2*w+3*b
        y=2*b+1
        z=x*y
        Z=z-t
        print("w=%f,b=%f,z=%f,delta_z=%f"%(w,b,z,Z))
        if(abs(Z)<e):
            break
        deflector_B=2*x+3*y
        deflector_W=2*y
        deviation_b=Z/deflector_B/2
        deviation_w=Z/deflector_W/2
        print("deviation_b={0},deviation_w={1},deflector_B={2},deflector_W={3}".format(deviation_b,deviation_w,deflector_B,deflector_W))
        b=b-deviation_b
        w=w-deviation_w

    print("final b={0}".format(b))
    print("final w={0}".format(w))

Linear(3,4,0.001,150)



w=3.000000,b=4.000000,z=162.000000,delta_z=12.000000
deviation_b=0.09523809523809523,deviation_w=0.3333333333333333,deflector_B=63,deflector_W=18
w=2.666667,b=3.904762,z=150.181406,delta_z=0.181406
deviation_b=0.0014986324978458446,deviation_w=0.00514800514800559,deflector_B=60.523809523809526,deflector_W=17.61904761904762
w=2.661519,b=3.903263,z=150.000044,delta_z=0.000044
final b=3.903263272264059
final w=2.661518661518661

二、思考:

每次更新factor_b和factor_w可有效减少所需的迭代次数,较之单变量的反向传播,双变量的反向传播速度更快。
反向传播提供了一种行之有效的逼近方法

posted @ 2019-03-18 13:28  LQiang-  阅读(133)  评论(0编辑  收藏  举报