So-net無料ブログ作成
  • ブログをはじめる
  • ログイン
ハード/ソフト ブログトップ
前の10件 | -

RMSPropOptimiser vs AdamOptimiser (TensorFlow) [ハード/ソフト]

TensorFlowを勉強中です。

実験的にTensorFlowを使ってニューラルネットを学習させてみました。
元ネタは

https://qiita.com/verizi/items/a3642b44f0ef5ad299f5

https://cloud.google.com/solutions/machine-learning-with-financial-time-series-data

です。
Pythonのソースコードはネットで公開されていたのですが、どこかへ行ってしまったかな?
Githubにあったと思います。

データは日経平均225の騰落2値を目的変数とし、説明変数は各種世界の株価指標データと為替レートです。データの年月は2001年1月1日~2018年4月16日までです。

グラフがあまり整っていなくてすみません。Excelのおすすめグラフのままです。

10変数の4日分、40変数を使って、騰落を表す0-1の2値の目的変数を予測するモデルを作りました。
(2個必要です。0-1で上がった場合を示す変数と、0-1で下がった場合を示す変数の2つの変数を目的変数にします。)

説明変数は以下の通り。。。

AORD_1
AUDJPY_1
BVSP_1
DJI_1
GDAXI_1
GSPC_1
HSI_1
N225_1
SSEC_1
USDJPY_1
AORD_2
AUDJPY_2
BVSP_2
DJI_2
GDAXI_2
GSPC_2
HSI_2
N225_2
SSEC_2
USDJPY_2
AORD_3
AUDJPY_3
BVSP_3
DJI_3
GDAXI_3
GSPC_3
HSI_3
N225_3
SSEC_3
USDJPY_3
AORD_4
AUDJPY_4
BVSP_4
DJI_4
GDAXI_4
GSPC_4
HSI_4
N225_4
SSEC_4
USDJPY_4


学習したモデルのAccuracyを、学習データとテストデータについて計算しました。

学習データは全データの80%、テストデータは20%のランダムサンプリングです。


Accuracyの定義は、
Accuracy (ACC) = Σ True positive + Σ True negative / Σ Total population
です。
簡単に言うと、計算するデータ内で、正確に目的変数のアウトカムの0-1を当てた確率です。

Optimiserの対比ですが、AdamOptimiserとRMSPropOptimiserの学習の進度とAccuracyの変化をグラフにしましたのでご覧ください。

AdamOptimiser.jpg

RMSPropOptimiser.jpg

AdamOptimiserは学習のピークに達するのが早く、過学習が起きにくいかもしれません。ただ、成績はあまり学習しても変わらない感じでした。

RMSPropOptimiserは学習のピークが来るのが遅いかもしれません。また、そうこうしているうちに過学習が起きるかもしれません。テストデータでのAccuracyが次第に下がり始めたので、そのような傾向が言えると思います。

一般的に言えることとしては、学習データとテストデータのAccuracyを並べて表示しながらモデルを学習させ、テストデータでのAccuracyを見つつどこかで学習を止めるのが良いかと思います。(SAS Enterprise Minerのニューラルネットではそうなっていたと思います。)

RMSPropOptimiser でテストデータで27000回の時にAccuracy=0.67121726でした。文献の68%に到達することはできませんでした。

終値の騰落が予測できたからと言って、取引に使えるのか?ギャップアップしてしまったりギャップダウンしてしまったら予測の意味も半減してしまいます。始値と終値の差分を予測するのがいいかもしれませんね。。。または始値と高値の差分、始値と安値の差分など。




nice!(1)  コメント(0) 
共通テーマ:趣味・カルチャー

