詳細ディープラーニングの本を読んだので、勉強の題材としてBitcoinの予測を行ってみました。
https://www.amazon.co.jp/dp/B072JC21DH/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1
利用した技術や手法
- TensorFlow
- リカレントニューラルネットワーク
- LSTM
- Adam
TensorFlowとは
Googleが作成した機械学習用ライブラリ
機械学習の様々なアルゴリズムをライブラリ化してくれているので、アルゴリズムを理解していなくても機械学習のモデルを作成できる。
リカレントニューラルネットワークとは
時系列のデータの扱う時に利用する手法
今回の場合だと、過去のビットコインの価格から、未来の価格を予測するので、この手法が当てはまってそう
LSTMとは
長期の過去時間から学習を進めていくと、勾配が消失してしまい学習が進まなくなるから、その対処法となる手法
Adamとは
学習率の調整の手法
最初は大きく学習率をとって、学習が進めるにつれて学習率を小さくしてくれる
これらを使って作成したソースコードはこちら
https://github.com/unamu1229/deep_larning_bitcoin/blob/master/bitcoin.py
学習データは
https://www.blockchain.com/ja/charts/market-price
からダウンロードした、2009-01-03から2019-01-01までのビットコインの市場価格
予想結果のグラフこのような具合、y軸はドルになり、x軸は日付。
点線は学習のデータになり、実線は学習したモデルが予測したビットコインの市場価格になります。
ビットコインの価格が高騰した時の予測の市場価格と実際の市場価格に大きくズレがあります。
もっと学習の回数(epochs)を増やすことで、この辺りのズレも少なくなりそうです。