使用机器学习对植物进行建模

有一组关于植物的数据集,根据数值输入产生特定的数值输出。数据集包含了多年来每15分钟的输入值和输出值。

由于在软件中模拟系统的物理特性成本过高,我希望通过机器学习创建一个模型,使其表现得像系统一样。当输入数据时,模型应能提供相应的输出。

在解决方案中,我已经测试了前馈神经网络。结果尚可,但在某些情况下不够准确。

对于这个问题,还有哪些其他方法可用?


回答:

如果这是时间序列任务,你可以使用神经网络的NARX架构或LSTM网络。后者类似于NARX,是一种递归神经网络。Matlab提供了前者的实现。

https://en.m.wikipedia.org/wiki/Nonlinear_autoregressive_exogenous_model

https://en.m.wikipedia.org/wiki/Long_short-term_memory

如果你“仅仅”想对数据拟合多项式,你可以使用不同阶数的基本线性回归来看看哪个效果最好。注意:它被称为线性回归,并不意味着它只能拟合线性模型。

https://en.m.wikipedia.org/wiki/Linear_regression

其他一些可能性包括核方法,如核岭回归或SVR。后者基于支持向量机,通常表现得相当好(至少在我个人经验中用于分类时)。如果你想尝试SVR,可以使用一个小而优秀的库libSVM。Matlab也提供了这种方法。

以下链接展示了这些算法的比较:

http://scikit-learn.org/stable/auto_examples/plot_kernel_ridge_regression.html

编辑:如果我理解正确的话,如果你想从给定时间t预测未来时间t+1的输出,这是一个时间序列任务。尝试使用NARX模型或LSTM网络。

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

发表回复

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