时间: 2019-09-13阅读: 81标签: 机器

AutoML的概念源自2012年学术界提出一个新观点Programming by
Optimization,字面上的意思是指以最优化程序开发,实质上就是要解决建模时依赖人工的问题。

机器学习现在在很多地方都是十分流行,无论现在的你是否从事建模工作,还是你将来想从事相关工作,对于从业者可以从中看出一些同感与意见,对于未来从业者可以了解这个职业到底是做些什么。

AutoML更大范围内为世人周知是因为谷歌Cloud AutoML
Vision产品的发布,这款产品可以用AI设计AI,让更多对机器学习了解有限的人,把Google级的AI技术运用到产品打磨中,从而降低了使用机器学习的门槛,这也是智铀科技正在做的事情,不同的是,谷歌AutoML目前专注于图像识别领域,智铀科技目前主要以结构化数据为主,致力于为企业带来全流程、自动化的建模和部署能力,帮助企业构建人工智能核心,实现AI驱动。

话不多说,一个机器学习模型的开发周期一般可以分为:

目前,传统行业使用机器学习仍面临着巨大的挑战。

1、业务需求挖掘(Business insight)2、数据搜集处理(Data
Curation)3、模型训练开发(Modeling)4、部署及测试上线(Deployment)5、模型闭环监控及继续优化(Feedback
Improvement)

永利开户送38元体验金 1

本文也是按照这个结构来进行展开总结与思考。

针对这些痛点,夏粉博士带领智铀科技团队开发了自动化机器学习产品“小智”。

01 业务需求挖掘(Business insight)

小智可以免费试用,支持上限为200MB 的 CSV
训练数据量、10MB的数据预测,无需编写代码,学习数学,就可以让你亲身体验机器学习的魅力。模型精度也无需担心,小智可以帮您完成简单便捷、高质高效的建模。

当我们接到业务需求的时候,第一件事情需要了解的,就是需求的整体逻辑。一个合理的产品设计通常都是与业务痛点相挂钩的。如果业务提出一个比较空泛的需求,如:

试用方法:进入智铀科技官网,在产品页面点击免费试用即可

我想要提高一下营销成功率,帮我搞个模型吧。

永利开户送38元体验金 2

这个时候,我们需要沉住气,,有的时候数据建模师也需要充当起“心理辅导员”,慢慢引导业务说出实际的业务痛点与需求,好让我们对症下药(当然靠谱且有经验的业务是不会犯这种行为的)。在经过若干分钟的业务了解,其实业务真正想提高的,是最后的审批通过率,而继续了解,发现是由于最近业务的增长,电销人员的人手不足,导致审批的效率低下,而真正有意愿购买产品的客户被营销的可能性降低,导致最终的整体转换率过低。

智铀科技发布的自动化机器学习产品“小智”,可以自动构建高精度模型,为用户提供从数据预处理、特征工程、模型调参、模型评估、模型预测到结果分析等一站式服务,其独创的参数搜索算法解决了人工调参费时耗力的问题,独创的特征工程算法,令组合特征挖掘效率提升上千倍。另外,小智还支持千亿样本、千亿特征数据量,模型从浅层到深层灵活支持。

了解过后,其实我们会有一个初步的模型设计思路,那就是可以设计一个模型对客户进行意愿度的预评估,根据评分对客户进行营销优先级,结合电销人员的经验度(营销成功率)与营销黄金时间等等维度的结合,输出营销计划,提高转化率。

永利开户送38元体验金 3

那么在了解了业务需求后,接下来就需要针对具体的需求,继续咨询业务方一些业务知识点,而不是有了一点眉目就马上开工,毕竟模型还是做出来还是业务在用,事先沟通好一些细节性的问题也是无碍,而且沟通的过程可以让你对业务有更加深入的了解,对你后面的特征开发有很好的帮助。

除了以独创的算法实现了自动建模,小智在产品的交互方面也贯彻着简单易用的原则,直观的web界面允许任何人和小智进行交互,不需要AI背景,用户也可以一键完成建模,内置的可视化效果,如ROC曲线图和准确&召回曲线,能够使用户对自己的业务有更深刻的理解。据某银行客户介绍:“在通用场景下,普通业务人员借助小智也能达到高级建模人员水平。”

02 数据搜集处理(Data Curation)

