HyperOpt中文文檔導讀
4 人贊了文章
在2017年的聖誕節前,我翻譯了有關HyperOpt的中文文檔,這也算是填補了一個空白,以此作為獻給所有中國程序員,以及所有其他機器學習相關行業人員的聖誕禮物。聖誕快樂,各位。
HyperOpt中文文檔導讀
翻譯的文檔已經發佈於github,請在我的項目Hyperopt_CN中的wiki查看相應文檔.CSDN,知乎同步更新中.
HyperOpt中文版wiki文檔內容包括以下內容:
- HyperOpt中文文檔導讀,即真正的中文文檔主頁
- Home:主頁,即原Hyperopt相應wiki文檔中的對應部分,下面的鏈接亦如此
- Cite:引用
- FMin:使用FMin方法
- Installation Notes:安裝說明
- Interfacing With Other Languages:在其他語言中使用Hyperopt
- Parallelizing Evaluations During Search via MongoDB:使用MongoDB進行並行搜索
- Recipes:原文中暫時只有一個給定值區間如何採樣的鏈接
- RelatedWork:相關工作
- Scipy2013
下面是hyperopt的官網首頁,作為對其的簡單介紹,注意其中的鏈接全部是官網的鏈接,其中的wiki鏈接為英文原文鏈接
Hyperopt
在Python中進行分散式非同步超參數優化
Font Tian translated this article on 22 December 2017
hyperopt 是一個Python庫,可以用來尋找實數,離散值,條件維度等搜索空間的最佳值。
# define an objective function def objective(args): case, val = args if case == case 1: return val else: return val ** 2 # define a search space from hyperopt import hp space = hp.choice(a, [ (case 1, 1 + hp.lognormal(c1, 0, 1)), (case 2, hp.uniform(c2, -10, 10)) ]) # minimize the objective over the space from hyperopt import fmin, tpe best = fmin(objective, space, algo=tpe.suggest, max_evals=100) print best # -> {a: 1, c2: 0.01420615366247227} print hyperopt.space_eval(space, best) # -> {case 2, 0.01420615366247227} 演算法
目前兩種演算法的實現:
- 隨機搜索
- Tree of Parzen Estimators (TPE)
Hyperopt 設計伊始,是包括基於高斯過程與回歸樹的貝葉斯優化演算法的,但是現在這些都還沒有被實現.
同時,Hyperopt所有的演算法都可以通過MongoDB進行串列或者並行計算.
安裝
用戶安裝
pip install hyperopt
開發版安裝
git clone https://github.com/hyperopt/hyperopt.git (cd hyperopt && python setup.py develop) (cd hyperopt && nosetests)
更多信息,請參見安裝說明。
文檔
文檔現在託管在wiki上,但這裡有一些相關頁面的鏈接:
- 基礎教程
- 安裝筆記
- 使用MongoDB
實例
在wiki中打開Hyperot
推薦閱讀:
※計算與認知 | 枝蔚的論文庫0326-更新完
※一周一論文(翻譯)—— [PVLDB 12] Distributed GraphLab A Framework for Machine Learning
※2-3 Cost Function-Intuition I
※SVD奇異值分解的數學描述
※發布Compute.scala,多維數組上的科學計算庫