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