DL之DNN:基于自定义数据集利用深度神经网络(输入层(10个unit)→2个隐藏层(10个unit)→输出层1个unit)实现回归预测实现代码

目录

基于自定义数据集利用深度神经网络(输入层(10个unit)→2个隐藏层(10个unit)→输出层1个unit)实现回归预测实现代码

输出结果

实现代码


基于自定义数据集利用深度神经网络(输入层(10个unit)→2个隐藏层(10个unit)→输出层1个unit)实现回归预测实现代码

输出结果

DNN层个数: 4
Epoch: 10; Error: 27.53608815309984;
Epoch: 20; Error: 15.587988598717738;
Epoch: 30; Error: 5.267765866606196;
Epoch: 40; Error: 10.140496350647503;
Epoch: 50; Error: 5.079891616494778;
Epoch: 60; Error: 3.110436198157976;
Epoch: 70; Error: 3.0505776071981976;
Epoch: 80; Error: 2.0470452207927634;
Epoch: 90; Error: 1.6924725768932345;
Epoch: 100; Error: 2.5475409087226364;
Epoch: 110; Error: 1.513617689770772;
Epoch: 120; Error: 0.9774818880573889;
Epoch: 130; Error: 0.7357319784881684;
Epoch: 140; Error: 0.5062486741399981;
Epoch: 150; Error: 0.36858951857282035;
Epoch: 160; Error: 0.10579190424889454;
Epoch: 170; Error: 0.7501528954178448;
Epoch: 180; Error: 0.1569651335395988;
Epoch: 190; Error: 0.0401085858434261;
Epoch: 200; Error: 0.1853771538352877;
Epoch: 210; Error: 0.226935061119185;
Epoch: 220; Error: 0.28111394966381015;
Epoch: 230; Error: 0.3562146752875339;
Epoch: 240; Error: 0.3724894089162408;
Epoch: 250; Error: 0.3561752398416774;
Epoch: 260; Error: 0.3236426722255826;
Epoch: 270; Error: 0.2885668109556121;
Epoch: 280; Error: 0.2572043517900261;
Epoch: 290; Error: 0.23029369331527166;
Epoch: 300; Error: 0.20803779483221144;
Epoch: 310; Error: 0.18987899895411228;
Epoch: 320; Error: 0.1751003352588656;
Epoch: 330; Error: 0.16301987044459731;
Epoch: 340; Error: 0.15307582602354491;
Epoch: 350; Error: 0.1448530992610844;
Epoch: 360; Error: 0.1380094212303546;
Epoch: 370; Error: 0.1322616743499235;
Epoch: 380; Error: 0.12737976463123774;
Epoch: 390; Error: 0.12318031752982836;
Epoch: 400; Error: 0.11952126817108025;
Epoch: 410; Error: 0.11629168617732298;
Epoch: 420; Error: 0.11340287009468039;
Epoch: 430; Error: 0.11078352616789013;
Epoch: 440; Error: 0.10837701810710192;
Epoch: 450; Error: 0.1061393686292495;
Epoch: 460; Error: 0.10403729965609014;
Epoch: 470; Error: 0.10204600752071749;
Epoch: 480; Error: 0.10014704709298072;
Epoch: 490; Error: 0.09832671725734078;
Epoch: 500; Error: 0.09657495553699556;
Epoch: 510; Error: 0.0948845612460488;
Epoch: 520; Error: 0.09325057372855716;
Epoch: 530; Error: 0.09166970424895651;
Epoch: 540; Error: 0.09013981294864583;
Epoch: 550; Error: 0.08865947620790891;
Epoch: 560; Error: 0.0872276767678218;
Epoch: 570; Error: 0.0858436083693136;
Epoch: 580; Error: 0.08450656054878204;
Epoch: 590; Error: 0.08321584654903212;
Epoch: 600; Error: 0.08197074975024388;
Epoch: 610; Error: 0.08077048045613139;
Epoch: 620; Error: 0.07961414564320868;
Epoch: 630; Error: 0.07850073580998633;
Epoch: 640; Error: 0.07742912871119105;
Epoch: 650; Error: 0.07639810503131741;
Epoch: 660; Error: 0.07540636915993743;
Epoch: 670; Error: 0.0744525694417052;
Epoch: 680; Error: 0.07353531516078457;
Epoch: 690; Error: 0.07265319027750355;
Epoch: 700; Error: 0.07180476535781301;
Epoch: 710; Error: 0.07098860906861564;
Epoch: 720; Error: 0.07020329970334115;
Epoch: 730; Error: 0.06944743627741302;
Epoch: 740; Error: 0.06871964830919088;
Epoch: 750; Error: 0.06801860355980571;
Epoch: 760; Error: 0.06734301351347784;
Epoch: 770; Error: 0.0666916369040811;
Epoch: 780; Error: 0.06606328188418115;
Epoch: 790; Error: 0.06545680741994404;
Epoch: 800; Error: 0.06487112427154507;
The maximum number of train epochs is reached

