2017年9月22日 星期五

Machine Learning on TWSE -- vol.1

在Study了許多文件以後, 發現Deep Learning跟我一開始想的不完全一樣,
又或者說, 我又更了解了Deep Learning一點
在這塊領域上面, 台灣是落後的,
當然, 我更是一個半途出家的研究者,
不敢說自己有多專業, 更多的是希望拋磚引玉,
引進更多志同道合的夥伴們一起成長,

在vol.0作出一個初步的結果以後, 遲遲沒有拿出來,
因為在實作之前有一個更重要的問題,

如何確定未來數據會重現我訓練出來的行為?  
如何確定這個model是general的

先說個我一開始認為的謬誤
我認為的Neural Network是不管我餵甚麼數據給他,
他總是能依靠著電腦強大的運算能力, 去找出相關性,
然而, 事情並不像傻人想的那麼簡單,
如果單純把開高低收成交量送進去計算,
相當高的機率是學不到任何東西的,

所以這時候我採用以某一天的開盤價作為基礎, 將開高低收轉變為1左右的數字
這樣既可以解決個股票之間, 價格高低水位不同的問題

也可以一併解決learning rate的問題,
相信大家在學machine learning的時候,
都聽過要做normalization, 但可能都不知道為什麼
先扯到一個machine learning的超參數 "learning rate"
(超參數意指非machine learning會學習的變數, 只能由人在外面調適, 每次學習的時候這個超參數是固定的)
就我所認為的應該是因為每個神經元每個input在學習的時候, 會根據作learning rate大小的shift, 以去求gradient找最適化參數,
然而如果input data每次不一樣, 甚至同一個minibatch輸入進去的input data不一樣,
那麼每個神經元學習的速度會不一樣, 這時可能會導致本來該學會的東西,
反而學不會,
至於成交量我還沒想到一個比較好的做法,
因此目前先採用開高低收作input data,

因為想要學習一個general的方法
下一篇可能會講解如何random選股票送進去當training data






沒有留言:

張貼留言

XGBoost (python3.5) (windows) (anaconda) plot_tree 修正

windows anaconda下載的XGBoost plot_tree default function畫出來只會顯示 f0, f1, f2......作為feature的切割 如上圖 參考了網路上的做法, 做了修正 1. 首先要建立一個fmap的文件 ...