国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

TensorFlow-Bitcoin-Robot:一個基于 TensorFlow LSTM 的 Bi

Mertens / 2523人閱讀

摘要:對于以比特幣為首的數字貨幣近期的表現,只能用瘋狂來形容。比特幣的成交記錄就是事件序列上的加個數據,可以基于過去的成交記錄序列來對未來的價格作出預測,和的模型比較合適。最后采用了,用爬取,它包含比特幣的個交易記錄。

簡介

TensorFlow-Bitcoin-Robot:一個基于 TensorFlow LSTM 模型的 Bitcoin 價格預測機器人。

文章包括一下幾個部分:
1.為什么要嘗試做這個項目?
2.為什么選取了這個模型?
3.模型的數據從哪里來?
4.模型的優化過程?
5.項目可以進一步提升的方向。

對于以比特幣為首的數字貨幣近期的表現,只能用瘋狂來形容。來自比特幣交易平臺的最新價格行情顯示,就在此前一天,比特幣盤中最高價格達到29838.5元,距離3萬元大關僅有咫尺之遙。比特幣最近火熱的行情,吸引了眾多的關注,還有一個人工智能似乎無所不能,那么問題來了,能否用人工智能來進行比特幣交易呢?

使用什么模型來進行價格預測?現在熱門的 深度神經網絡,卷積神經網絡,循環神經網絡,因為卷積神經網絡更適合處理圖片,循環神經網絡比較適合處理序列化內容,尤其是 LSTM 是 RNN 的升級版。

LSTM(Long Short-Term Memory)是長短期記憶網絡,是一種時間遞歸神經網絡,適合于處理和預測時間序列中間隔和延遲相對較長的重要事件。LSTM 已經在科技領域有了多種應用。基于 LSTM 的系統可以學習翻譯語言、控制機器人、圖像分析、文檔摘要、語音識別圖像識別、手寫識別、控制聊天機器人、預測疾病、點擊率和股票、合成音樂等等任務。比特幣的成交記錄就是事件序列上的加個數據,可以基于過去的成交記錄序列來對未來的價格作出預測,和 LSTM 的模型比較合適。接下來的價格可以作為預測結果。

數據集

新的問題來了,數據從哪里來?
需要的數據是一個包含成交價格的序列,然后可以截取一部分作為輸入值,接下來的一部分作為預測值。后來找了一下,主流的交易平臺都提供了部分歷史數據,但都不是很多。最后采用了 btctrade ,用 requests 爬取,它包含比特幣的 50 個交易記錄。

獲取數據集的腳本
get_trades.py 會獲取這些交易記錄,重新轉化為 json ,并且用圖片的方式展示出來,供下一步數據分析使用。

運行前需要安裝的依賴:
為了爬取數據,需要使用 requests 庫,一個非常好用的 HTTP 庫。為了把交易的數據可視化,使用了 matplotlib。

pip install requests
pip install matplotlib

模型

rnn_predicter.py

使用 LSMT 模型。截取 10個交易記錄作為輸入,如果 第 11個價格比第10個高,就把輸出設置為 [1,0,0],如果低就設置為 [0,0,1] ,如果相同 [0,1,0]。

for i in range(0,20):
    #print(price)
    one_predictor=np.array(price[i:i+20],dtype=float)
    #print(one_predictor)
    train_x.append(one_predictor)
    if(int(price[i+20])>int(price[i+21])):
        train_y.append(np.array([1,0,0]))
    elif (int(price[i + 20]) == int(price[i + 21])):
        train_y.append(np.array([0,1,0]))
    elif(int(price[i+20])

下一步定義模型:
tensorflow lstm 模型,需要把 tensor 拆分成序列,然后傳入模型。否則回報錯,也就是代碼中的 x = tf.unstack(x, n_steps, 1) 。

def RNN(x, weights, biases):
    #首先把數據拆分為 n 個序列,每一個的維度 (batch_size, n_input)
    x = tf.unstack(x, n_steps, 1)

    # 定一個 lstm cell
    lstm_cell = rnn.BasicLSTMCell(n_hidden, forget_bias=1.0)

    # 獲得 lstm 的輸出
    outputs, states = rnn.static_rnn(lstm_cell, x, dtype=tf.float32)
    # 加個線性激活
    return tf.matmul(outputs[-1], weights["out"]) + biases["out"]
獲得結果,定義損失函數和優化函數

如何優化模型?
預測值獲取之后,對比實際的價格,會有一個損失函數。損失函數使用 softmax_cross_entropy_with_logits 來計算預測值和標記值的差,然后用 AdamOptimizer 來優化損失函數優化模型。

pred = RNN(x, weights, biases)
# Define loss and optimizer
cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=pred, labels=y))
optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate).minimize(cost)

