計算機實驗的實驗設計用於構建參數網格,試圖覆蓋參數空間,使得空間的任何部分都具有離它不太遠的觀察到的組合。
用法
grid_max_entropy(
x,
...,
size = 3,
original = TRUE,
variogram_range = 0.5,
iter = 1000
)
# S3 method for parameters
grid_max_entropy(
x,
...,
size = 3,
original = TRUE,
variogram_range = 0.5,
iter = 1000
)
# S3 method for list
grid_max_entropy(
x,
...,
size = 3,
original = TRUE,
variogram_range = 0.5,
iter = 1000
)
# S3 method for param
grid_max_entropy(
x,
...,
size = 3,
original = TRUE,
variogram_range = 0.5,
iter = 1000
)
# S3 method for workflow
grid_max_entropy(
x,
...,
size = 3,
original = TRUE,
variogram_range = 0.5,
iter = 1000
)
grid_latin_hypercube(x, ..., size = 3, original = TRUE)
# S3 method for parameters
grid_latin_hypercube(x, ..., size = 3, original = TRUE)
# S3 method for list
grid_latin_hypercube(x, ..., size = 3, original = TRUE)
# S3 method for param
grid_latin_hypercube(x, ..., size = 3, original = TRUE)
# S3 method for workflow
grid_latin_hypercube(x, ..., size = 3, original = TRUE)
細節
這裏支持的設計類型是拉丁超立方體設計和嘗試最大化坐標之間的空間相關矩陣的行列式的設計。兩種設計都使用參數空間中的點的隨機采樣。
請注意,根據函數的調用方式,網格可能會有所不同。如果調用直接使用參數對象,則可能的範圍來自 dials
中的對象。例如:
mixture()
## Proportion of Lasso Penalty (quantitative)
## Range: [0, 1]
set.seed(283)
mix_grid_1 <- grid_latin_hypercube(mixture(), size = 1000)
range(mix_grid_1$mixture)
## [1] 0.0001530482 0.9999530388
但是,在某些情況下,parsnip
和 recipe
包會覆蓋特定模型和預處理步驟的默認範圍。如果網格函數使用從模型或配方創建的 parameters
對象,則範圍可能具有不同的默認值(特定於這些模型)。使用上麵的示例,上麵的 mixture
參數對於 glmnet
模型是不同的:
library(parsnip)
library(tune)
# When used with glmnet, the range is [0.05, 1.00]
glmn_mod <-
linear_reg(mixture = tune()) %>%
set_engine("glmnet")
set.seed(283)
mix_grid_2 <- grid_latin_hypercube(extract_parameter_set_dials(glmn_mod), size = 1000)
range(mix_grid_2$mixture)
## [1] 0.0501454 0.9999554
參考
傑羅姆·薩克斯和韋爾奇、托比·威廉·米切爾和 J·米切爾以及亨利·韋恩。 (1989)。計算機實驗的設計和分析。附有作者的評論和反駁。統計科學。 4.10.1214/ss/1177012413。
托馬斯·桑特納、布萊恩·威廉姆斯和威廉·諾茨。 (2003)。計算機實驗的設計與分析。施普林格。
Dupuy, D.、Helbert, C. 和 Franco, J. (2015)。 DiceDesign 和 DiceEval:兩個用於設計和分析計算機實驗的 R 包。統計軟件雜誌,65(11)
例子
grid_max_entropy(
hidden_units(),
penalty(),
epochs(),
activation(),
learn_rate(c(0, 1), trans = scales::log_trans()),
size = 10,
original = FALSE
)
#> # A tibble: 10 × 5
#> hidden_units penalty epochs activation learn_rate
#> <dbl> <dbl> <dbl> <chr> <dbl>
#> 1 4.83 -8.55 988. softmax 0.678
#> 2 9.12 -8.11 786. softmax 0.887
#> 3 4.46 -2.86 122. elu 0.271
#> 4 8.10 -9.52 250. softmax 0.219
#> 5 8.81 -1.65 903. tanh 0.151
#> 6 2.76 -2.67 526. tanh 0.930
#> 7 6.13 -2.31 207. softmax 0.902
#> 8 3.70 -8.10 441. tanh 0.332
#> 9 9.21 -6.37 853. linear 0.0388
#> 10 2.19 -5.66 542. linear 0.130
grid_latin_hypercube(penalty(), mixture(), original = TRUE)
#> # A tibble: 3 × 2
#> penalty mixture
#> <dbl> <dbl>
#> 1 0.513 0.343
#> 2 0.000423 0.215
#> 3 0.0000000230 0.690
相關用法
- R dials grid_regular 創建調整參數網格
- R dials smoothness 內核平滑度
- R dials all_neighbors 確定使用哪些鄰居的參數
- R dials update.parameters 更新參數集中的單個參數
- R dials rbf_sigma 內核參數
- R dials trim_amount 修剪量
- R dials neighbors 鄰居數量
- R dials num_comp 新函數數量
- R dials min_dist 嵌入點之間的有效最小距離參數
- R dials freq_cut 接近零方差參數
- R dials trees 與基於樹和基於規則的模型相關的參數函數。
- R dials learn_rate 學習率
- R dials range_validate 用於處理參數範圍的工具
- R dials xgboost_parameters xgboost 可能的引擎參數的參數
- R dials unknown 未知參數值的占位符
- R dials prune_method MARS修剪方法
- R dials max_tokens 保留令牌的最大數量
- R dials surv_dist 刪失數據的參數分布
- R dials num_tokens 用於確定 ngram 中標記數量的參數
- R dials over_ratio 類別不平衡抽樣的參數
- R dials mtry 隨機抽樣預測變量的數量
- R dials new-param 用於創建新參數對象的工具
- R dials momentum 梯度下降動量參數
- R dials class_weights 不平衡問題的類別權重參數
- R dials mtry_prop 隨機選擇的預測變量的比例
注:本文由純淨天空篩選整理自Max Kuhn等大神的英文原創作品 Space-filling parameter grids。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。