机器学习中的迭代是什么意思?

我不理解机器学习中的迭代概念。既然编程是确定性的(每次运行都做同样的事情),那么通过反复运行相同算法准确性如何提高呢?

这个迭代概念是否与RNN(循环神经网络) – 它们多次反馈给相同的神经元 – 模型或SGD(随机梯度下降) – 它们为了效率而使用相同的训练数据样本 – 有关?

谢谢

编辑:我所说的迭代是指我在这个网站上找到的一个玩具应用:https://blog.kovalevskyi.com/rnn-based-chatbot-for-6-hours-b847d2d92c43

作者使用RNN创建了一个聊天机器人。我不理解的是,既然每次运行的是相同的算法,增加迭代次数是如何提高预测准确性的。

但是从@Spirit_Dongdong的帖子来看,我对迭代的理解(即每次迭代中所做的事情)可能有误,因此,我试图澄清迭代的含义以及每次迭代中所做的事情。


回答:

文章讨论的是训练迭代。这是由于在训练神经网络时,我们使用迭代算法,通常是随机梯度下降。

这是为了解决一个优化问题,最小化一个函数,但我们不知道最小化该函数的参数值。然后我们使用梯度作为信息,指导参数移动的方向,但它不告诉我们移动多少,所以我们移动一个固定量(步长或学习率)。

考虑到所有这些,如果我们朝梯度方向移动一步,我们就更接近解决方案(最小值),但我们只移动了一点,然后再移动一点,以此类推。这些就是迭代。增加迭代次数,你会更接近最小值和最优参数集,这些是提高性能的关键。

你说的对,是在运行相同的算法,但不是使用相同的输入。输入会随着参数值在一次迭代后的变化而变化。

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

发表回复

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