全部产品
云市场

模型的创建和详情

更新时间:2019-05-16 17:29:44

一. 流程介绍

在算法工程创建和配置完毕后就可以在算法工程里进行模型的创建了。模型的创建需要完成5个步骤:模型名称定义、数据集预处理配置、特征工程配置、算法配置以及任务执行方式选择。当模型训练完成后,系统会计算并展现出数据集每个字段的统计情况,同时还会产出一份全面且权威的评估报告,通过这些数据您可以决策模型是否达到业务可用状态。

二. 名词解释

名词出现阶段 名词 解释
数据集配置 空值填充 将数值型的空值替换为最大值,最小值,均值。
特征工程 特征 特征是指描述一个对象的角度。比如对于一个人,可以从年龄、性别、职业等几个方面来描述,那么其中的每一项都是这个人的一个特征。
归一化 去除量纲,将所有的字段都变换到0~1之间,去除字段间大小不均衡带来的影响。
算法配置 训练集 实际用来模型训练的数据。
测试集 用来验证模型训练精准度的数据。
逻辑回归 又称logistic回归,是一个经典的二分类算法。
正则化类型 主要用于解决训练过程中的过拟合问题
最大迭代次数 指定梯度下降的最大迭代次数
收敛误差 梯度下降的终止条件,即两次迭代之间对数似然率的差值
数据集配置-字段仪表盘 均值 统计字段所有数值的平均值
标准差 总体各单位标准值与其平均数离差平方的算术平均数的平方根。它反映组内个体间的离散程度。
最大值 统计字段所有数值中最大的值。
最小值 统计字段所有数值中最小的值。
中位数 通过把所有统计字段数值高低排序后找出正中间的一个作为中位数。
方差 是字段的每个数值与该字段的全体数值的平均数之差的平方值的平均数。
众数 统计字段中出现次数最多的数值。

三. 模型构建的系统工作介绍

通常构建算法模型工作典型的流程中,样本数据清洗大致占了整个流程工作量的30%,特征工程占用50%,对模型的评估和分析要占10%,如果不满意,那么再来一趟同样的流程。所以这三个环节对于我们的模型质量有着举足轻重的影响。

1.样本数据清洗

一般情况下,用户的数据或多或少会包含噪音,这些噪音一般是一些缺失值或异常值,对这些数据的清洗可以分为两种情况,按行过滤无效数据,和按列修复异常值。

  • 按行过滤无效数据

某些数据缺失了一些关键字段,导致这条数据根本不可用,是一条无效数据,比如电商场景下,一个商品的标题字段为空,价格字段为空,卖家字段为空,这就是一个无效商品,这种数据流入后续环节毫无意义,可以定义一些规则,把这类数据过滤掉。

  • 按列修复异常值

某些字段的数据明显不在正常取值范围内,比如年龄字段,有小于0的,有大于200的,有非正整数的,这类数据,可以通过定义一些规则,把不合理的数值替换为在当前场景下合理的数值。再比如学历字段,有叫“本科”的,有叫“大学本科”的,有叫“研究生”的,有叫“硕士”的;某个状态字段,有叫“ERROR”的,有叫“error”的,有叫“UNKNOW”的,也有叫“abnormal”。像这类情况,字段本身并没有问题,只是存在异常值或未归并的情况,需要定义一些规则,对这些异常值进行修复。

2.特征工程

机器学习的算法,说到底是一堆算法公式,对于有监督机器学习而言,这些公式的典型推导过程,如果用极简的语言来描述,那么是先通过假设一个数学公式来描述当前的问题,叫假设函数,通过一系列的数学推导,得到求解这个假设函数各个参数的公式,以及描述代入这些参数和样本数据时的代价函数,通过不断的迭代,最小化代价函数,在代价函数收敛到一定范围时,这时的假设函数的一系列参数就确定了,那么假设函数也就确定了。也就是说通过大量样本数据的训练,我们得到了一个数学公式,可以用来描述这些数据的内在规律,并且描述的误差可以接受,这就是我们所说的模型,这个模型描述了数据的规律,既然掌握了数据的规律,我们就可以利用模型对未知的同类数据进行预测了。
由此我们可知,既然假设函数和代价函数都是数学公式,那么样本数据是不能直接输入的,它需要经过某些变换,才能直接代入公式。其实,我们所说的特征,正是假设函数中的自变量,有多少个特征,就有多少个自变量。
有了高质量的样本数据,接下来是从这些样本数据提取合理的特征,并对特征进行某些变换,得到一批特征值,代入到算法中进行训练。
特征的数据来源有几个常见情况,来自样本数据单字段的特征,由样本数据多个字段组合成的特征,由多个特征组合成的特征。特征的变换就相当丰富了,对数值型常见的如归一化、标准化、正则化、离散化、OneHot编码等,对文本有Tf-Idf计算、word2vec等。

