hyperopt 筆記

1.搜索空間

下面介紹常用的參數(shù)表達(dá)式

1.hp.choice(label, options)
label 表示參數(shù)名稱 options可以使嵌套也可以是列表

2.hp.randint(label, upper)
返回 [0, upper) 范圍內(nèi)的隨機(jī)整數(shù)

3.hp.uniform(label, low, high)
返回low和high之間的一個(gè)均勻分布數(shù)字

4.hp.quniform(label, low, high, q)
返回 round(uniform(low,high)/q)*q扑媚,適用于那些離散的取值
簡(jiǎn)單的理解為取 [low, high] 中能被q整除的整數(shù)

5.hp.pchoice(label, options) 
根據(jù)概率返回相應(yīng)值
options: [(probability, value), (probability, value)]

6.hp.normal(label, mu, sigma)
返回一個(gè)正態(tài)分布的實(shí)值,均值為mu和標(biāo)準(zhǔn)差為sigma。優(yōu)化時(shí)播玖,這是一個(gè)無約束變量踏志。

例子

from hyperopt import hp
from hyperopt import fmin, tpe, space_eval
def f(args):
  x = args['x']
  y = args['y']
  z = args['z']
  k = args['k']
  l = args['l']
  return x + y + z + k + l

# 注意space會(huì)以字典的形式傳入到函數(shù)f齐遵,也就是args = space
# hp.choice 中的label 是在print時(shí)用于方便顯示娩嚼,取什么名稱都可以
space = {
    'x': hp.choice('參數(shù)x',[1,2,3,4,5]),
    'y': hp.randint('參數(shù)y', 10), # [0,10)
    'z': hp.uniform('參數(shù)z', 0, 1), # (0,1) 中任意一個(gè)浮點(diǎn)數(shù)
    'k': hp.quniform('參數(shù)k', 5, 10, 3), # 5-10之間能被3整除的數(shù)
    'l': hp.pchoice('參數(shù)l', [(0.1, 1), (0.4, 2), (0.5, 3)]) 
}
best = fmin(f, space, algo=tpe.suggest, max_evals=1000)
print(f'最好的參數(shù)是:{best}')

結(jié)果:
100%|██████████| 1000/1000 [00:39<00:00, 25.02it/s, best loss: 8.00009375742339]
最好的參數(shù)是:{'參數(shù)k': 6.0, '參數(shù)l': 0, '參數(shù)x': 0, '參數(shù)y': 0, '參數(shù)z': 9.375742338902163e-05}

注意:hp.quniform(label, low, high, q) 理解

from hyperopt import hp
from hyperopt import fmin, tpe, space_eval
def f(args):
  k = args['k']
  print(k)
  return k+1

# 注意space會(huì)以字典的形式傳入到函數(shù)f爹橱,也就是args = space
# hp.choice 中的label 是在print時(shí)用于方便顯示庶灿,取什么名稱都可以
space = {
    'k': hp.quniform('參數(shù)k', 0, 10, 3)
 #  取[0,10]能被3整除的數(shù)
 # 相當(dāng)于取 0纵搁,3,6往踢,9中任意一個(gè)數(shù)
}
trials = Trials()
best = fmin(f, space, algo=tpe.suggest, max_evals=10,trials=trials)

結(jié)果:
9.0
3.0
6.0
9.0
0.0
6.0
3.0
3.0
0.0
0.0
100%|██████████| 10/10 [00:00<00:00, 119.31it/s, best loss: 1.0]

2.搜索函數(shù)

algo指定搜索算法腾誉,目前支持以下算法:
1.隨機(jī)搜索(hyperopt.rand.suggest)
2.模擬退火(hyperopt.anneal.suggest)
3.TPE算法(hyperopt.tpe.suggest,算法全稱為Tree-structured Parzen Estimator Approach)
是用高斯混合模型GMM(Gaussian Mixture Model)來學(xué)習(xí)超參模型的一種方法

這里需要單獨(dú)引用
from hyperopt import anneal, tpe, rand

