我想知道 Weka 的简单逻辑函数是否使用正则化。
我在文档中没有看到任何提及它,但我不确定。有人可以证实这一点吗?
*用于构建线性逻辑回归模型的分类器。以简单回归函数作为基学习器的 LogitBoost 用于拟合逻辑模型。要执行的最佳 LogitBoost 迭代次数是交叉验证的,这会导致自动属性选择。有关更多信息,请参阅:
Niels Landwehr、Mark Hall、Eibe Frank (2005)。逻辑模型树。Marc Sumner、Eibe Frank、Mark Hall:加速逻辑模型树归纳。在:第 9 届欧洲数据库中知识发现的原则和实践会议,675-683,2005。
选项
debug -- 如果设置为 true,分类器可能会向控制台输出附加信息。useCrossValidation -- 设置是否要交叉验证 LogitBoost 迭代的次数,或者应该使用训练集上的停止标准。如果未设置(并且没有给出固定的迭代次数),则使用 LogitBoost 迭代次数来最小化训练集上的错误(错误分类错误或概率上的错误取决于 errorOnProbabilities)。
errorOnProbabilities -- 在确定最佳 LogitBoost 迭代次数时,使用概率上的误差作为误差度量。如果设置,则选择最小化均方根误差的 LogitBoost 迭代次数(在训练集或交叉验证中,取决于 useCrossValidation)。weightTrimBeta -- 在 LogitBoost 中设置用于权重修剪的 beta 值。仅在下一次迭代中使用具有上一次迭代权重 (1 - beta)% 的实例。设置为 0 表示不进行权重修剪。默认值为 0。 numBoostingIterations -- 为 LogitBoost 设置固定的迭代次数。如果 >= 0,这将设置要执行的 LogitBoost 迭代次数。如果 < 0,则对数字进行交叉验证或使用训练集上的停止标准(取决于 useCrossValidation 的值)。
useAIC -- AIC 用于确定何时停止 LogitBoost 迭代(而不是交叉验证或训练错误)。
heuristicStop -- 如果 heuristicStop > 0,则启用在交叉验证 LogitBoost 迭代次数时贪婪停止的启发式。这意味着如果在最后一次 heuristicStop 迭代中没有达到新的错误最小值,则 LogitBoost 将停止。建议使用这种启发式方法,它提供了很大的加速,尤其是在小型数据集上。默认值为 50。
maxBoostingIterations -- 设置 LogitBoost 的最大迭代次数。默认值为 500,对于非常小/大的数据集,较低/较高的值可能更可取。*