3.模型评估

可以参见模型评估介绍文档。

四. 创建模型流程演示

一共需要五个步骤,
第一步:定义模型名称,尽量为模型命名一个直观的名字,因为最终部署和在排序中配置时都会进行模型选择。

第二步:数据集配置,即数据预处理。进入到这一步骤时,系统会把您行为数据源中的字段全部拉取呈现出来,这些字段是训练模型必须存在的,所以不能被删除且暂时其预处理规则也不开放配置。

但是在这一步,您目前可以在行为数据字段的基础上再从内容数据源(即关联的OpenSearch应用的数据)中增加一些可衡量商品/文档价值的属性字段,比如评论数、转发数、阅读数、购买量、收藏量、发布者等级等,增加的维度越多越有利于模型的训练。

内容数据源添加的字段您可以对其自定义数据预处理的规则,数据预处理的意义就是对原始数据进行清理,避免脏数据给模型训练带来的负面影响。目前系统开放空值填充规则供大家配置,可选择使用均值、最大值或最小值对字段的空数据进行填充。
1
2
3

第三步:特征工程。系统会把上一步中的所有字段映射成为特征,目前暂不支持多个字段组合形成一个特征,暂时只支持单个字段映射成单个特征。您可以针对内容数据源字段映射的特征进行特征处理的规则定义,这一期平台只开放归一化的处理规则。
3

第四步:算法配置。在这一步您可以配置训练集和测试集的拆分比例,选择模型训练使用的算法,另外如果您还有算法工作经验的话也可以对我们给出的算法默认参数进行调整尝试。
现在平台暂时只集成了逻辑回归算法,开放的参数包括正则化类型、最大迭代次数、收敛误差。
4
第五步:任务执行配置。有两个选项,完成并立即预处理和完成并立即训练,区别在于,

  • 选择“完成并立即预处理”,系统会从训练集中抽样进行数据预处理。预处理结束后可通过模型详情页数据集的统计结果来决定是否要修改模型配置。
  • 选择“完成并立即训练”,系统会直接训练全量训练集。训练完成后产出模型评估报告和全量训练数据的统计,这时如需修改模型配置可以通过复制创建当前模型来实现。

5

五. 模型预处理和训练说明

提交了模型创建的配置后系统就会启动预处理或训练任务。公测期间通常,

  • 仅仅执行预处理任务,1w条数据预处理完成的耗时是5分钟左右;
  • 模型执行训练任务,100w条数据训练完成的耗时是15分钟左右。

六. 查看模型配置详情

数据预处理完成或模型训练完成后会在相关页面展示每个字段的统计情况。其中字段统计仪表盘平铺展示了5个系统认为最重要字段的统计图表和表格。其余全部字段如果想要看到统计信息可在对应字段的统计信息列点icon即可展示。
6

7

七. 模型状态说明

在您提交了模型创建的配置后,系统会执行相关任务,模型在列表中呈现的状态可能有以下几种:

  • 数据预处理中:指数据的抽样+抽样数据的预处理流程。
  • 待训练:如果您在模型创建的时候选择的任务执行方式是“仅仅数据预处理”,那么数据预处理完成后,模型进入待训练状态。
  • 训练中:数据训练中,展示百分比进度。
  • 完成:指的是训练完成的模型状态。
  • 失效:异常状态,系统执行任务失败。

八. 修改模型说明

如果您发现模型效果不符合预期,想要修改模型的数据预处理规则、特征变化规则或者是某个算法参数,那么,

  • 当该模型的状态为待训练时,您可以点击模型名称,点击右上角“修改模型”进行编辑。

8

  • 当该模型的状态为完成时,只能通过“复制创建”按钮来满足需求。

9