通用机器学习算法,训练集 -> “预测器”

考虑以下代码:

struct TrainingExample{    array<double, N> input;    array<double, M> output;};struct Predictor{    Predictor(const vector<TrainingExample>& trainingSet);    array<double, M> predict(const array<double, N>& input);}

该类使用如下:

  1. 将某个实体类型的易于测量的特征建模为N个输入双精度数的数组。
  2. 将某个实体类型较难测量的特征建模为M个输出双精度数的数组。
  3. 对实体集合进行抽样,测量输入输出
  4. 然后将这些数据作为trainingSet传递给Predictor的构造函数,进行“学习”。
  5. 测量一个主题实体的输入并将其传递给predict函数。
  6. predict将根据训练示例返回对输出的猜测。

我的问题是,假设这个类需要被许多不同的问题/模型重复使用,而不需要为每个特定问题修改代码——哪种机器学习算法最适合实现这样一个通用的预测器?(如果你认为没有明显的最佳选择,那么有哪些流行的竞争算法,你如何在它们之间进行选择?)


回答:

嗯,如果没有对问题的总体了解,几乎不可能回答你的问题。你基本上是指定了机器学习的过程:获取输入,研究它,然后生成模型的一些参数,然后预测验证集的结果。根据问题本身,你提供的见解决定使用哪种算法。

通常,神经网络在许多不同领域都能产生良好的结果(那将是梯度下降学习规则算法)。在许多情况下,贝叶斯模型表现得非常好,基于案例的推理常用于离散的、重复的输入等。根据你问题的定义,由你来选择一个合适的算法。

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

发表回复

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