随着互联网+时代的到来,大数据在企业的落地应用正在快速增长,而数据安全,也成为众多企业的顾虑,这也催生了企业对于私有化部署的需求。据悉,小智将以产品的形式提供给行业,除了支持公有云、SAAS模式外,还提供私有化部署。

当我们确定了要开发的模型之后,这个时候需要做的是搜集数据与处理数据了。顾名思义,这一步也就是收集你可以用的数据去训练模型,而这是我认为是最为重要的一步。而在开始搜集数据前,需要了解几点内容:

永利开户送38元体验金,AutoML仍然是一个在摸索中的新兴领域,谁能抢占技术占领市场尤为重要。目前,智铀科技已经与金融、医疗、物联网等多个行业的公司合作为其提供服务,产品的功能应用涵盖点击率预估、反欺诈侦测、市场精准营销以及个性化推荐等,满足不同场景的不同需求,同时产品的有效性经过实践验证,不但能够为企业带来收入的增长并且节省成本。

1、模型应用节点

整体建模流程

2、时效性要求

机器学习建模过程一般包含多个步骤,首先,数据科学家要对业务问题进行定义,抽象为数学问题;对获取到的数据进行分析、理解、清洗,划分;其次进行特征工程,如特征衍生、特征组合、特征选择等,然后才能开始进行建模、训练、预测等。在小智平台,用户只需上传数据,选定目标名称,其余步骤包括数据预处理、特征工程、调参、训练及预测,得到分析结果,部署和监控模型均由小智完成,实现真正端到端的全程自动机器学习。这大大减少了缺乏机器学习知识用户的使用难度。

2、有没有预算,预算有多少

永利开户送38元体验金 4

3、项目紧急程度

机器学习工作流图(绿色圆柱块表示数据,为整个工作流的基础,蓝色的方块为一个简单的建模流程,有简单问题只需要走完蓝色方块就结束了,黄色的两个方块为模型需要上线,持续优化改善的部分)

模型应用节点

机器学习工作流如上图所示,整个流程以数据为中心,循环往复。在使用小智的过程中,首先要收集建模需要的数据,可能是业务相关数据,也可能是从网上爬取的一些信息。我们可以将这些结构化数据转换为csv宽表或txt文件,放在本地、数据库或HDFS上,然后上传至小智,对数据集的格式进行调整,例如编码、分隔符、空值标识、首行是否为特征名称等。至此,用户负责的数据准备之前的步骤便完成了。

模型的应用节点,决定了你有哪些变量是不可以用的,避免说出现“事后变量”或者是无法上线的变量,这往往是和业务逻辑是挂钩的,在上一步的Business
insight
过程需要了解清楚。比如:一个模型是打算应用于初审环节(贷款审批流程),因此我们在初审节点后的变量都是不能用的,比如终审环节、门店审核等等,还有一些贷后的变量都是不能用的。

下一步为建立模型。当用户上传数据到小智平台后,小智会检查和清理数据,并且会以数据科学的角度给出所有特征的数据画像。用户选择建模目标后就可以开始“一键式”自动化建模了。小智会依次完成从数据清洗、特征工程、调参、选择最优算法、搭建模型、模型评估、模型发布的全过程,实现真正的“一键式”建模。模型评估阶段可以监控模型的预测性能,当用户认为预测结果不理想时可以选择重新训练模型以达到理想的预测结果。当用户完成模型训练并且选择了合适的模型后,就可以部署模型了。
部署后,可以上传CSV预测文件,对上传的数据进行批量预测,或者使用模型API
进行实时预测。

时效性要求

案例分析

有些模型可能需要应用在实时的审批过程,要求秒级响应,但也有些模型的时效性要求则没那么高,小时级别的,次日级别的都会有,了解清楚,这样子在设计你的模型或者变量的时候,更加地灵活。

为了实际感受小智的效果,并了解它到底和人工建模相比有什么优势,我们使用一个广告点击预测案例来说明,即通过广告系统的结构;流量预估:设备号、手机,区域、访问时间;广告主专业:新型游戏等;创意特征;投放之后定向的特征;广告位;环境等特征来预测某条投放广告是否被点击。

预算多少

点击率是评价在线广告效果的重要指标,对点击率进行预测建模在线广告商尤为重要。我们可以用历史的广告投放数据建立一个模型,输入未来一段时间的广告投放数据进行模型验证。分别进行小智自动化建模和手动建模。

