精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

自動化機器學習第一步:使用Hyperopt自動選擇超參數

開發 開發工具 自動化
近日,機器學習開發者兼饒舌歌手 Alex Honchar 在 Medium 上發文分享了自動化這些選擇過程的方式。另外,本文涉及的相關代碼也已在 GitHub 上公開。

有時候在學習神經網絡教程時,我們通常會看到有的實驗似乎理所當然地就選定了某種神經網絡架構以及特定的網絡層數、激活函數、損失函數等等,卻沒有解釋原因。因為解釋起來有點難。是的,深度學習社區選擇 ReLU(或更現代的選擇 ELU 或 SELU)作為激活函數是「常態」,而且我們基本上也欣然接受,但我們通常并沒有思考這是否是正確的。比如在網絡的層數和優化器的學習率選擇上,我們通常都遵循標準。近日,機器學習開發者兼饒舌歌手 Alex Honchar 在 Medium 上發文分享了自動化這些選擇過程的方式。另外,本文涉及的相關代碼也已在 GitHub 上公開。

代碼地址:https://github.com/Rachnog/Deep-Trading/tree/master/hyperparameters

超參數搜索

卷積神經網絡訓練的典型超參數的列表

卷積神經網絡訓練的典型超參數的列表

在開始訓練一個模型之前,每個機器學習案例都要選擇大量參數;而在使用深度學習時,參數的數量還會指數式增長。在上面的圖中,你可以看到在訓練計算機視覺卷積神經網絡時你要選擇的典型參數。

但有一個可以自動化這個選擇過程的方法!非常簡單,當你要選擇一些參數和它們的值時,你可以:

  • 啟動網格搜索,嘗試檢查每種可能的參數組合,當有一種組合優化了你的標準時(比如損失函數達到最小值),就停止搜索。
  • 當然,在大多數情況下,你可等不了那么久,所以隨機搜索是個好選擇。這種方法可以隨機檢查超參數空間,但速度更快而且大多時候也更好。
  • 貝葉斯優化——我們為超參數分布設置一個先決條件,然后在觀察不同實驗的同時逐步更新它,這讓我們可以更好地擬合超參數空間,從而更好地找到最小值。

在這篇文章中,我們將把***一個選項看作是一個黑箱,并且重點關注實際實現和結果分析。

HFT 比特幣預測

比特幣

我使用的數據來自 Kaggle,這是用戶 @Zielak 貼出的比特幣過去 5 年的每分鐘價格數據,數據集地址:

https://www.kaggle.com/mczielinski/bitcoin-historical-data。

比特幣價格的樣本圖

比特幣價格的樣本圖

我們將取出其中最近 10000 分鐘的一個子集,并嘗試構建一個能夠基于我們選擇的一段歷史數據預測未來 10 分鐘價格變化的***模型。

對于輸入,我想使用 OHLCV 元組外加波動,并將這個數組展開以將其輸入多層感知器(MLP)模型。

  1. o = openp[i:i+window] 
  2. h = highp[i:i+window] 
  3. l = lowp[i:i+window] 
  4. c = closep[i:i+window] 
  5. v = volumep[i:i+window] 
  6. volat = volatility[i:i+window] 
  7. x_i = np.column_stack((o, h, l, c, v, volat)) 
  8. x_ix_i = x_i.flatten() 
  9. y_i = (closep[i+window+FORECAST] - closep[i+window]) / closep[i+window] 

優化 MLP 參數

我們將使用 Hyperopt 庫來做超參數優化,它帶有隨機搜索和 Tree of Parzen Estimators(貝葉斯優化的一個變體)的簡單接口。Hyperopt 庫地址:http://hyperopt.github.io/hyperopt

我們只需要定義超參數空間(詞典中的關鍵詞)和它們的選項集(值)。你可以定義離散的值選項(用于激活函數)或在某個范圍內均勻采樣(用于學習率)。

  1. space = {'window': hp.choice('window',[30, 60, 120, 180]), 
  2.         'units1': hp.choice('units1', [64, 512]), 
  3.         'units2': hp.choice('units2', [64, 512]), 
  4.         'units3': hp.choice('units3', [64, 512]), 
  5.         'lr': hp.choice('lr',[0.01, 0.001, 0.0001]), 
  6.         'activation': hp.choice('activation',['relu', 
  7.                                                 'sigmoid', 
  8.                                                 'tanh', 
  9.                                                 'linear']), 
  10.         'loss': hp.choice('loss', [losses.logcosh, 
  11.                                     losses.mse, 
  12.                                     losses.mae, 
  13.                                     losses.mape])} 

