机器学习中的迭代是什么意思?
What does iteration in Machine Learning mean?
我不明白机器学习中迭代的概念。由于编程是 确定性的 (就像每次都做同样的事情一样 运行),准确性如何提高 [=43] =] 相同的算法 一遍又一遍?
这个迭代概念与RNN(递归神经网络)有什么关系吗-从某种意义上说,它们对同一个中子的反馈次数更多 - 模型或 SGD(随机梯度下降)- 他们采用相同的训练数据样本以提高效率 - ?
谢谢
编辑:我所说的迭代是指我在这个网站上找到的这个玩具应用程序:
https://blog.kovalevskyi.com/rnn-based-chatbot-for-6-hours-b847d2d92c43
作者所做的是,他使用RNN创建了一个聊天机器人。我不明白的是,增加迭代次数如何提高预测的准确性,因为每次都使用相同的算法 运行。
但是从@Spirit_Dongdong的post看来,我对迭代的理解(每次迭代中所做的事情可能是错误的),因此,我试图澄清什么是迭代的意思,在迭代中做了什么。
大多数机器学习问题都是优化问题。例如最小化损失函数或最大化似然函数。
优化的方法有很多种,有的像OLE(Ordinary Least Squares)不需要迭代,有的像SGD或者newton的找个方向去优化然后迭代
文章讲的是训练迭代。这是因为在训练神经网络时,我们使用迭代算法,通常是随机梯度下降。
这样做是为了解决优化问题,最小化函数,但我们不知道最小化该函数的参数值。然后我们使用梯度作为参数移动方向的信息,但它没有告诉我们移动多少,所以我们移动一个固定的量(步长或学习率)。
然后考虑所有这些,如果我们向梯度方向移动一步,我们更接近解决方案(最小值),但我们只是移动了一点,然后我们移动了一点,所以在。这些是迭代。当你增加迭代次数时,你会更接近最小值和最优参数集,这些都是提高性能的原因。
你是对的,运行 是相同的算法,但输入不同。输入不断变化,因为参数的当前值在一次迭代后发生变化。
我不明白机器学习中迭代的概念。由于编程是 确定性的 (就像每次都做同样的事情一样 运行),准确性如何提高 [=43] =] 相同的算法 一遍又一遍?
这个迭代概念与RNN(递归神经网络)有什么关系吗-从某种意义上说,它们对同一个中子的反馈次数更多 - 模型或 SGD(随机梯度下降)- 他们采用相同的训练数据样本以提高效率 - ?
谢谢
编辑:我所说的迭代是指我在这个网站上找到的这个玩具应用程序: https://blog.kovalevskyi.com/rnn-based-chatbot-for-6-hours-b847d2d92c43
作者所做的是,他使用RNN创建了一个聊天机器人。我不明白的是,增加迭代次数如何提高预测的准确性,因为每次都使用相同的算法 运行。
但是从@Spirit_Dongdong的post看来,我对迭代的理解(每次迭代中所做的事情可能是错误的),因此,我试图澄清什么是迭代的意思,在迭代中做了什么。
大多数机器学习问题都是优化问题。例如最小化损失函数或最大化似然函数。 优化的方法有很多种,有的像OLE(Ordinary Least Squares)不需要迭代,有的像SGD或者newton的找个方向去优化然后迭代
文章讲的是训练迭代。这是因为在训练神经网络时,我们使用迭代算法,通常是随机梯度下降。
这样做是为了解决优化问题,最小化函数,但我们不知道最小化该函数的参数值。然后我们使用梯度作为参数移动方向的信息,但它没有告诉我们移动多少,所以我们移动一个固定的量(步长或学习率)。
然后考虑所有这些,如果我们向梯度方向移动一步,我们更接近解决方案(最小值),但我们只是移动了一点,然后我们移动了一点,所以在。这些是迭代。当你增加迭代次数时,你会更接近最小值和最优参数集,这些都是提高性能的原因。
你是对的,运行 是相同的算法,但输入不同。输入不断变化,因为参数的当前值在一次迭代后发生变化。