MatchZoo高階 自動調參方法

2021-10-01 17:08:39 字數 2214 閱讀 4729

本人在這裡已經給出了matchzoo的乙個簡單上手,這一次我會給出為模型自動調參的方法。

這一次使用的變數,和簡單上手中的變數是一樣的,所以我都是直接複製,並刪掉一些不需要的地方。

載入資料:

train_pack_processed = preprocessor.fit_transform(train)

# 其實就是做了乙個字元轉id操作,所以對於中文文字,不需要分詞

dev_pack_processed = preprocessor.transform(dev)

定義模型:

# 模型的引數可以先使用官方初始引數,如果已有初始引數的,可以不需要寫出來。

defbuild()

: model = mz.models.duet(

)# 同樣,duet網路可看官網的**,這裡不做解釋;同樣,模型的引數不做解釋,官方文件有

ranking_task = mz.tasks.ranking(loss=mz.losses.rankcrossentropyloss(num_neg=1)

)# 定義損失函式,這裡採用的是排序交叉熵損失函式,它還有乙個分類交叉熵損失函式,看你如何定義你的資料

model.params[

'input_shapes'

]= preprocessor.context[

'input_shapes'

] model.params[

'embedding_input_dim'

]= preprocessor.context[

'vocab_size'

]# 如果版本較老,這裡需要加1,因為要考慮乙個unk的字元,如果版本較新,這個以更新解決

model.params[

'embedding_output_dim']=

300

model.params[

'task'

]= ranking_task

model.params[

'optimizer']=

'adam'

model.params[

'padding']=

'same'

model.params[

'lm_filters']=

32 model.params[

'lm_hidden_sizes']=

[32] model.params[

'dm_filters']=

32 model.params[

'dm_kernel_size']=

3 model.params[

'dm_d_mpool']=

3 model.params[

'dm_hidden_sizes']=

[32] model.params[

'activation_func']=

'relu'

model.params[

'dropout_rate']=

0.32

model.params[

'embedding_trainable']=

true

model.guess_and_fill_missing_params(verbose=0)

model.params.completed(

) model.build(

) model.backend.summary(

) model.

compile()

return model

模型自動調參器的核心**:

model = build(

)tuner = mz.auto.tuner(

params=model.params,

# 模型引數

train_data=train_pack_processed,

# 訓練集

test_data=dev_pack_processed,

# 驗證集

num_runs=

10# 調參次數

)results = tuner.tune(

)print

(results)

如果num_runs為10,會輸出10次調參的引數組合,並給出每一次引數組合的分值,最後輸出最高分值的引數組合。

Auto ML自動調參

auto ml自動調參 本文介紹auto ml自動調參的演算法介紹及操作流程。登入pai控制台。單擊左側導航欄的實驗並選擇某個實驗。本文以霧霾天氣 實驗為例。在實驗畫布區,單擊左上角的auto ml 模型自動調參。在自動調參配置頁面,選擇需要調參的演算法,單擊下一步。說明乙個實驗中有多個演算法時請單...

機器學習之權重 偏置自動調參

這段時間在學習神經網路相關的內容,神經網路的演算法裡面只要給定它特徵值丟進去,演算法就會自身跟新權重和誤差 偏置 其實學習機器學習內容的時候,我對這些演算法過程是理解的,但是我對細節是模糊的。所以,我需要寫點 在電腦裡面跑一下,自己才能領會到演算法的真正含義。那麼,下面我就列舉乙個輸入為二維的特徵值...

調參太費力?自動化機器學習(AutoML)來了!

機器學習專案中最折騰人的環節是什麼?是特徵工程?是模型選擇?還是引數調優?先來看看機器學習專案實戰可劃分為哪幾個具體階段。我在 零基礎學機器學習 一書將機器學習專案的實戰過程歸納如下 問題定義,即抓準機器學習應用場景 資料準備和特徵工程 模型 演算法 的選擇 機器學習 訓練機器的過程 確定引數和超引...