预算这个东西其实很难说,但是如果能有,那当然是最好的了,因为有了钱,自然可以从第三方机构接一些外部数据源,类似于外部征信之类的,这对于我们的模型效果会有很好的提升。当然,很多时候,我们都会是用公司已经接入的数据源来开发特征的了。

小智数据怎么做

项目紧急程度

该建模数据集是在线广告点击率预测竞赛的数据,来自Kaggle竞赛,通过广告ID、是否点击、位置栏位、网站域名、网站种类、应用ID、应用领域、设备编号等属性来预测广告是否被点击。本案例分析中我们只截取了其中一部分数据集,并做了必要的数据清洗,每条样本为一条广告投放并且标记了是否被点击的数据,最后一列“click”为目标,1表示点击,0表示未点击。已预先划分好数据集,“train.csv”为训练集,“test.csv”为预测集。训练样本集共320473个,预测样本79527个,特征维度为23维。

这个不仅是对于模型开发项目,其实所有的项目都是需要的,了解清楚项目所能给的最大时长,做好项目计划,马上开始工作。搜集数据,不需要等到所有的特征都搜集完才开始开发特征或者训练模型,有多少数据,就先搞多少数据。

在上传数据阶段,可以看到有一个虚线框,点击虚线框火将文件拖拽至此即可实现上传。虚线框中还有“点此下载测试数据”和“下载数据匿名化工具”两个选项,我们提供了一些公开的测试数据可供用户下载测试,加入用户不想让自己的数据上传到公有云上,可以下载数据匿名化工具对数据进行简单的加密,使得数据特征名称、敏感特征值隐藏,而且不会影响模型效果。

在了解了以上的内容后,你就可以开始搜集所有相关的数据了,因为你的数据源会非常多,所以这里你必须做好数据的归档,不然后期会很乱,而且原始数据需要备份一份不要动,方便后续复盘使用。

上传数据后,可以看到小智中的数据概览,点击“确定并生成画像”进入到下一步,接着通过可视化操作选择要预测的目标变量与可用的特征变量,保存特征列表后即可进行模型训练。对于分类任务,特征变量可以分为类别型和数值型,小智可以自动检测变量类型,用户也可以根据需求自定义修改类型,这又会节省很多精力。

搞到数据后,需要做的事情大概可以分为:

永利开户送38元体验金 5

1、消化所有的数据含义、逻辑;

永利开户送38元体验金 6

2、对数据进行各种清洗,变成你熟悉的结构;

原始训练数据样本集概览

3、对数据进行质量控制,找出明显有问题的数据,探寻原因,实在找不到原因就直接剔除不用;

永利开户送38元体验金 7

4、对数据衍生的特征做好备注,方便后面的回溯。

经过匿名化处理的训练数据样本集概览

更加细致的数据挖掘过程这里就不展开,有很多好的书籍和开源代码可以参考。

确定目标变量无误后,小智会根据目标变量自动分析模型类型,以及分析特征变量,并给出自动质量修复方案。

03 模型训练开发(Modeling)

永利开户送38元体验金 8

模型训练开发,这里指的是已经做完特征工程的步骤,重点在于筛选变量、选择算法、算法调参、模型评估等等的操作。这里也有几点建议分享给大家:

小智建模怎么做

1、变量筛选,尽量多用自动化工具,对你的效率提升很大。最好还是通过自己总结多方特征筛选的方法,写一套自己的方法,方便自己调用;

处理完数据后就可以开始建模了,小智全自动建模不需要用户做任何操作,只要等待模型训练完成即可。目前只支持二分类和回归,主要采用常用的LR和GBDT算法,兼顾了性能与可解释性。之后小智会进行自动建模、调参,用户可以选择模型中结果较好的一个。

2、如果是使用传统机器学习算法,如rf、gbdt、xgb等,建议变量个数不要太多,50个以内差不多了。如果是一些深度学习相关的模型算法就另当别论。

模型训练完后可以查看训练足迹、模型评估、以及模型描述。

3、对于模型算法的选择,如果不知道选啥,可以都试试看看效果最直接。但是作为一个有经验的模型开发专家,你还是需要了解算法的原理,根据实际问题的情况来选择算法会更加好,比如类别型变量的占比、数据维度、样本目标占比、数据分布等等。

