Python實現人工神經網絡逼近股票價格 4 代碼實現 關鍵代碼分析

# 誤差用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()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章