DL之DNN:基于自定义数据集利用深度神经网络(输入层(10个unit)→2个隐藏层(10个unit)→输出层1个unit)实现回归预测实现代码
生活随笔
收集整理的這篇文章主要介紹了
DL之DNN:基于自定义数据集利用深度神经网络(输入层(10个unit)→2个隐藏层(10个unit)→输出层1个unit)实现回归预测实现代码
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
DL之DNN:基于自定義數(shù)據(jù)集利用深度神經(jīng)網(wǎng)絡(輸入層(10個unit)→2個隱藏層(10個unit)→輸出層1個unit)實現(xiàn)回歸預測實現(xiàn)代碼
?
?
?
目錄
基于自定義數(shù)據(jù)集利用深度神經(jīng)網(wǎng)絡(輸入層(10個unit)→2個隱藏層(10個unit)→輸出層1個unit)實現(xiàn)回歸預測實現(xiàn)代碼
輸出結(jié)果
實現(xiàn)代碼
?
?
?
?
基于自定義數(shù)據(jù)集利用深度神經(jīng)網(wǎng)絡(輸入層(10個unit)→2個隱藏層(10個unit)→輸出層1個unit)實現(xiàn)回歸預測實現(xiàn)代碼
輸出結(jié)果
DNN層個數(shù): 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?
?
實現(xiàn)代碼
# coding: utf8#DL之DNN:基于自定義數(shù)據(jù)集利用深度神經(jīng)網(wǎng)絡(輸入層(10個unit)→2個隱藏層(10個unit)→輸出層1個unit)實現(xiàn)回歸預測 import numpy as np import neurolab as nl import matplotlib.pyplot as plt#1、定義數(shù)據(jù)集 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范數(shù),歸一化的思想data_X = x.reshape(nums,1) data_y=y.reshape(nums,1)#數(shù)據(jù)集散點圖可視化 plt.figure() plt.scatter(data_X,data_y) plt.xlabel('x') plt.ylabel('y') plt.title('dataset') plt.show()# 建立DNN模型 #定義一個深度神經(jīng)網(wǎng)絡,帶有兩個隱藏層,每個隱藏層由10個神經(jīng)元組成,輸出層由一個神經(jīng)元組成 DNN3 = nl.net.newff([[X_min,X_max]],[10,10,10,1]) # 輸入層(10個神經(jīng)元),2個隱藏層(各10個神經(jīng)元),輸出層(1個神經(jīng)元) print('DNN層個數(shù):',len (DNN3.layers))# 定義模型優(yōu)化器:選擇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()# 模型預測結(jié)果對比 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()?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的DL之DNN:基于自定义数据集利用深度神经网络(输入层(10个unit)→2个隐藏层(10个unit)→输出层1个unit)实现回归预测实现代码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BigData:绘制2018年福布斯中国
- 下一篇: BigData:根据最新2018人工智能