数据科学模型和培训 - 理解



来自编程背景,你在那里编写代码,测试,部署,运行。我试图围绕数据科学中的"训练模型"或"训练模型"的概念,并部署该训练模型。

我并不真正关心部署环境、自动化等。我正在尝试了解部署单元。经过训练的模型。经过训练的模型在文件系统上是什么样子的,它包含什么?

我理解训练模型的概念,并将一组数据拆分为训练集和测试集,但假设我有一个笔记本(python/jupyter),我加载了一些数据,在训练/测试数据之间拆分,并运行算法来"训练"我的模型。我的可交付成果是什么?当我训练一个模型时,我认为内存中会存储一定数量的数据。那么它如何成为训练模型的一部分呢?它显然不能包含用于训练的所有数据;因此,例如,如果我正在训练一个聊天机器人代理(基于检索),那么在我添加/输入用户问题或"意图"的示例之后,作为训练的一部分,实际发生了什么,以及我的可部署是什么作为训练模型?这个经过训练的模型是否包含来自训练或术语数组的某种数据总和,它可以获得多大(可部署的大小)?

虽然这个问题看起来相对简单"什么是训练模型",但我如何用简单的术语向DevOps技术人员解释它?这是一个"对数据科学感兴趣的IT人员,试图在与数据科学家的讨论中理解训练模型的有形单元"。

谢谢

经过训练的模型将包含其参数的值。如果仅调整了几个参数,则只有它们将包含新的调整值。未更改的参数将存储默认值。

这取决于型号。例如线性回归,训练将为您提供斜率和截距的系数(通常)。这些是"模型参数"。传统上,部署时,这些系数被输入到不同的算法中(字面意思是 y=mx+b),然后当询问"当我有 x 时,y 应该是什么"时,它会以适当的值响应。

另一方面,Kmeans聚类 "参数"是向量,预测算法计算与给定算法的向量的距离,然后返回最近的聚类 - 请注意,这些聚类通常是经过后处理的,因此预测算法会说"鞋子"而不是"[1,2,3,5]",这又是这些东西在野外如何变化的一个例子。

深度学习返回图的边权重列表,各种参数系统(如最大似然估计),返回系数以描述特定分布,例如均匀分布是桶数,高斯/正态分布是均值和方差,其他更复杂的甚至更多,例如偏斜和条件概率。

一个训练好的模型(腌制的)或任何你想使用的东西,至少包含它已经被训练过的特征。以一个简单的基于距离的模型为例,您根据 (x1,x2,x3,x4) 特征很重要的事实设计模型,如果有任何点与模型接触,则应返回计算的距离,您根据该距离得出见解或结论。 同样,对于聊天机器人,您可以根据ner-crf进行训练,无论您想要什么功能。一旦文本与模型接触,就会根据模型提取特征并得出见解/结论。希望对您有所帮助!我试着解释费曼的方式。

最新更新