TensorFlow の shape=[None ・・・について [ハード/ソフト]

x = tf.placeholder(tf.float32,shape=[None,784])

の none は任意の正の整数を期待しているということ。実行時に決定される。

ということらしい。

https://teratail.com/questions/104391

にありました。

TensorFlowの勉強をしていますが、TensorFlowをコーディングするよりもその上位のパッケージのようなものなのか、Kerasというものを使ったほうがコーディングが簡単になりそうな予感がしてきました。

株価予測を頑張るぞ。



nice!(1)  コメント(0) 

Python, pip, TensorFlowのバージョン確認方法 [ハード/ソフト]

Pythonの色々なバージョン確認。

python -m pip -V

でpipのバージョンが表示される。

python.exe -m pip install --upgrade pip

でpipのバージョンアップができる。

python --version
または
python -V

でpythonのバージョンが表示される。

TensorFlowのバージョン確認は、

pip list

でパッケージのバージョンが表示される。TensorFlow もこの中から確認できる。




nice!(1)  コメント(0) 
共通テーマ:パソコン・インターネット

Visual Studio Community 2017のライセンス更新 [ハード/ソフト]

よくわかりませんが、30日間起動しないとVisual Studio Community 2017は起動しなくなるらしいです。

ライセンスが30日で切れてしまうようで。。。

何とかしようと思っていじっていたら何とかなりました。

1.Visual Studio Community 2017をアンインストール

2.Visual Studio Community 2017を再インストール

3.Visual Studioを起動して、ライセンス切れを言われるので左の方の「サインアウト」をし、それから「サインイン」を実行

これで起動しました。疲れた~。3Hの作業でした。

C++を使おうと思っているのですが、Eclipseのほうがいいかもしれませんね。。。VSは複雑で理解しづらいです。





nice!(0)  コメント(0) 

OneDriveの圧縮ダウンロードで解凍すると文字化けする [ハード/ソフト]

MicrosoftのOneDriveで、全角文字が含まれているファイル名のファイルを複数ダウンロードしようとする際、ZIPでダウンロードされますが、Windows10のZIPの解凍機能では文字化けが起こりました。

その対応として、7ZIPを使って解凍すると文字化けが起こらないようです。

7ZIPへのリンクはこちら。
7-Zipのホームページ(日本語)
http://sevenzip.sourceforge.jp/

Lhaplusでは文字化けしてしまいました。これはLhaplusファンにしてみれば何とかしてほしいところですが。。。


nice!(0)  コメント(0) 
共通テーマ:趣味・カルチャー

Python3.6 / Anaconda 5.0.1 [ハード/ソフト]

Python の主要なディストリビューションにAnacondaがあります。

12月3日現在のバージョンは、10月25日にリリースされた最新版で

Anaconda5.0.1

で、これに含まれているPythonのバージョンは

Python3.6

です。

ダウンロードは下記から。。。

https://www.anaconda.com/download/

Visual Studio 2017 Community 版にもAnacondaが付いてくるようです。

リンクはこちら。。。

https://www.microsoft.com/ja-jp/dev/products/community.aspx

Visual Studioのインストールは構成を選ぶことによってPythonやR統計言語も

インストールできるようですね。

でも普通はAnacondaを使ってPythonを導入して、同梱されているJupyter Notebookで開発をするのが良さそうですね。RはR Studioという開発環境がありますし。

まだまだ初心者なのですが、できることを増やしてWebに上げていきたいと思います。





nice!(1)  コメント(0) 

Lenovo E570 Fnキーなどキーボードの変更方法 [ハード/ソフト]

Lenovo E570を購入したのですが。。。

左下のFnキーとその右隣のCtrlキーを交換したい!

Excel使ってるとファンクションキーのF2をよく使うけれど、

そのまま押すとスピーカーの音量を下げる機能が動いてしまいます。。。

いちいちFnキーを押してF2キーを押すのが嫌!

ということの対策。

FnキーとESCキーを同時押しすると、

Fnキーがロックされて、F1-F12はそれ一つだけ押せば

常にファンクションキーとして動くようになります。

CTRLとFnキーの入れ替えは、

Lenovo Companionを起動すると、キーボードの設定メニューで

入れ替えるメニューが出てくるので、それをOnにすればOK。

使いやすくなるかな。。。


nice!(0)  コメント(0) 

Oracle VirtualBox をLenovo E570で動かす [ハード/ソフト]

SAS University Editionをインストールするための苦労を少し書きます。

Oracle VirtualBox のダウンロード、インストールを行う。

その後、SAS vAppsをダウンロード。

VMのためのBiosの設定が必要。

F1を押したまま起動することによりBios画面に入ることができる。

そこでVirtualizationをEnableにする。

Biosはセーブして再起動。

Oracle VirtualBoxを起動して、あとはマニュアル通りやれば動きます。

ざっくりとしたマニュアルはこちら。
http://support.sas.com/software/products/university-edition/docs/ja/SASUniversityEditionQuickStartVirtualBox.pdf


細かいマニュアルはこちら。
http://support.sas.com/software/products/university-edition/docs/ja/SASUniversityEditionInstallGuideWindows.pdf


nice!(1)  コメント(0) 
共通テーマ:仕事

Python pykdbモジュールの使い方(メモ) [ハード/ソフト]

Pythonでよく使っている任意の作業中ディレクトリの下に

https://github.com/sawadyrr5/pykdb から取得した

pykdbフォルダごと
testフォルダごと
setup.pyファイル

を配置。

コマンドプロンプトで作業中ディレクトリに行き、

python setup.py install

を実行すればよい。

まあ、試しの頃はいいけれど、これはあまり使わないかな。。。

Datagetでたった月1600円だし。

タグ:Python
nice!(0)  コメント(0) 

Excel 2010で拡張子と既定のプログラムの紐付けを再設定 [ハード/ソフト]

母の家のWin7HomeのPCにMS Office2010を入れています。

エクセルの拡張子xlsxのエクセル2010との紐付きが消えてしまいました。

xlsxのファイルを見るとアイコンが真っ白に。。。ダブルクリックしても開きません。

ファイルを開く既定のプログラムを変更しようとしても、エクセルが上手く選択できません。なぜ?

以前OfficeXPを入れていて、それをアンインストールしてからOffice2010をインストールしたのですが、何かの不具合か、WindowsUpdateなどによって、プログラムの関連付けが変更されてしまうことがあるようです。

Windows7であれば、「スタートメニュー-コントロールパネル-規定のプログラム」(表示されていない場合は、表示方法を小さいアイコンに変更)を開き、該当の拡張子(.xlsなど)にExcel2010を指定します。

この設定を行っても、関連付けが変更できないことがあります。


その場合は、レジストリを直接設定することで、関連付けを変更できます。

スタートメニューをクリックし、「プログラムとファイルの検索」欄に「regedit」と入力してエンターを押します。

レジストリエディタが起動しますので、「HKEY_CLASSES_ROOT\Applications\EXCEL.EXE\shell\open\command」を開き、「REG_SZ」の値をExcel2010のパスに変更すると、エクセルが既定のプログラムで選ぶことができるようになります。

お使いの環境により設定内容が異なる場合がありますが、使いたいバージョンのパスを確認して設定してください。

例)”C:\Program Files\Microsoft Office\Office14\EXCEL.EXE” “%1”


nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット
前の10件 | - ハード/ソフト ブログトップ