在我們的案例中,我想檢查:

  • 我們需要更復雜還是更簡單的架構(神經元的數量)
  • 激活函數(看看 ReLU 是不是真的是***選擇)
  • 學習率
  • 優化標準(也許我們可以最小化 logcosh 或 MAE,而不是 MSE)
  • 我們需要的穿過網絡的時間窗口,以便預測接下來 10 分鐘

當我們用 params 詞典的對應值替換了層或數據準備或訓練過程的真正參數后(我建議你閱讀 GitHub 上的完整代碼):

  1. main_input = Input(shape=(len(X_train[0]), ), name='main_input'
  2. x = Dense(params['units1'], activation=params['activation'])(main_input) 
  3. x = Dense(params['units2'], activation=params['activation'])(x) 
  4. x = Dense(params['units3'], activation=params['activation'])(x) 
  5. output = Dense(1, activation = "linear"name = "out")(x) 
  6. final_model = Model(inputs=[main_input], outputs=[output]) 
  7. opt = Adam(lr=params['lr']) 
  8. final_model.compile(optoptimizer=opt,  loss=params['loss']) 
  9. history = final_model.fit(X_train, Y_train,  
  10.                   epochs = 5,  
  11.                   batch_size = 256,  
  12.                   verbose=0,  
  13.                   validation_data=(X_test, Y_test), 
  14.                   shuffle=True
  15. pred = final_model.predict(X_test) 
  16. predpredicted = pred 
  17. original = Y_test 
  18. mse = np.mean(np.square(predicted - original)) 
  19. sys.stdout.flush()  
  20. return {'loss': -mse, 'status': STATUS_OK} 

我們將檢查網絡訓練的前 5 epoch 的性能。在運行了這個代碼之后,我們將等待使用不同參數的 50 次迭代(實驗)執行完成,Hyperopt 將為我們選出其中***的選擇,也就是:

  1. best:  
  2. {'units1': 1, 'loss': 1, 'units3': 0, 'units2': 0, 'activation': 1, 'window': 0, 'lr': 0} 

這表示我們需要***兩層有 64 個神經元而***層有 512 個神經元、使用 sigmoid 激活函數(有意思)、取經典的學習率 0.001、取 30 分鐘的時間窗口來預測接下來的 10 分鐘……很好。

結果

首先我們要構建一個「金字塔」模式的網絡,我常常用這種模式來處理新數據。大多時候我也使用 ReLU 作為激活函數,并且為 Adam 優化器取標準的學習率 0.002.

  1. X_train, X_test, Y_train, Y_test = prepare_data(60) 
  2. main_input = Input(shape=(len(X_train[0]), ), name='main_input'
  3. x = Dense(512, activation='relu')(main_input) 
  4. x = Dense(128, activation='relu')(x) 
  5. x = Dense(64, activation='relu')(x) 
  6. output = Dense(1, activation = "linear"name = "out")(x) 
  7. final_model = Model(inputs=[main_input], outputs=[output]) 
  8. opt = Adam(lr=0.002) 
  9. final_model.compile(optoptimizer=opt,  loss=losses.mse) 

看看表現如何,藍色是我們的預測,而黑色是原始情況,差異很大,MSE = 0.0005,MAE = 0.017。

基本架構的結果

現在看看使用 Hyperopt 找到的超參數的模型在這些數據上表現如何:

  1. X_train, X_test, Y_train, Y_test = prepare_data(30) 
  2. main_input = Input(shape=(len(X_train[0]), ), name='main_input'
  3. x = Dense(512, activation='sigmoid')(main_input) 
  4. x = Dense(64, activation='sigmoid')(x) 
  5. x = Dense(64, activation='sigmoid')(x) 
  6. output = Dense(1, activation = "linear"name = "out")(x) 
  7. final_model = Model(inputs=[main_input], outputs=[output]) 
  8. opt = Adam(lr=0.001) 
  9. final_model.compile(optoptimizer=opt, loss=losses.mse) 

使用 Hyperopt 找的參數所得到的結果

使用 Hyperopt 找的參數所得到的結果

在這個案例中,數值結果(MSE = 4.41154599032e-05,MAE = 0.00507)和視覺效果都好得多。

老實說,我認為這不是個好選擇,尤其是我并不同意如此之短的訓練時間窗口。我仍然想嘗試 60 分鐘,而且我認為對于回歸而言,Log-Cosh 損失是更加有趣的損失函數選擇。但我現在還是繼續使用 sigmoid 激活函數,因為看起來這就是表現極大提升的關鍵。

  1. X_train, X_test, Y_train, Y_test = prepare_data(60) 
  2. main_input = Input(shape=(len(X_train[0]), ), name='main_input'
  3. x = Dense(512, activation='sigmoid')(main_input) 
  4. x = Dense(64, activation='sigmoid')(x) 
  5. x = Dense(64, activation='sigmoid')(x) 
  6. output = Dense(1, activation = "linear"name = "out")(x) 
  7. final_model = Model(inputs=[main_input], outputs=[output]) 
  8. opt = Adam(lr=0.001) 
  9. final_model.compile(optoptimizer=opt,  loss=losses.logcosh) 

這里得到 MSE = 4.38998280095e-05 且 MAE = 0.00503,僅比用 Hyperbot 的結果好一點點,但視覺效果差多了(完全搞錯了趨勢)。

結論

我強烈推薦你為你訓練的每個模型使用超參數搜索,不管你操作的是什么數據。有時候它會得到意料之外的結果,比如這里的超參數(還用 sigmoid?都 2017 年了啊?)和窗口大小(我沒料到半小時的歷史信息比一個小時還好)。

如果你繼續深入研究一下 Hyperopt,你會看到你也可以搜索隱藏層的數量、是否使用多任務學習和損失函數的系數。基本上來說,你只需要取你的數據的一個子集,思考你想調節的超參數,然后等你的計算機工作一段時間就可以了。這是自動化機器學習的***步!

原文:

https://medium.com/@alexrachnog/neural-networks-for-algorithmic-trading-hyperparameters-optimization-cb2b4a29b8ee

【本文是51CTO專欄機構“機器之心”的原創譯文,微信公眾號“機器之心( id: almosthuman2014)”】

 

戳這里,看該作者更多好文

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2020-06-30 12:07:04

SD-WANWAN自動化

2009-01-18 08:49:04

Java入門JDK

2018-02-10 11:24:39

Python數據程序

2021-01-15 18:17:06

網絡協議分層

2012-08-30 11:14:11

云計算虛擬化

2011-08-31 09:38:36

網絡營銷MSN社交網絡

2010-01-21 10:29:54

java認證

2013-01-15 09:17:11

2012-07-11 16:43:14

飛視美

2013-04-03 09:22:14

虛擬化網絡虛擬化

2011-04-13 17:24:28

2015-06-02 11:42:00

Cloud FoundAzure

2021-08-24 05:07:25

React

2020-11-17 14:55:36

亞馬遜云科技遷移

2019-11-20 10:54:46

無密碼身份驗證網絡安全

2009-02-02 23:18:25

虛擬化VMware整合評估

2020-12-15 10:32:46

自動化運維監控平臺集群

2021-07-01 08:31:25

數字化轉型大數據數據采集

2020-02-17 15:05:28

機器學習人工智能計算機

2011-07-25 14:17:46

BSMIT運維北塔
點贊
收藏

51CTO技術棧公眾號

久久草.com| 亚洲性猛交xxxxwww| 亚洲精品天堂成人片av在线播放| 午夜爱爱毛片xxxx视频免费看| 中文不卡1区2区3区| 国产一区二区在线视频| 性欧美长视频免费观看不卡| 色欲AV无码精品一区二区久久| 裤袜国产欧美精品一区| 成人欧美一区二区三区| 国产日产亚洲精品| 懂色av.com| 91亚洲一区| 欧美日韩一区二区三区高清| 亚洲精蜜桃久在线| 三级视频在线看| 精品一区二区在线免费观看| 欧美影院在线播放| 久久艹精品视频| 18国产精品| 欧美日韩中文字幕精品| 国产免费黄色av| 菠萝蜜视频国产在线播放| 久久一区二区视频| 国产精品一区二区三区不卡| 国产露脸无套对白在线播放| 日韩国产精品久久久久久亚洲| 亚洲香蕉成人av网站在线观看| 黄色永久免费网站| 性欧美18xxxhd| 一区二区三区在线观看欧美 | 欧美momandson| 亚洲综合久久av| 国产精品久久久久久久久搜平片 | 中文字幕1区2区| 欧美国产日韩电影| 欧美小视频在线| 国产真人做爰毛片视频直播| 免费理论片在线观看播放老| 成人av手机在线观看| av日韩免费电影| 国产三级伦理片| 精东粉嫩av免费一区二区三区| 久久99久久99精品中文字幕| 国内精品久久99人妻无码| 猫咪成人在线观看| 亚洲成人黄色网| 中文字幕一区二区三区四区在线视频| 欧美13一16娇小xxxx| 国产欧美日韩中文久久| 日韩欧美一区二区视频在线播放 | 最爽无遮挡行房视频在线| 国产精品美日韩| 亚洲国产精品一区二区第一页 | 色戒汤唯在线| 偷窥少妇高潮呻吟av久久免费| 亚洲不卡1区| 国产按摩一区二区三区| 国产精品乡下勾搭老头1| 日本在线精品视频| 中文字幕在线欧美| 欧美三级午夜理伦三级中文幕| 亚洲美女久久久| 色欲av无码一区二区三区| 精品中文一区| 亚洲成人久久电影| 亚洲综合自拍网| 精品视频一区二区三区| 制服.丝袜.亚洲.中文.综合| 国产性生活一级片| 国产精品久久久久av电视剧| 欧美一级一片| 亚洲桃色在线一区| 蜜桃网站在线观看| 草草在线视频| 在线视频中文字幕一区二区| 久久免费一级片| av一本在线| 亚洲乱码中文字幕| 九一国产精品视频| 日韩高清成人| 91精品国产欧美日韩| 91香蕉视频污版| 久久夜夜久久| 日韩精品一区二区在线| 国产 xxxx| 国产探花一区二区| 久久影视免费观看| 国产综合精品视频| 精品一二线国产| 999国产在线| 中文字幕人妻互换av久久| 国内精品久久久久影院色| 高清日韩一区| 黑人与亚洲人色ⅹvideos | 夜夜爽妓女8888视频免费观看| 亚洲精品专区| 国产女人精品视频| 黄色a在线观看| 国产精品美女久久久久aⅴ| 日韩啊v在线| 青草影视电视剧免费播放在线观看| 中文字幕日本不卡| 五月丁香综合缴情六月小说| 九七电影院97理论片久久tvb| 欧美日韩精品一区二区| 亚洲视频第二页| 久久精品色播| 欧美成在线观看| 久久精品偷拍视频| 成人网页在线观看| 精品国产一二| 二区在线播放| 在线观看国产91| 国产白袜脚足j棉袜在线观看 | 日韩欧美一区二区视频在线播放 | 在线视频中文亚洲| 黑人精品一区二区| 美女国产一区二区| 国产一区再线| 视频在线观看入口黄最新永久免费国产| 亚洲视频在线观看三级| 国产日韩一区二区在线| 亚洲亚洲一区二区三区| 自拍偷拍亚洲在线| www.av视频| 美腿丝袜在线亚洲一区 | 视频二区不卡| 亚洲精品美女久久久| 久久久久成人精品无码| 久久狠狠亚洲综合| 国产精品久久亚洲7777| 日韩一二三四| 亚洲欧洲日本在线| 日本手机在线视频| 国语精品视频| 久久色精品视频| 97视频免费在线| 成人午夜视频免费看| www.69av| 亚洲国产视频二区| 久久香蕉频线观| 国产乱淫a∨片免费视频| 中文字幕一区三区| 日韩中文字幕a| 97人人精品| 国产日韩在线观看av| 欧美 日韩 综合| 亚洲 欧美综合在线网络| 中文字幕 欧美 日韩| 国产精品激情| 国产欧美精品一区二区三区-老狼| 丰满肉嫩西川结衣av| 中文字幕欧美日韩一区| 69sex久久精品国产麻豆| 日韩三区在线| 日韩亚洲精品电影| 国产视频在线一区| 亚洲高清中文字幕| 特级西西人体4444xxxx| 免费看黄裸体一级大秀欧美| 日产精品久久久一区二区| 97视频热人人精品| 深夜福利视频一区| 亚洲色图在线视频| ass极品水嫩小美女ass| 精品1区2区3区4区| 久久影视中文粉嫩av| 色婷婷综合久久久中字幕精品久久| 亚洲国产精品va在线看黑人动漫| 亚洲精品久久久久久国| 国产成人在线视频播放| 日本丰满少妇xxxx| 精品理论电影| 91精品在线看| 麻豆视频在线看| 中文字幕亚洲第一| 成人黄色在线观看视频| 精品国产户外野外| 久久久久99精品成人| 国产电影精品久久禁18| 亚洲自偷自拍熟女另类| 日韩精品一区二区三区免费观影| 国产www精品| 黄色成人在线| 亚洲精品一区av在线播放| 亚洲综合精品国产一区二区三区 | 99久久久精品免费观看国产| 天堂аⅴ在线地址8| 色婷婷久久一区二区三区麻豆| 亚洲国产第一区| 麻豆高清免费国产一区| h无码动漫在线观看| 精品国产一区二区三区久久久蜜臀 | 欧美优质美女网站| 九九视频免费看| 国产女人水真多18毛片18精品视频| 91精品91久久久中77777老牛| 老司机精品视频在线播放| 国产精品一区av| 春色校园综合激情亚洲| 深夜福利一区二区| 91麻豆国产在线| 大伊人狠狠躁夜夜躁av一区| 国产精品www爽爽爽| 北条麻妃国产九九精品视频| 狠狠躁狠狠躁视频专区| 日韩午夜黄色| 精品久久久无码人妻字幂| 国产一区二区三区四区大秀| 国产91社区| 国产精品成人69xxx免费视频| 国产午夜亚洲精品一级在线| 91av视频导航| 91一区二区三区在线| 中文字幕不卡在线视频极品| 天天操天天干天天舔| 欧美一级免费大片| 中文字幕一区二区人妻痴汉电车| 亚洲丝袜精品丝袜在线| 91丨porny丨九色| 麻豆一区二区三| 一本色道久久88亚洲精品综合| 成人搞黄视频| 91在线免费看网站| 黄色欧美视频| 国产精品99久久久久久人| 嫩草香蕉在线91一二三区| 亚洲图片欧洲图片av| 亚洲av片一区二区三区| 精品国产不卡一区二区三区| 亚洲自拍一区在线观看| 午夜激情一区二区三区| 国产精品美女毛片真酒店| 亚洲影视资源网| 波多野结衣av在线观看| 99免费精品在线观看| 欧美做受高潮中文字幕| 国产成人av资源| 蜜桃视频无码区在线观看| 国产精品亚洲一区二区三区在线 | 貂蝉被到爽流白浆在线观看| 国产午夜亚洲精品理论片色戒 | 欧美videos粗暴| 国产精品视频精品| jizz久久久久久| 国产精品第100页| 精品3atv在线视频| 九九热精品视频在线播放| 超碰在线免费播放| 久久综合伊人77777蜜臀| 亚洲欧美综合在线观看| 亚洲黄在线观看| 视频在线不卡| 日韩欧美一区在线观看| 亚洲av无码一区二区三区dv| 精品日韩在线观看| 欧美综合视频在线| 日韩电影中文字幕在线| 日本福利片在线| 亚洲欧美中文另类| yw在线观看| 亚洲韩国欧洲国产日产av| 国产精品久久久午夜夜伦鲁鲁| 第一福利永久视频精品| 免费一级a毛片夜夜看| 亚洲自拍偷拍图区| aaa人片在线| 欧美伊人久久大香线蕉综合69| 青青国产在线观看| 91久久奴性调教| 一区二区日韩视频| 在线国产电影不卡| 国产有码在线观看| 精品三级在线看| 午夜精品久久久久久久爽 | 中文乱码免费一区二区| www.99re6| 亚洲一区二区视频在线| 日韩在线视频不卡| 欧美日韩一区二区三区四区五区 | 视频一区二区三区在线观看| 五月婷婷亚洲| 91国视频在线| 久久精品99久久久| 呦呦视频在线观看| 国产精品视频在线看| 中文字幕在线观看免费高清| 久久久久亚洲综合| 免费a级黄色片| xfplay精品久久| 国产高清视频免费在线观看| 亚洲国产美女搞黄色| 最好看的日本字幕mv视频大全| 欧美主播一区二区三区美女| 在线免费观看国产精品| 日韩女优毛片在线| 黄色小视频在线观看| 九九九久久国产免费| 日韩中文影院| 国模一区二区三区私拍视频| 欧美丰满日韩| 国产亚洲精品网站| 国产盗摄女厕一区二区三区| 永久免费成人代码| 亚洲国产美女搞黄色| 一级特黄aaa大片在线观看| 亚洲国产欧美一区二区丝袜黑人| 色呦呦视频在线| 久久中文字幕在线| 成人免费网站www网站高清| 国产女人水真多18毛片18精品 | 亚洲激情视频网| 欧美极品视频| 国产盗摄xxxx视频xxx69| 国产精品色在线网站| 一区二区三区四区五区精品| 国产日韩欧美一区在线| 无码人妻一区二区三区精品视频| 成人avav在线| 99热精品免费| 一本色道久久加勒比精品 | 亚洲欧美日韩专区| 日本xxxx免费| 久久亚洲私人国产精品va媚药| 国产高清一区二区三区四区| 五月婷婷久久丁香| 亚洲va欧美va| 欧美第一淫aaasss性| 亚洲最大网站| 国产日韩精品推荐| 红桃视频欧美| 在线中文字日产幕| 国产欧美精品一区二区色综合| 91在线播放观看| 欧美精品日韩综合在线| 手机av在线免费观看| 久久久久久久久久久国产| 亚洲超碰在线观看| www婷婷av久久久影片| 国产成人亚洲综合色影视| 久久高清内射无套| 日韩欧美精品三级| 69xxx在线| 国产精品裸体一区二区三区| 黄色日韩精品| 99久久免费看精品国产一区| 中文字幕一区二区三区不卡| 亚洲一区二区人妻| 日韩成人网免费视频| 阿v视频在线观看| 免费久久久一本精品久久区| 欧美久久一级| 丰满少妇一区二区三区专区 | 久久久久亚洲av片无码| 欧美军同video69gay| 成人影院在线观看| 99热在线播放| 中文国产一区| 人妻aⅴ无码一区二区三区| 欧洲激情一区二区| 免费高清完整在线观看| 国产女同一区二区| 国内精品福利| 好吊日免费视频| 欧美人与z0zoxxxx视频| 97超碰在线公开在线看免费| 国产精品成人观看视频免费| 亚洲成人日韩| 国产一线在线观看| 色综合天天综合狠狠| 在线免费av电影| 99蜜桃在线观看免费视频网站| 66久久国产| 国产伦精品一区三区精东| 色综合久久88色综合天天| 日韩av中文| 国产高清不卡av| 日韩成人免费在线| 午夜免费激情视频| 亚洲韩国青草视频| xxxxx.日韩| 台湾无码一区二区| 久久久欧美精品sm网站| 国产毛片aaa| 日韩精品999| 日本久久二区| 青青草国产精品视频| 中文字幕av一区二区三区免费看 | 亚洲国产私拍精品国模在线观看| 日韩成人伦理| 色综合666| 成人免费高清视频在线观看| 国产情侣免费视频| 久久久免费观看视频| 成人激情电影在线| 日韩无码精品一区二区| 欧美日韩一区二区三区| 欧美美女搞黄| 99在线国产|