# Evaluate model
correct_pred = tf.equal(tf.argmax(pred,1), tf.argmax(y,1))
accuracy = tf.reduce_mean(tf.cast(correct_pred, tf.float32))
項目開源地址和訓練結果

https://github.com/TensorFlow...

訓練設備:

GeForce GTX 980 Ti

訓練結果:

Iter 998000, Minibatch Loss= 0.730588, Training Accuracy= 0.75000 Optimization Finished!

后續更新發布

http://www.tensorflownews.com/

更新計劃

因為交易平臺提供的歷史交易記錄非常少,所以為了進一步提高訓練效果,后續要持續的自己保存歷史交易數據或者是找到更好的數據來源。還有一個方面是,模型訓練完了之后,保存下來,后續可以直接使用。還有針對模型本身還可以做一定的優化,現在只是預測,漲,跌,維持,后續可以進行更加精細的評分,按照歷史數據進行回測等等。
模型持久化,訓練數據集持久化,測試數據集。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/40734.html

相關文章

  • TensorFlow-Bitcoin-Robot:Tensorflow 比特幣交易機器人

    摘要:簡介一個比特幣交易機器人基于模型,僅供娛樂。數據集數據來自,用爬取,它包含比特幣的個交易記錄。會獲取這些交易記錄并且用圖片的方式展示出來。訓練結果之前的項目推薦后續更新發布更新計劃模型持久化,訓練數據集持久化。 簡介 一個比特幣交易機器人基于 Tensorflow LSTM 模型,僅供娛樂。A Bitcoin trade robot based on Tensorflow LSTM m...

    entner 評論0 收藏0
  • ChatGirl is an AI ChatBot based on TensorFlow Seq2

    Introduction [Under developing,it is not working well yet.But you can just train,and run it.]ChatGirl is an AI ChatBot based on TensorFlow Seq2Seq Model. TensorFlowNews TensorFlow CNN Model Project:h...

    shmily 評論0 收藏0
  • 學習筆記CB012: LSTM 簡單實現、完整實現、torch、小說訓練word2vec lstm

    摘要:和分別是樣本輸入和輸出二進制值第位,對于每個樣本有兩個值,分別是和對應第位。最簡單實現,沒有考慮偏置變量,只有兩個神經元。存儲神經元狀態,包括,是內部狀態矩陣記憶,是隱藏層神經元輸出矩陣。表示當前時序表示時序記憶單元。下載甄環傳小說原文。 真正掌握一種算法,最實際的方法,完全手寫出來。 LSTM(Long Short Tem Memory)特殊遞歸神經網絡,神經元保存歷史記憶,解決自然...

    NickZhou 評論0 收藏0
  • 一個基于TensorFlow簡單故事生成案例:帶你了解LSTM

    摘要:令人驚訝的是,創作出了一個有一定含義的故事。再次聲明,本文中的示例只為了簡化討論。這是由于精度依賴于初始參數的隨機設定。訓練次數越多超過次精度也會相應提高。 在深度學習中,循環神經網絡(RNN)是一系列善于從序列數據中學習的神經網絡。由于對長期依賴問題的魯棒性,長短期記憶(LSTM)是一類已經有實際應用的循環神經網絡。現在已有大量關于 LSTM 的文章和文獻,其中推薦如下兩篇:Goodfel...

    wizChen 評論0 收藏0
  • 自然語言理解-從規則到深度學習

    摘要:本文詳細討論了自然語言理解的難點,并進一步針對自然語言理解的兩個核心問題,詳細介紹了規則方法和深度學習的應用。引言自然語言理解是人工智能的核心難題之一,也是目前智能語音交互和人機對話的核心難題。 摘要:自然語言理解是人工智能的核心難題之一,也是目前智能語音交互和人機對話的核心難題。之前寫過一篇文章自然語言理解,介紹了當時NLU的系統方案,感興趣的可以再翻一番,里面介紹過的一些內容不再贅...

    CntChen 評論0 收藏0

發表評論

0條評論

Mertens

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<