实现代码

# coding: utf8#DL之DNN:基于自定义数据集利用深度神经网络(输入层(10个unit)→2个隐藏层(10个unit)→输出层1个unit)实现回归预测
import numpy as np
import neurolab as nl
import matplotlib.pyplot as plt#1、定义数据集
X_min=-10
X_max=10
nums=100
x=np.linspace(X_min,X_max,nums)
y=2*np.square(x)+7
y/=np.linalg.norm(y)  #y=y/np.linalg.norm(y)   矩阵整体元素平方和开根号,不保留矩阵二维特性,即2范数,归一化的思想data_X = x.reshape(nums,1)
data_y=y.reshape(nums,1)#数据集散点图可视化
plt.figure()
plt.scatter(data_X,data_y)
plt.xlabel('x')
plt.ylabel('y')
plt.title('dataset')
plt.show()# 建立DNN模型
#定义一个深度神经网络,带有两个隐藏层,每个隐藏层由10个神经元组成,输出层由一个神经元组成
DNN3 = nl.net.newff([[X_min,X_max]],[10,10,10,1])   # 输入层(10个神经元),2个隐藏层(各10个神经元),输出层(1个神经元)
print('DNN层个数:',len (DNN3.layers))# 定义模型优化器:选择GD算法
DNN3.trainf = nl.train.train_gd# 模型训练
error = DNN3.train(data_X,data_y,epochs=1200,show=10,goal=0.001)# 模型预测
predicted_y=DNN3.sim(data_X)# 模型训练可视化
plt.figure()
plt.plot(error)
plt.xlabel('Number of epoches')
plt.ylabel('Error')
plt.title('DNN3: Error change in model training')
plt.show()# 模型预测结果对比
x2=np.linspace(X_min,X_max,nums*2)
y2=DNN3.sim(x2.reshape(x2.size,1)).reshape(x2.size)
y3=predicted_y.reshape(nums)plt.figure()
plt.plot(x2,y2,'-',x,y,'.',x,y3,'p')
plt.xlabel('nums')
plt.ylabel('value')
plt.title('DNN3: Compare the predicted value with the true value')
plt.show()

