Google Cloud ML使用贝叶斯优化来缓解维度的诅咒。在特定情况下,我有一些超参数调优作业,在这些作业中,我希望对超参数调优作业中的超参数网格执行详尽的搜索。我该怎么做呢?
我执行纯网格搜索的动机是:我观察到,针对完全离散类型的超参数的超参数调优作业多次评估相同的超参数组合,这是我不想要的。我怀疑这与贝叶斯优化的使用有关。这就是为什么我想对这些情况执行纯网格搜索的原因。
假设我正在处理一个多类分类问题(具有N类),并且我想使用支持向量机作为分类方法。
我可以采用两种策略:一对一(OVO)和一对一(OVA)。在第一种情况下,我需要训练N(N-1)/2分类器,即class1 vs class2, ..., class1 vs classN, ..., class(N-1) vs classN,而在第二种情况下,我只需要训练N,即class1 vs rest, ..., class N vs rest。
据我所知,这两个场景的典型(和一般)代码,包括超参数的调优,将如下所示:
OVO
from sklearn import svm
from sklearn.mode
using System;
namespace ConsoleApplication1
{
class TestMath
{
static void Main()
{
double res = 0.0;
for(int i =0;i<1000000;++i)
res += System.Math.Sqrt(2.0);
Console.WriteLine(res);
Console.ReadKey(