万字干货|一篇文章助你了解机器学习

图灵汇官网

前言

自从AlphaGo战胜李世石以来,人工智能(AI)迎来了新一轮的增长高峰。2018年,全球人工智能市场规模达到了73.5亿美元,各行各业几乎都被AI所渗透。各国对AI人才的需求日益增加。《中国人工智能发展报告2018》显示,中国已成为全球人工智能专利最多的国家,数量略高于美国和日本。此外,中国的人工智能企业数量位居全球第二,北京则是全球人工智能企业的聚集地。全球知名创投研究机构CB Insights评选出的100家最有前途的AI公司中,国内有六家企业入选,包括商汤科技、旷视科技和第四范式等。各大互联网公司纷纷建立自己的AI实验室,一方面利用AI技术挖掘用户数据,优化现有业务,另一方面探索新的应用场景,研发新产品。

一、机器学习建模实验室项目

笔者有幸参与了一个机器学习建模实验室项目,该项目的核心在于抽象机器学习建模流程,将机器学习建模过程组件化。用户可以在画布上灵活连接组件(算子),使非专家用户(不会写代码、不熟悉算法和调参的产品经理、市场运营、行政财务等职场人士)能够快速搭建机器学习模型,实现业务预测,大大降低了机器学习应用的门槛。

通过近十个月的学习和实践,笔者对机器学习有了初步的理解。本文将通过大量案例和通俗易懂的语言,讲述机器学习建模的逻辑和应用场景,让非数据科学专业的职场人士也能快速了解机器学习是什么,能做什么,以及如何使用。

二、关于AI的几个误区

1、只有科技公司才能应用AI技术?

AI技术的应用并不限于科技公司。各行各业都可以利用AI技术优化现有服务流程,提升效率。例如:

  • 会员智能化应用:基于历史数据进行精准营销,个性化优惠券下发,流失预警,新会员转化路径配置等。
  • 商品智能化应用:预测销售量、库存量、订单量,关联销售,优化供应链,预测市场容量,新品定价,设定折扣策略和作弊检测。
  • 异常分析:订单异常分析,用户异常分析,机械故障预测,羊毛党分析,动态预警分析等。

2、使用AI技术必须掌握数学和Python?

AI技术的应用并不需要掌握复杂的数学和编程技能。如今有许多组件建模平台,可以通过简单拖拽的方式进行建模,无需编写代码。复杂的数学公式也被封装成算子组件。例如,亚马逊AWS、微软AZURE、R2.ai等国外平台,以及国内的阿里云PAI、第四范式的先知平台等,都是类似的工具。此外,深度学习建模过程也被封装成组件化建模。例如,国外的DeepCognition和国内即将上线的阿里云PAI新版本都支持深度学习组件化建模。如果觉得组件化仍显复杂,自动化建模也是一个趋势。例如,国外的DataRobot就是一个典型的例子,只需上传带有标签的CSV数据,选择标签并点击开始,系统会自动从数千开源模型中选择100个模型进行自动化调参训练,选出最优模型,并生成易于理解的专业报告。

3、AI相关的抽象概念太多,让人不明觉厉?

AI的许多抽象概念确实让人感到难以理解,但实际上,这些概念可以通过简单的类比来解释。例如,传统的机器学习和深度学习之间的关系,可以用一个包含多个分支的树来表示。本文将尝试用通俗易懂的语言解释这些概念,帮助读者更好地理解AI技术。

三、机器学习项目流程

