人工智能实战_第二次作业_杨佳宁

双变量的反向传播

作业要求

项目内容
这个作业属于哪个课程班级博客
这个作业的要求在哪里作业要求
我在这个课程的目标是对于人工智能有一定的了解
这个作业在哪个具体方面帮助我实现目标能够有平台支持我对于人工智能更加深入的了解与交流
作业正文见下
其他参考文献ai-edu/B-教学案例与实践/B6-神经网络基本原理简明教程

作业正文

1、java实现双变量的反向传播计算

更新权重的代码计算
package one;

public class One {
    public static double target = 150 ;

    public double[] calcul (double ans[]) {
        double x = 2*ans[0] + 3*ans[1] ;
        double y = 2*ans[1] + 1 ;
        ans[2] = x*y ;
        System.out.println("z的值为"+ans[2]) ;
        double deltaz = ans[2] - target ;
        double deltaw = deltaz / (2*(2*y)) ;
        double deltab = deltaz / (2*(3*y+ 2*x)) ;
        ans[0] = ans[0] - deltaw ;
        ans[1] = ans[1] - deltab ;
        System.out.println("z的误差为"+deltaz) ;
        System.out.println("w的修正值为"+deltaw) ;
        System.out.println("b的修正值为"+deltab) ;
        return ans ;
    }
    
    public static void main (String[] args) {
        long startTime=System.nanoTime();   //获取开始时间
        One one = new One();
        double []ans = {3, 4, 0} ;
        ans = one.calcul(ans);
        double tmp = ans[2] - one.target ;
        while(true) {
            ans = one.calcul(ans) ;
            tmp = ans[2]-one.target ;
            if (Math.abs (tmp) < Math.pow(10, -5)) {
            break ;
            }
        }
        long endTime=System.nanoTime(); //获取结束时间
        System.out.println("程序运行时间: "+(endTime-startTime)+"ns");
    }   
}
输出结果
z的值为162.0
z的误差为12.0
w的修正值为0.3333333333333333
b的修正值为0.09523809523809523
z的值为150.18140589569163
z的误差为0.18140589569162557
w的修正值为0.00514800514800559
b的修正值为0.0014986324978458446
z的值为150.0000443352674
z的误差为4.4335267403994294E-5
w的修正值为1.2585912044840693E-6
b的修正值为3.66496618559716E-7
z的值为150.00000000000267
z的误差为2.6716406864579767E-12
w的修正值为7.584264054954093E-14
b的修正值为2.208506878651647E-14
程序运行时间: 4143411ns
权重占比不一致的更新权重的代码计算的输出结果
z的值为162.0
z的误差为12.0
w的修正值为0.16666666666666666
b的修正值为0.14285714285714285
z的值为150.21768707482994
z的误差为0.21768707482993932
w的修正值为0.003122560499609785
b的修正值为0.0026933004152172382
z的值为150.00007716317668
z的误差为7.716317668382544E-5
w的修正值为1.1075334505340644E-6
b的修正值为9.55395967682429E-7
z的值为150.00000000000975
z的误差为9.748646334628575E-12
w的修正值为1.3992366237322298E-13
b的修正值为1.2070290833939266E-13
程序运行时间: 2840496ns

2、思考与比较

由于w对z的影响更大,所以将权重偏向w的方向能使运算时间更短。

转载于:https://www.cnblogs.com/yjn200/p/10553187.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值