其中模型评估中有ROC曲线、Lift提升度、KS曲线、精确&召回曲线等指标,AUC等指标采用交叉验证的计算值,Lift、KS等采用的是验证集上计算出的指标。模型评估是我们评价模型好坏的标准,在预测数据集上也有同样的一个评估模块。在模型描述中我们有特征重要性查看和归因解释,我们可以看到在模型中排列在前面的一些特征,比如我们可以选择top
K进行重新建模,在以后收集数据时特别注重这些特征的完整性和正确性等。原因解释可以查看预测正确的样本的哪些属性占主要正向原因,哪些属性占主要的负向原因。还可以查看真实值和预测值相差最大的top
K个样本,查看是否是异常数据样本。

4、算法调参和模型评估的方法太多太成熟了,可以自己试着总结一份demo代码。

永利开户送38元体验金 9

04 部署及测试上线(Deployment)

模型描述中的特征重要度

关于模型部署,涉及到的步骤就没那么多了,主要分成:

永利开户送38元体验金 10

1、模型部署常用的就是pmml模型文件,所以你需要导出来给到后台开发小哥

小智部署怎么用

2、而在这之前,一般需要我们写好接口文档,确定好特征逻辑与部署节点,给到产品经理

最后的部署就比较简单了,确定最合适的训练模型,然后选择发布即可下载模型部署或者调用API,配合SDK使用进行预测就行了。一般小智可以通过数据源或
API 进行模型部署,其中数据源采用本地 CSV 文件。

3、自己在对应的平台上写sql,测试对数等,更多地,这一步考验的是模型开发者的细心程度,当然,熟悉的老司机会总结出合适自己的一套的变量上线套路,弯道超车

与一般工程师人工建模效果对比

4、模型文件部署到生产环境后,拿一些实际的单子进行AB
test,看下实际输出是否满足预期,没有问题就万事大吉,不然得细心从变量开发的逻辑开始检查

如下图所示,通过运用小智建立的广告点击预测模型,在预测集上的AUC 可达到
0.7294,能够较准确地识别出广告流量是否被点击,为广告投放提供了重要支持;分析团队在收集到相关数据后,利用小智平台能够在
1
小时内迅速构建出模型并完成预测;整个过程仅需要一名普通水平的数据分析师即可完成整个建模预测工作,不需要任何外部顾问,从而节约了大量成本。

05 模型闭环监控及继续优化(Feedback Improvement)

在实际应用中,小智不仅在广告推荐领域,还有包括金融、能源、医疗、新零售、物流、制造、游戏等众多领域的中都有很好的表现。

至于模型上线后,我们并不是就完全不管了,我们需要时刻监控模型的表现,对于排序模型,主要可以从下面几个角度去监控:

永利开户送38元体验金 11

1、排序性情况,比如评分卡模型,各个分组间的badrate是否仍存在单调性

小智在预测集上的AUC 达到 0.7294

2、分类占比,也就是各个类别的占比情况,如果出现与建模时候差异较大的情况,需要有所提示

一般的算法工程师,借助开源算法库sklearn中的GBDT、RF、LR、Adaboost,以及Xgboost五种算法模型进行建模分析。看到建模效果最好的模型是GBDT,AUC只有0.7108,小于小智自动建模的AUC
0.7294。

3、与模型相关的业务指标波动,有些模型会直接影响通过率或者是转化率的,通过这些指标也是可以看出异常

对比银行某产品推荐的人工建模效果

除此之外,评分卡模型一般一年左右就需要迭代或更换,需要时刻留意效果作出决策。

永利开户送38元体验金 12

建模场景:预测目标客户在1个月内购买产品的可能性;

建模规模:约3700万户;

建模数据:根据客户前一个月的表现,对5类产品的持有和未持有分开建立10个模型,每个数据集大小为200MB—8G;

建模效果:与行内建模团队模型效果基本相符。建模效率提升了近10倍,在合作银行中一个人工模型上线一般需要2月左右,小智只需要不到一周就能完成建模,且能和银行内已有应用系统无缝融合。

对同一模型评价指标的分值,评估级别计算方法为: /行内基线

永利开户送38元体验金 13

永利开户送38元体验金 14

相关文章