如果直接使用
import hyperopt
hyperopt.anneal.suggest 則無法使用

3.最小化函數(shù)

fmin(fn, space, algo, max_evals, trials=None)
fn: 目標(biāo)函數(shù)
space: 搜索空間
algo: 優(yōu)化算法
max_evals: 迭代次數(shù)
trials: 捕獲信息
trials.trials - 表示有關(guān)搜索的所有內(nèi)容的詞典列表
trials.results - 搜索結(jié)果列表
trials.losses() - 損失函數(shù)列表
trials.statuses() - 結(jié)果狀態(tài)列表
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末峻呕,一起剝皮案震驚了整個(gè)濱河市利职,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌瘦癌,老刑警劉巖猪贪,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異讯私,居然都是意外死亡热押,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門斤寇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來桶癣,“玉大人,你說我怎么就攤上這事娘锁」砝” “怎么了?”我有些...
    開封第一講書人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵致盟,是天一觀的道長碎税。 經(jīng)常有香客問我尤慰,道長,這世上最難降的妖魔是什么雷蹂? 我笑而不...
    開封第一講書人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任伟端,我火速辦了婚禮,結(jié)果婚禮上匪煌,老公的妹妹穿的比我還像新娘责蝠。我一直安慰自己,他們只是感情好萎庭,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開白布霜医。 她就那樣靜靜地躺著,像睡著了一般驳规。 火紅的嫁衣襯著肌膚如雪肴敛。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,784評(píng)論 1 290
  • 那天吗购,我揣著相機(jī)與錄音医男,去河邊找鬼。 笑死捻勉,一個(gè)胖子當(dāng)著我的面吹牛镀梭,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播踱启,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼报账,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了埠偿?” 一聲冷哼從身側(cè)響起笙什,我...
    開封第一講書人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎胚想,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體芽隆,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡浊服,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了胚吁。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片牙躺。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖腕扶,靈堂內(nèi)的尸體忽然破棺而出孽拷,到底是詐尸還是另有隱情,我是刑警寧澤半抱,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布脓恕,位于F島的核電站膜宋,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏炼幔。R本人自食惡果不足惜秋茫,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望乃秀。 院中可真熱鬧肛著,春花似錦、人聲如沸跺讯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽刀脏。三九已至局荚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間火本,已是汗流浹背危队。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留钙畔,地道東北人茫陆。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像擎析,于是被迫代替她去往敵國和親簿盅。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 學(xué)習(xí)原因: 通過學(xué)習(xí)“魔鏡杯”風(fēng)控大賽金獎(jiǎng)獲得者的代碼揍魂,發(fā)現(xiàn)在模型建立完畢之后柄延,可以使用hyperopt包進(jìn)行自動(dòng)...
    欠我的都給我吐出來閱讀 13,982評(píng)論 1 10
  • 本文是對(duì)Parameter Tuning with Hyperopt一文的翻譯。譯者在設(shè)計(jì)深度學(xué)習(xí)模型的網(wǎng)絡(luò)結(jié)構(gòu)發(fā)...
    ktulu7閱讀 32,504評(píng)論 8 48
  • hyperopt簡(jiǎn)介 hyperopt是一個(gè)貝葉斯優(yōu)化來調(diào)整參數(shù)的工具, 優(yōu)化輸入?yún)?shù)是的目標(biāo)函數(shù)的值最小, 當(dāng)模...
    xiaogp閱讀 3,860評(píng)論 0 6
  • 今天看到一位朋友寫的mysql筆記總結(jié)蝇棉,覺得寫的很詳細(xì)很用心俐末,這里轉(zhuǎn)載一下,供大家參考下庄蹋,也希望大家能關(guān)注他原文地...
    信仰與初衷閱讀 4,725評(píng)論 0 30
  • 表情是什么瞬内,我認(rèn)為表情就是表現(xiàn)出來的情緒。表情可以傳達(dá)很多信息限书。高興了當(dāng)然就笑了虫蝶,難過就哭了。兩者是相互影響密不可...
    Persistenc_6aea閱讀 124,442評(píng)論 2 7