【发布时间】:2018-01-10 22:36:27
【问题描述】:
来自您编写代码、测试、部署、运行的编程背景。我正试图围绕数据科学中“训练模型”或“训练模型”的概念展开思考,并部署它训练好的模型。
我并不真正关心部署环境、自动化等。我试图了解部署单元。一个训练有素的模型。经过训练的模型在文件系统上是什么样子的,它包含什么?
我了解训练模型并将一组数据拆分为训练集和测试集的概念,但是假设我有一个笔记本(python / jupyter)并加载了一些数据,在训练/测试之间进行拆分数据,并运行一个算法来“训练”我的模型。引擎盖下我的可交付成果是什么?当我正在训练一个模型时,我认为内存中会存储一定数量的数据.. 那么它如何成为训练模型的一部分呢?它显然不能包含所有用于训练的数据;因此,例如,如果我正在训练一个聊天机器人代理(基于检索),那么在我添加/输入用户问题或“意图”的示例之后,作为该训练的一部分实际发生了什么,以及我的可部署性训练模型?这个经过训练的模型是否包含某种训练数据或术语数组的总和,它可以得到多大(可部署大小)?
虽然“什么是经过训练的模型”这个问题看起来相对简单,但我该如何简单地向 devops 技术人员解释它?这是一个“对数据科学感兴趣的 IT 人员,在与数据科学人员的讨论中试图理解训练模型的有形单元”。
谢谢
【问题讨论】:
-
它包含模型的参数。那可以是任何东西。例如决策树,或神经网络的权重等
-
我在很多文章和博客中都听说过“它包含参数”,这对于线性回归之类的东西很有意义,但以聊天机器人为例,我正在加载所有这些意图,我在构建某种参数文件吗?所有这些文本是如何变成参数的?什么是可部署的?
-
另外,如果我正在创建一个聊天机器人,在其中输入一堆预期的问题并提供响应,那么训练模型的目的是什么?您不能从与输入意图密切匹配的数据库条目中选择响应吗?只是想更好地理解它..
-
您需要缩小范围。如果你想要具体的细节,没有一个答案。 IE。如果您正在使用简单的回归模型,这可能是一个简单的系数序列。
-
@byte-crunch:训练一个模型的想法是你不决定答案是什么,但模型(通常基于统计数据)计算最多的是什么可能的答案应该是。
标签: python machine-learning artificial-intelligence jupyter-notebook data-science