<株進捗>8/8やったこと・・・デバッグプログラムの作成、実行

今日やったこと

学習モデルのデバッグプログラム作成

ランダムに2次〜4次関数を作成→学習させる、というプログラムを作成。
N次関数を作るメソッド(N=(2,3,4))を昨日実装したので、イメージとしては以下の通りでいけるかと…

for i in [2,3,4]:
   for k in range(10): #テストしたい回数
       debug_file = make_func(dim=2)
       result_graph = learn(file) 

なかなか簡単にデバッグプログラムが組めず。
ソースコードがごちゃごちゃしてるからです。
たとえば、make_func()というメソッドという名前にもかかわらずなんか作った関数を分析しようとしたり…。
一つの関数に色んな物を詰め込みすぎです…。
理想としては、いろんなメソッドをとっかえひっかえし組み合わせてプログラムを組みたい。
ということで、リファクタリングが必要になりそうです。

デバッグ

道具を作ることに凝りすぎても本末転倒なので、前にも進まないといけないジレンマ。。
(綺麗に作るのちょっと楽しくなってきました。)

引き続き、2次関数〜4次関数を学習させてみます。
昨日は失敗したのですが、以下の通り変更したらうまく行きました。
テスト関数
f(x) = ax**2 + bx + c
について、
以前:a,b,cは-150〜150の間でランダム f(-150),f(-149),…,f(149),f(150)をテストデータ
→今回:a,b,cは-1.5〜1.5の間でランダム f(-1.50),f(-1.49),…,f(1.49),f(1.5)をテストデータ
にしたらうまくいきました。数字の大きさの問題??

2次関数(学習2000回)
f:id:kurupical:20170808224505p:plain:w400

3次関数(学習2000回)
f:id:kurupical:20170808224658p:plain:w400

ということで、3次関数と4次関数をランダムに100個ずつ生成してそれを20000回ずつ学習させる、というデバッグを今夜流してみます。
ついでに、パラメータをいくつか調整して学習の速さもみてみます。

今後やること

データの標準化バグ修正

データ標準化がバグっていたので修正→デバッグ→株価分析リベンジ!!!!
4次関数まで予想できれば、とりあえずそこそこのモデルは構築できていると判断します。
これでも予測できなかったら………
ちょっと考えます。