机器学习中的调参是什么?

我是一名机器学习的新手,对调参感到困惑。机器学习中的调参目的是什么?是选择算法的最佳参数吗?调参是如何工作的?


回答:

不进行适合Stackoverflow的技术演示,以下是一些一般性的思考。可以说,机器学习的最终目标是构建一个能够从数据中自动构建模型的系统,而无需繁琐且耗时的用户参与。正如你所认识到的,学习算法(例如决策树、随机森林、聚类技术等)需要你在使用模型之前设置参数(至少要对这些参数设置约束)。如何设置这些参数可能取决于许多因素。总的来说,你的目标通常是将这些参数设置为最优值,以便以最佳方式完成学习任务。因此,调参一个算法或机器学习技术,可以简单地被认为是一个过程,在这个过程中,你优化影响模型的参数,以便算法能够在你定义了“最佳”是什么之后,表现得最好。

为了更具体,这里举几个例子。如果你使用一个用于聚类的机器学习算法,如KNN,你会注意到,作为程序员,你必须在模型中指定K的数量(或中心点)。你如何做到这一点?你调参模型。有很多方法可以做到这一点。其中一种方法是尝试许多不同的K值,并观察当你改变模型中的K值时,组内和组间的误差如何变化。

再举一个例子,考虑支持向量机(SVM)分类。SVM分类需要一个初始的学习阶段,在这个阶段,训练数据被用来调整分类参数。这实际上是指一个初始的参数调参阶段,在这个阶段,作为程序员,你可能会尝试“调参”模型以获得高质量的结果。

现在,你可能会认为这个过程可能很困难,你是对的。事实上,由于确定最佳模型参数的难度,一些研究人员在充分试验更简单的替代方案之前,就使用了复杂的学习算法,而这些替代方案可能具有更好调参的参数。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注