1、机器学习为业务赋能流程

  • 商业理解:明确商业问题和数据挖掘目标,通过与业务和运营人员沟通,理解商业问题背景,评估所需资源,设定适合的机器学习应用场景。
  • 数据理解:根据商业痛点和目标,梳理企业内部和外部数据,确定建模所需数据,明确数据业务指标的含义和使用规则。
  • 数据准备:将数据集合成大宽表或创建数据集市,对数据进行清洗、转换、校验,处理数据缺失值和异常值,完成特征工程。
  • 数据建模:选择合适的模型算法,实现数据挖掘目标,通过样本选取确定训练集、验证集和预测集数据,完成特征筛选、模型训练和调参,模型预测评估。
  • 模型评估:全面应用模型进行预测,判断是否实现商业目标,通过科学的A/B测试,对预测效果进行评估分析。
  • 模型部署:将验证有效的模型应用于商业环境,监控与维护模型,实时跟踪模型效果,验证商业目标达成情况。

2、常规建模流程

  • 数据提取:从业务系统或日志系统提取数据。
  • 数据预处理:处理缺失值和异常值。
  • 特征工程:将类别特征转换成数值,使用One-Hot编码等方法。
  • 模型训练和调参:选择合适的模型算法,进行训练和调参。
  • 模型预测和评估:使用训练好的模型进行验证数据预测,根据效果继续调参。
  • 模型应用和效果评估:将模型应用于真实业务,通过A/B测试验证效果。
  • 模型优化:随着业务拓展和环境变化,进行持续调优。

四、模型应用实例

1、二分类模型(逻辑回归-泰坦尼克号预测生还概率)

使用组件化建模工具进行建模,处理缺失值和异常值,对数据进行预处理和特征工程,使用逻辑回归模型进行预测。最终预测结果准确率为0.7799。

2、回归模型(XGBoost-预测波士顿房价)

使用波士顿房价数据集,进行数据预处理和特征工程,选择XGBoost模型进行预测。通过R-square指标评估模型效果。

3、聚类模型(K-means-聚类高中生分群)

使用K-means模型对30000名美国高中生的数据进行聚类,将数据聚成5组。通过分析聚类结果确定分群用户的特点。

五、非专家用户的门槛

1、不会写代码

写代码是很多非程序员眼中的巨大门槛,但实际上,Python相对于大学时普遍学习的C或Java要简单得多。大量的服务和实现已经被封装成包,通过导入即可使用。很多可视化建模工具和自动化建模工具的出现,极大降低了AI技术应用的门槛。

2、不会调参

模型有许多参数,如树模型的树的棵数、树的最大深度、学习率等。但主流建模平台提供了自动调参功能,通过样例操作即可掌握。

3、不会做特征工程

特征工程是将特征数据“拍平”成模型可用的特征,并进行各种变化拓展。例如,对订单数据进行合并,设定时间段内的订单数、购买总金额等特征。类别特征编码、One-Hot编码和离散化是常用的特征工程方法。

4、不会做标签工程

标签工程通常使用滑窗法制作标签。例如,预测7月份用户是否有购买商品A的欲望,可以使用2、3、4月的数据作为训练数据,5月的数据作为标签数据制作训练集。

六、AI项目立项模板

1、商业痛点分析及目标分解

梳理商业逻辑,分析痛点,将痛点拆解为目标,围绕目标构建模型。目标包括提升营销效率、实现精准化营销、减少用户干扰、减少用户流失、提升转化率、提升ROI等。

2、项目架构

利用机器学习的项目架构类似,可以参考CDP系统项目架构。

3、技术架构

使用Hadoop、YARN、Spark、HBase、Hive等技术架构进行数据处理和分析。

4、项目规划

构建用户画像,结合画像和用户标签体系构建模型,设计试运行策略,根据实际效果对模型进行调优。

5、应用场景

结合具体应用场景,描述如何将模型嵌入到现有业务流程中。

6、模型效果评估方法

通过A/B测试进行验证,选择两组用户,一组保持原有运营或产品策略,另一组使用机器学习模型推荐策略,通过业务周期的观察,对比两组用户的效果评估指标变化。

本文通过以上内容,旨在帮助读者更好地理解和应用机器学习技术,希望对各位读者有所帮助。

本文来源: 图灵汇 文章作者: 陈绍冰