神經網絡擬合二次函數


調用Nndl實現的神經網絡code,用ANN擬合二次方程。

ref: https://github.com/mnielsen/neural-networks-and-deep-learning

准備訓練數據

#np.shape(x)
x=np.array(xrange(0,100))/100.0
f=x*x
# train=np.array([[xi],[fi]] for xi,fi in zip(x,f))

train=[(np.array([a[0]]).reshape(1,1),np.array([a[1]]).reshape(1,1)) for a in zip(x,f)]


x1=np.array(xrange(10,15))
f1=x1*x1
# train=np.array([[xi],[fi]] for xi,fi in zip(x,f))

test=[(np.array([a[0]]).reshape(1,1),np.array([a[1]]).reshape(1,1)) for a in zip(x1,f1)]


訓練網絡

net2 = network2.Network([1, 5, 1], cost=network2.QuadraticCost)
net2.large_weight_initializer()
err=net2.SGD(train, 30, 5, 1.5, evaluation_data=train, monitor_training_cost=True )
plt.plot(err[2])```

網絡精度

比較擬合函數

a=[]
f=[]
for xi in np.array(xrange(0,100))/100.0: 
    a.append(net2.feedforward(np.array([xi]).reshape((1,1)))[0])
    f.append(xi*xi)
plt.plot(a)
plt.plot(f)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM