机器学习算法在哪里存储结果?

时间:2017-07-25 15:51:42

标签: python algorithm machine-learning tensorflow

我认为这是"亵渎"对于那些来自AI世界的人,但是因为我来自我们编程并获得结果的世界,并且存在存储内存的概念,这是我的问题:

机器学习通过迭代工作,迭代次数越多,我们的算法就越好,但是在这些迭代之后,某个结果存储在某个地方?因为如果我认为作为程序员,如果我重新运行程序,我必须将以前的结果存储在某个地方,否则它们会被覆盖?或者我需要使用数组来存储我的结果。

例如,如果我使用一堆猫图片数据集训练我的图像识别算法,我需要将哪些变量添加到我的算法中,所以如果我将它与图像库一起使用,那么每次我都会成功找一只猫,但我会用什么?因为我的下一步没有保存任何东西?

我看过的所有视频和教程,他们只是画了一张图表作为决策制作,并没有应用某些东西在未来的节目中使用它?

例如,这个例子,kNN用于教授如何检测写入的数字,但是使用的显式值在哪里?

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/2_BasicModels/nearest_neighbor.py

注意:点击close requestdownvoting的人至少会说明理由。

2 个答案:

答案 0 :(得分:2)

  

迭代越多,我们的算法就越好,但在这些迭代之后,存储的结果存在于某处

您在此处提到的是优化部分。

然而,要优化模型,我们首先必须表示它。

例如,如果我创建一个非常简单的线性模型,以平方米的面来预测房价,我可能会选择这个模型:

price = a * surface + b

表示。

现在您已经表示了模型,您希望对其进行优化,即找到最小化预测误差的参数ab

  

结果存储在哪里?

在上文中,我们说已经学习参数或权重ab

你保留的是什么,来自优化(也称为训练)的权重,当然还有模型本身。

答案 1 :(得分:2)

我认为有些混乱。让我们清楚一点。

机器学习模型通常具有参数,并且这些参数是可训练的。这意味着训练算法找到了正确的"这些参数的值,以便适合于给定的任务。 这是学习的一部分。实际的参数值是"推断"来自培训数据。

您称之为培训过程的结果是模型。模型由带参数的公式表示,并且必须存储这些参数。通常,当您使用ML / DL框架(如scikit-learn或Keras)时,参数将与有关模型类型的一些信息一起存储,因此可以在运行时重建。