# 誤差用loss表示 實際是一個標準差
loss = tf.reduce_mean(tf.square(y-layer2)) # y是真實的值 layer2是計算的值, 兩者差值開方,再求其均值
# 每次調整的步長 梯度下降0.1 來調整權重和偏移查,目的是縮小loss減小真實值與誤差值的差異
train_step = tf.train.GradientDescentOptimizer(0.1).minimize(loss)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer()) # 初始化
for i in range(0, 10000): # 訓練次數爲10000
#追根溯源需要傳入兩個參數 x 和 y
sess.run(train_step, feed_dict={x: dateNormal, y: priceNormal})
# 通過上面的循環,我們已經訓練成一組優化的w1 w2,那我們我們用下面的方法來檢測下w1 w2的準確性
# w1w2 b1b2 A + wb -->layer2
pred = sess.run(layer2, feed_dict={x: dateNormal})
predPrice = np.zeros([15, 1]) # 預測結果
for i in range(0, 15): # 還原數據需要*3000
predPrice[i, 0] = (pred*3000)[i, 0]
plt.plot(date, predPrice, 'b', lw=1)
plt.show()
Python實現人工神經網絡逼近股票價格 4 代碼實現 關鍵代碼分析
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.