6

我正在优化一些不同的模型,其中之一是使用该caret包的radialSVM。我正在创建一个调整网格,以准备循环循环以找到用于模型的最佳参数。

非常有用的一件事是某种变化的增量序列。例如,我想从以小步骤递增的小参数值开始。我走的越大,我可以采取的步骤就越大。我发现小参数确实会改变模型很多,所以我想更仔细地探索它们。

让序列增加当前步骤的某个乘数会很棒,比如x <- x+5*x。这对于已经存在的东西是否可行(比如创造性地使用seq()),还是我需要使用循环?

4

2 回答 2

8

像这样的东西怎么样:

0.0001 * 6^(0:10)
#  [1]    0.0001    0.0006    0.0036    0.0216    0.1296    0.7776    4.6656
#  [8]   27.9936  167.9616 1007.7696 6046.6176
于 2012-08-27T05:29:12.833 回答
2

您可以使用指数分布:

qexp((1:100)/100)

> qexp((1:100)/100)
  [1] 0.01005034 0.02020271 0.03045921 0.04082199 0.05129329 0.06187540 0.07257069 0.08338161
  [9] 0.09431068 0.10536052 0.11653382 0.12783337 0.13926207 0.15082289 0.16251893 0.17435339

调整它以具有满足您需求的差异:

 diff( 20* qexp((1:100)/100) )
 [1]  0.2030474  0.2051300  0.2072557  0.2094260  0.2116422  0.2139058  0.2162183  0.2185814
 [9]  0.2209967  0.2234660  0.2259911  0.2285739  0.2312164  0.2339208  0.2366892  0.2395238
于 2012-08-27T05:40:32.593 回答