tweet

IoTデータから LSTMで時系列予測を出力する。keras+ tensorflow版

前回続き、機械学習の関連となります。
RNN (Recurrent Neural Network)を使用した時系列の数値予測機能を追加する予定でしたが、
学習データ件数が多い場合は、オーバーフローするらしいので。
RNNの派生らしき LSTM (Long Short Term Memory networks)を使用しました。



# thanks, 感謝です。
LSTMネットワークの概要
https://qiita.com/KojiOhki/items/89cd7b69a8a6239d67ca

Understanding LSTM Networks
http://colah.github.io/posts/2015-08-Understanding-LSTMs/

深層学習ライブラリKerasでRNNを使ってsin 波予測
https://qiita.com/yukiB/items/5d5b202af86e3c587843

Kerasで時系列データ予測 part3 再帰型ニューラルネットワーク
https://www.youtube.com/watch?v=2pK_HIq80Lc



# 環境, win7
python 3.5
keras
tensorflow 1.4


# 実行結果



件数的には、やや少なめですが
最近の、IoT温度値を 約800 件程読ませて
matplotlib のグラフ表示

red = predict:  予測
blue=row : 温度/実測値
green=future: 未来予想


# Log
epochsの 実行回数と、
プログレスバーみたいな表示で、進捗が見えました。





# code, python3.5
デモ用で、乱数を読ませていますが。
実際には、IoT実測値を読ませて機械学習させています。

epochs= 100回を指定していますが、EarlyStopping
の指定で、収束時は自動終了してました。




# Linux setup (rasPi 2/ RAM =1GB)
raspberyPiに、上記の機械学習を実行する場合
Kerasを追加する場合で、下記インストしました。
python2.7で動作できました。

sudo apt-get install python-pandas
sudo apt-get install python-matplotlib

sudo apt-get install python-scipy
sudo apt-get install python-h5py
sudo pip install keras

*)win-PC と比較して、かなり遅かったです。
RAMも少なく、CPUの性能差もかなり出たようでした。



# まとめ
前回の、線形回帰モデルでは、
データ分析に対して、
直線のグラフを出力できて、全体の傾向(上昇/下降)
を見るにはわかり易い気がしてましたが。
今回のLSTM版は、予測部分の曲線波形が出力できてる点は
改良できた気がします。

比較的、Keras (ラッパー系ライブラリ )が
上記の少ないコードでデータ分析/予測 処理してくれるので
データの準備は必要ですが
1次元配列から、未来予測機能を追加したい場合は活用できそうな気もします。




# 関連のまとめ
機械学習 関連まとめ
http://knaka0209.blogspot.jp/2018/01/tensorflow-matome.html




コメント

AD-parts

Shop
Bluetooth搭載
ベース基板

FACEBOOK

人気の投稿