DL之DNN:基于自定义数据集利用深度神经网络(输入层(10个unit)→2个隐藏层(10个unit)→输出层1个unit)实现回归预测实现代码相关推荐

  1. ML之catboost:基于自定义数据集利用catboost 算法实现回归预测(训练采用CPU和GPU两种方式)

    ML之catboost:基于自定义数据集利用catboost 算法实现回归预测(训练采用CPU和GPU两种方式) 目录 基于自定义数据集利用catboost 算法实现回归预测(训练采用CPU和GPU两 ...

  2. ML:基于自定义数据集利用Logistic、梯度下降算法GD、LoR逻辑回归、Perceptron感知器、SVM支持向量机、LDA线性判别分析算法进行二分类预测(决策边界可视化)

    ML:基于自定义数据集利用Logistic.梯度下降算法GD.LoR逻辑回归.Perceptron感知器.支持向量机(SVM_Linear.SVM_Rbf).LDA线性判别分析算法进行二分类预测(决策 ...

  3. DL之DCGAN:基于keras框架利用深度卷积对抗网络DCGAN算法对MNIST数据集实现图像生成

    DL之DCGAN:基于keras框架利用深度卷积对抗网络DCGAN算法对MNIST数据集实现图像生成 目录 基于keras框架利用深度卷积对抗网络DCGAN算法对MNIST数据集实现图像生成 设计思路 ...

  4. DL之DNN:自定义2层神经网络TwoLayerNet模型(封装为层级结构)利用MNIST数据集进行训练、预测

    DL之DNN:自定义2层神经网络TwoLayerNet模型(封装为层级结构)利用MNIST数据集进行训练.预测 导读           计算图在神经网络算法中的作用.计算图的节点是由局部计算构成的. ...

  5. DL之DNN:自定义2层神经网络TwoLayerNet模型(封装为层级结构)利用MNIST数据集进行训练、GC对比

    DL之DNN:自定义2层神经网络TwoLayerNet模型(封装为层级结构)利用MNIST数据集进行训练.GC对比 导读           神经网络算法封装为层级结构的作用.在神经网络算法中,通过将 ...

  6. DL之DNN:自定义2层神经网络TwoLayerNet模型(计算梯度两种方法)利用MNIST数据集进行训练、预测

    DL之DNN:自定义2层神经网络TwoLayerNet模型(计算梯度两种方法)利用MNIST数据集进行训练.预测 导读 利用python的numpy计算库,进行自定义搭建2层神经网络TwoLayerN ...

  7. ML之FE:基于自定义数据集(银行客户信息贷款和赔偿)对比实现特征衍生(手动设计新特征、利用featuretools工具实现自动特征生成)

    ML之FE:基于自定义数据集(银行客户信息贷款和赔偿)对比实现特征衍生(手动设计新特征.利用featuretools工具实现自动特征生成) 目录 基于自定义数据集(银行客户信息贷款和赔偿)对比实现特征 ...

  8. ML之FE:基于自定义数据集(银行客户信息贷款和赔偿)对比实现特征衍生(手动设计新特征、利用featuretools工具实现自动构造特征/特征衍生)

    ML之FE:基于自定义数据集(银行客户信息贷款和赔偿)对比实现特征衍生(手动设计新特征.利用featuretools工具实现自动构造特征/特征衍生) 目录 基于自定义数据集(银行客户信息贷款和赔偿)对 ...

  9. DL之DNN:自定义MultiLayerNet【6*100+ReLU,SGD】对MNIST数据集训练进而比较【多个超参数组合最优化】性能

    DL之DNN:自定义MultiLayerNet[6*100+ReLU,SGD]对MNIST数据集训练进而比较[多个超参数组合最优化]性能 目录 输出结果 设计思路 核心代码 输出结果 val_acc: ...

最新文章

  1. WCF 和 ASP.NET Web API
  2. Python基础教程:赋值、深拷贝与浅拷贝(内存地址)
  3. 【Python】Pandas中的宝藏函数-transform()
  4. 小打卡基于阿里云构建企业级数仓的实践及总结
  5. MySQL索引设计原则
  6. mac os 编译android,Mac OS X 编译Android内核源代码
  7. java获取服务器超时_java – Eclipse中的Tomcat服务器超时
  8. Word 2003特殊符号录入与编辑(转)
  9. java public就是可选吗_java 中的public
  10. 【硬件】达林顿驱动电路ULN2000
  11. 婚礼邀请函微信小程序
  12. Windows10 查看电脑关机时间(提交忘记打卡申请必备)
  13. 微信号,手机号,邮箱验证格式
  14. 春天来了,又到了--------------万物复苏的季节
  15. win10右键菜单没有新建Excel选项的解决方法
  16. c++ 中getch()的用法
  17. 【如何让文档左侧显示目录】
  18. 11月03日解题报告
  19. Java开源电商项目比較
  20. 操作系统形式化验证实践教程(7) - C代码的自动验证

热门文章

  1. linux下动态库(*.so)的路径问题
  2. 聚焦点showModalDialog的一些方法
  3. Java和JavaScript区别与联系
  4. 常见的一些功能测试用例
  5. 邪恶的Java帝国是怎么欺负小函数的?
  6. 设计模式之单例模式实践
  7. 面试感悟—-一名3年工作经验的程序员应该具备的技能
  8. Java面试中常问的计算机网络方面问题
  9. “大话架构”阿里架构师分享的Java程序员需要突破的技术要点
  10. spring 学习—spring 的ioc底层原理(03)