指定 ML.NET 模型的训练持续时间

Specifying a training duration for a ML.NET model

这可能是一个显而易见的问题,但我似乎无法在 ML.NET Microsoft 文档中找到有关它的任何内容。

我一直在尝试进入 ML.NET 框架,并且文档始终遵循相同的基本过程,即创建估计链并将链拟合到数据,本质上是训练模型。

文档还指定您应该尝试不同的训练持续时间,这就是我的问题所在:如何指定训练持续时间?每次我在文档中发现 "training" 方法时,它总是只是

ITransformer model = pipeline.Fit(data);

无法指定训练持续时间。我在这里错过了显而易见的事情吗?您是否在估算器链中指定了持续时间?非常感谢对此的任何帮助。

机器学习算法有不同的行为,一些模型提供了设置,例如作为输入进行训练的步数,或持续时间,或纪元,或错误率等......结果与一个不同运行其他。但有些人,有一个固定的算法,总是有相同的输出,无论你 运行 培训多少次,结果都是一样的。我认为你的模型是后一种情况。

请注意,更改模型的输入参数会更改训练持续时间,在机器学习上下文中 "different training durations" 意味着更改模型的参数以找到最佳值。

对于您的情况,更改以下设置可能会改变您的训练持续时间:

// Define trainer options.
var options = new LbfgsMaximumEntropyMulticlassTrainer.Options
{
    HistorySize = 50,
    L1Regularization = 0.1f,
    NumberOfThreads = 1
};