如何选择假设函数的阶数?

在常规的机器学习问题中,你会得到许多特征(例如,如果你在制作图像识别器),所以当有许多特征时,你无法可视化数据(你无法绘制图表)。在不绘制图表的情况下,有没有办法确定应该为该问题使用什么阶数的假设函数?如何确定使用的最佳假设函数?例如:

如果有两个输入 x(1), x(2)。

是选择 (w0) + x(1)*w(1) + x(2)*w(2) 作为假设函数,还是

w(0) + x(1)*w(1) + x(2)*w(2) + x(1)*x(2)*w(3) + (x(1)^2)*w(4) + (x(2)^2)*w(5)

作为假设函数:其中 w(0), w(1), w(2), w(3)…… 是权重。


回答:

应用的第一个主要步骤是特征选择或特征提取(降维)。这是一个预处理步骤,你可以使用某些相关性度量来应用,如相关性、互信息如 mRmR。还有其他方法受到数值线性代数和统计学领域的启发,例如主成分分析,用于根据某些假设找到描述空间的特征。

你的问题与机器学习领域的一个主要关注点有关,即模型选择。唯一知道应该使用哪个阶数的方法是实验不同阶数的模型(d=1, d=2, …),同时记住以下几点:

1- 过拟合:你需要通过限制变量的范围(在你的例子中是 Ws)来避免过拟合。这种解决方案被称为正则化。另外,尽量不要像在 ANN 的情况下那样长时间训练分类器。

2- 准备训练、验证和测试集。训练用于训练模型,验证用于调整参数,测试用于比较不同模型。

3- 正确选择性能评估指标。如果你的训练数据不平衡(即为目标变量的每个值或类别标签分配的样本数量几乎相同),那么准确率并不能说明问题。在这种情况下,你可能需要考虑敏感性、特异性或马修斯相关系数。

实验是关键,确实你受到资源的限制。然而,实验的适当设计可以达到你的目的。

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中创建了一个多类分类项目。该项目可以对…

发表回复

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