在我的學校就有一些金融工程老師在做了.
樓上很多前輩提出一些問題,
比如股市的不可預測性, 預測錯誤會賠錢等等,
我覺得都是正確的,
這些都是機器學習目前具有的問題,
但忽略的事情是,
Machine learning的結果不一定要是完美才能用,
只要比人好就行.
股市的不可預測性與預測失誤,
即使是對投資之神來說,
都是很可能會失敗的,
成功搞不好也只是運氣好,
金融海嘯那些分析師也是死一堆.
就像被熊追一樣,
你要活下來不用跑的全世界最快,
也不用跑的比熊快,
只要跑的比最後一個快就行.
有前輩會說比方說XXX如果不是人就無法知道要買,
但你會做出這個判斷一定有他的理由 (不然你只是random用猜的),
你可能說是直覺,
但這僅是您沒有仔細去想你為什麼會做這樣的判斷而已,
而電腦未必不能做出一樣甚至更好的判斷.
正常的投資都是會有一套投資組合,
即使你覺得某一支股票會漲10倍,
正常人也不會梭哈,
頂多提高一些他的投資比例罷了.
就我所知大型投資公司也是這樣子做,
而且投資項目上百甚至上千樣,
一些判斷錯誤基本上不會有什麼毀滅性的影響,
況且這些讓人來判斷常常也是會失誤的.
不過話說回來,
這個到底能不能用還是取決於機器學習的判斷有沒有比人好?
我是認為終有一天是會超過人的 (不過現在應該是還不行),
畢竟即使有一個投資之神他能做出完美的判斷且過目不忘,
他光把所有的相關資訊看完就不知道要多久,
看完後這個市場可能又很不一樣了,
機器則可以在數秒或是數分鐘之內就把全世界即時產生的所有資訊讀完,
24小時不睡覺不斷分析,
然後把過去股市幾十年的動態全部背起來並從中間學習失敗經驗,
這點是人絕對比不上的地方.
但短期內是不是可能呢?
這個沒做也不知道.
機器學習不是只要把資料灌進去他就會學習然後判斷正確這麼容易,
他有太多Know-how與經驗在裡面,
別的應用會成功的架構在你這邊未必,
同樣的架構Train的好不好也會造成巨大的差異,
沒搞好出來的東西只會是垃圾,
甚至比亂猜還爛.
比方說,
你的Network架構如何選擇,
要幾層,
每層幾個Neuron,
Neuraon後面的非線性層是要ReLU還是Sigmoid還是tanh還是什麼,
你的data前處理要怎麼做,
Training時的learning rate跟momentum怎麼調,
該怎麼解決overfitting,
你的dataset搜集的夠不夠大等等,
實際要做的好還是非常困難的.
另外Deep Learning的另一個意思就是"你的口袋要非常的Deep才有辦法做的Learning",
我們也投資了數百萬在買Server來進行Training,
但這個計算資源跟很多人比還是差太多了...
不過我個人如果有空的話倒是想來仔細研究一下這個要怎麼設計才好.
謝謝.
清大電雞 wrote:
小弟的周遭環境主要...(恕刪)
Overfitting的原因有兩個,
一個是data太少,
另一個就是model的capacity太大.
Data越多越不會overfitting,
model的capacity是在設計時要考慮進去的因素.
看長期的反而是人的弱點,
要一個人去看過過去數十年的未處理過的資料(不只是那間公司的財報, 可能還有其它的原物料或是其它公司的財報),
幾乎是不可能的是,
頂多看整理過的一些high-level資訊,
但這些資訊整理的正不正確,
精確度夠嗎,
都會是問題.
如果這個變化真的是隨機不可預測,
我想對人來說也只能亂猜了,
也不一定高明到哪邊去XD
但現有的Machine Learning技術到底有沒有超越很有經驗的分析師了?
我認為是還沒有,
人實在是太聰明了,
要用智障的電腦追上人類真的是累死了很多科學家= =+
j808010 wrote:
我的想法是
這種模型的東西
可能還是要看長期
才會比較準確
餵一大堆資料去模擬短期情況
很有可能造成over fiting
遇到沒有遇過的情況
很有可能整個掛掉
畢竟區間震盪
或是時勢所趨
都不是現有資料能夠提供給電腦的
不知道現在的技術
是否已經能克服
我不懂股票, 但我卻很相信一件事情, 那就是人類行為學.
看到美國股票跌, 台灣股票隔天也幾乎會一定跟著跌
看到歐洲股票漲, 台灣股票也會跟著漲
所有的股票都有操盤手, 如同我之前一個很懂人性的同事, 他曾經研究過股票, 但他研究的是主力 (操盤手)如何坑殺這些可憐的菜籃族
電視上每天都有一些 "老師" 在節目上大談闊論, 在我看來不過是事後諸葛, 真的跟詐騙集團相差不多.
回到人類行為學. 大家應該相信, 人類的行為是可被 predict 的. 就像是小孩子被眼尖的媽媽瞄一眼, 就知道小屁孩想做甚麼了.
假設, 只是假設
我們知道某些有名的公司股票的操盤手是誰, 多去了解這人的個性型態 (如透過媒體報導, 如果有這些資料的話), 如果沒有, 那也沒關係, 我們就用電腦來分析過去這 10 年以來, 這個人操作股票的手法. 一樣從心理學的角度, 不過是用逆向工程的手法 - 為什麼漲? 當天發生了甚麼事? 為什麼跌? 當天又怎麼了? 用電腦製作這些流程數據化, 算出的是種 "機率". 試問, 當環境背景重演時, 我是不是, 至少, 就可以跟這位操盤手同時間段有著極為相似的思考邏輯? 那, 我不一定會反應比你慢喔....
股票為何有人會賠錢, 就是因為動作永遠比別人慢 - 操盤手, 大戶在賣的時候, 你慢人家一秒, 就只能比人家掛的金額低, 這就是損失. 但透過電腦模型, 我不是要研究線型, 而是要抓出一個跟你很像的邏輯思考曲線, 那請問, 我又會比你反應慢多少?
以上為小弟的理論, 大家笑笑就好.
在Y. Bengio的"Deep Learning Book"一書中的7.4節提到
"The best way to make a machine learning model generalize better is to train it on more data."
這就是為什麼在deep learning中常常需要做data augmentation的原因.
Overfitting的原因就是model的capcity太大, 比你給的data還大,
他就直接把training data給背起來了.
常見的解法就是加入regularization降低capacity,
或是增加training data,
讓他沒辦法用背的,
一定得理解才行.
如果您指的是說加入的全是outlier的話,
這也要看這個"outlier"是什麼.
如您所說,
如果這個outlier是正確的, 只是跟平常不一樣的資料,
確實是該加入,
因為這也是這個model應該學到的.
如果這個outlier是錯誤的,
比方說key錯或是被noise汙染的低品質data,
那加越多這種東西確實對整個model的學習不好.
謝謝.
me5888 wrote:
Data越多越不會overfitting?
你確定?
資料越多非線性的因素更多會參入模式,越容易陷入局部最小解,這是我的經驗。
高維的資料要做好預測,沒那麼簡單的,什麼是蝴蝶效應?
一般統計模式會先把異常值給過濾,如果把這些異常值納入模式,通常預測都會很差,
問題是這些異常值出現,是真正有意義的,不納入模式,那還預測個鬼...
內文搜尋
X




























































































