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

本文将通过大量案例和通俗易懂的“人话”,讲述机器学习建模逻辑和使用场景,让非数据科学专业的职场人都可以快速了解机器学习是什么,能做什么,如何用!

从AlphaGo战胜李世石开始,AI迎来了新一轮爆发增长,2018年,全球人工智能市场规模达到了73.5亿美元,各个行业和领域几乎都被AI渗透,各国对AI人才的争夺也正愈演愈烈。
《中国人工智能发展报告2018》显示:专利上,中国已经成为全球人工智能专利布局最多的国家,数量略微领先于美国和日本;产业上,中国的人工智能企业数量排在全球第二,北京是全球人工智能企业最集中的城市。
全球知名创投研究机构CB Insights评选出了100家最有前途的AI公司,国内的商汤科技,旷视科技,第四范式等6家公司杀入到榜单中,同时各大互联网公司都在构建自己的AI实验室。一方面通过AI技术挖掘用户数据,通过+AI,优化现有业务,另一方面探索AI应用新场景,研发新产品,完成AI+,为企业寻找全新的增长引擎。
笔者有幸参与了一个机器学习建模实验室项目,项目的本质是抽象机器学习建模流程,将机器学习建模过程组件化,通过在画布上对组件(算子)灵活连接,让非专家用户(不会写代码,不熟悉算法模型和调参的产品经理,市场运营,行政财务等职场人)可以快速搭建机器学习模型,实现业务预测,极大降低机器学习应用门槛。
通过近十个月的学习和实践,笔者对机器学习有了初步理解,本文将通过大量案例和通俗易懂的“人话”,讲述机器学习建模逻辑和使用场景,让非数据科学专业的职场人都可以快速了解机器学习是什么,能做什么,如何用!
本文共分为四个部分:

  • 第一部分、介绍关于AI的常见误区,回答机器学习是什么,可以用来做什么,怎么用;
  • 第二分部、介绍机器学习为业务赋能的6个步骤,及非专家用户的应用难点和解决方案;
  • 第三部分、通过案例介绍二分类,聚类和回归模型如何应用;
  • 第四部分、介绍机器学习模型的主要应用场景和立项模板。

一、关于AI的几个误区

1. 只有那些科技公司才能应用AI技术?

这一轮AI的火爆始于AlphaGo战胜李世石,随后,智慧城市,智慧生活,智慧办公和智慧医疗等概念可谓是铺天盖地,在各种媒体上能看到各种AI的高大上应用场景,如阿里的鹿班系统双十一时每秒设计8000张海报,无人驾驶汽车在部分城市指定路段上路测试,机器人索菲亚获得了沙特“公民”身份,滴滴利用AI模型预测城市不同位置用车需求,AI读片进入各大医院辅助医生判断癌症,各种报道 让一些非AI相关领域从业者感觉其过于高大上,似乎离自己很远。
但笔者认为AI的价值不仅于此,各行各业其实都可以利用AI技术优化现有服务流程,提升效率。
笔者结合自身理解,举一些机器学习在非互联网公司中的常见应用场景。

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

除了上述场景外,只要业务需求可以抽象成分类预测问题,数值预测问题,都可以考虑利用机器学习辅助决策。

2. 使用AI技术必须掌握数学和python?

DT(Data technology)时代到来,企业在互联网+的过程中积累了大量的数据,而AI技术就是帮助企业将这些数据有效利用起来的重要工具。
《中国ICT人才生态白皮书》显示:到2018年底,我国人工智能人才缺口将突破100万,到2020年,这个数字将攀升到226万, 笔者认为,这个数字描述的是AI应用型人才,也就是知道如何利用AI技术优化现有业务的职场人,非人工智能从业者都会对其产生恐惧。
当我提到AI一般人闹钟都会出现两幅画面,如下所示:
=TP/P=sensitive,可以看到召回率与灵敏度是一样的。
正确率(accuracy): 是我们最常见的评价指标,accuracy = (TP+TN)/(P+N),这个很容易理解,就是被分对的样本数除以所有的样本数,通常来说,正确率越高,分类器越好。
f1 :是统计学中用来衡量二分类模型精确度的一种指标。它同时兼顾了分类模型的准确率和召回率。f1分数可以看作是模型准确率和召回率的一种加权平均,它的最大值是1,最小值是0。f1=2precisionrecall/(precision+recall)
根据模型效果可以将模型分成二分类模型,多分类模型,回归模型,时间序列模型,聚类模型,推荐模型,笔者尝试通过案例一句话介绍常用模型应用场景,并附上通俗易懂的拓展阅读材料,帮助大家更深刻的理解这些模型可以如何应用。
二分类: 可以把预测目标抽象成两类,如预测是否患有心脏病,预测用户对某个产品是否感兴趣,可以将预测结果抽象成0和1。阿里PI平台提供了心脏病预测案例https://help.aliyun.com/knowledge_detail/34929.html
多分类: 可以把预测目标抽象成多个类别,如预测用户年龄段等,一般情况会将多分类问题转化成二分类处理。
回归: 预测某个时间点数值的模型,如预测房价,预测产品价格等。典型案例是预测波士顿房价。https://blog.csdn.net/Teresa_Xin/article/details/79204769
时间序列: 预测某一段时间多个数值的模型,如预测未来一周每天股票价格,预测未来一段时间最高气温。
聚类: 无监督学习,数据无需标签,根据设定分组数自动进行分组,通过观察分组数据特征给用户分群打标,常用于用户分群,案例青少年市场细分。http://cookdata.cn/note/view_static_note/201ad8d4a6c12768f7f79754a45e1b77/
推荐模型: 经典推荐模型是协同过滤,协同过滤分为两类,基于产品的协同过滤和基于用户的协同过滤。基于产品的协同过滤是用户A喜欢苹果,然后通过算法计算出其他水果与苹果的相似度,然后进行推荐给A;基于用户的协同过滤是用户A喜欢苹果,将同样喜欢苹果的用户B喜欢的额其他产品推荐给A。推荐阅读文章https://www.jianshu.com/p/e56665c54df8
不同类模型的常用算法如下图所示,希望读者们再看到这些抽象模型名字后莫慌,可以思考他们处理哪类,一步步思考如何应用。
1.2 回归模型(XGBOOST-预测波士顿房价)
前文中提到预测具体数值的模型可以称为回归预测,本案例也是经典回归预测案例,数据集大家可以到UCI机器学习知识库下载,波士顿房屋这些数据于1978年开始统计,共506个数据点,涵盖了麻省波士顿不同郊区房屋14种特征的信息。包含城市人均犯罪率,住在用地所占比例,城镇中非商业用地所占比例,CHAS查尔斯河虚拟变量,环保指数,没懂住在的房间数等特征,标签特征为自住房屋价格的中位数。
数据预处理和特征工程与二分类相似,回归模型评估模型效果的指标有几个,SSE,MSE,RMSE,R-square,这个案例中我们通过运算决定系数R-square来量化模型的表现,决定系数是回归分析中十分常用的统计信息,经常被当作衡量模型预测能力好坏的标准。
R-square数值范围从0至1,表示目标变量的预测值和实际值之间的相关程度平方的百分比。一个模型的R-square 值为0还不如直接用平均值来预测效果好,而一个R-square 值为1的模型则可以对目标变量进行完美的预测。从0至1之间的数值,则表示该模型中目标变量中有百分之多少能够用特征来解释。
1.3 聚类模型(Kmeans-聚类高中生分群)
聚类模型是无监督模型,我们以前文中提到青少年市场细分为例,通过对30000个美国高中生社交网络信息数据集聚类,实现用户分群聚类,按照前文中所使用的异常特征平滑,归一化,类别特征编码,onehot等步骤,完成数据预处理和特征工程,模型我们选用常用聚类模型K-means,我们选择将数据聚成5类。
从结果来看我们将数据聚成了5组,如下图所示:

因为没有标签,我们需要查看每一个聚类中心的变量取值从大到小进行排序。 通过观察每个聚类前10个变量来分析聚类所代表的群体,所以我们需要通过分析聚类结果来确定分群用户有哪些类似爱好和特点。
通常情况下,用户分群可以基于规则认为设定,而聚类模型的聚类特征可以作为分类模型和回归模型的特征接入模型。
举例来说:当我们要基于用户活跃度指标进行用户分群时,我们可以考虑将所有跟活跃相关的特征作为训练特征,然后设定分群数,通过聚类模型完成分群后分析分群数据特征,进而实现用户打标。

2. 非专家用户的门槛在哪里

2.1 不会写代码
写代码可以说是很多非程序员眼中巨大的门槛,其实python相比于大学时普遍学习的C或java简单很多,大量的服务和实现已经封装成包,通过import引用即可应用,现在很多小学都开始普及编程,很多少儿编程辅导机构可以让孩子快速使用python完成深度学习,甚至实现玩具汽车的无人驾驶。
而且前文中提到,大量的可视化建模工具和自动化建模工具出现,这将极大降低AI技术应用的门槛。其实从前文中的建模流程不难看出,算法工程师也需要先熟悉业务才能开始建模,这部分来看,如果有工具可以解决建模过程那么业务人员对业务的理解将更加深刻。所以还是建议对这方面感兴趣的同学可以打破心理枷锁,咬牙学一下python,前10个小时可能很痛苦,但是掌握了后续就非常简单了。
注:并不是算法同学不重要,真正高级的建模一定是结合业务理解和统计学知识的特征构建,而不是简单聚合和转换,组件化和自动学习可以让企业快速应用模型,实现一定程度的提升,但是进一步的模型优化一定需要专业经验的算法同学介入。
2.2 不会调参
模型有很多参数,如树模型的树的棵树,树的最大深度,学习率,随机种子等,非数据学相关专业的同学看到可能直接懵逼,但是现在主流的建模平台都提供了自动调参功能,自动学习工具甚至提供了根据上游数据结构进行自动调参,所以这部分不用恐惧,跟着样例做几次就知道了。
2.3 不会做特征工程
所谓特征工程是将特征日志或多系统数据“拍平”成模型可用的特征,并对特征进行各种变化拓展,通常算法工程师会将几个业务特征拓展成几百个特征,下面笔者简单介绍一下特征如何“拍平”和拓展。
日志数据和业务数据通常是根据时间维度,多个主键列表,如电商订单数据,用户A可能有几十条购买订单记录,建模的预测是对单个主键进行预测,所以需要将多条订单“拍平”,也就是用户A的手机号或者系统ID合成一条记录,那么多条记录如何合并呢?
这就是设计到特征拓展,比如可以设定一个时间段内用户A的订单数,购买总金额,购买A产品的数量,购买B产品的数量,单笔订单最大支付金额,单笔订单最小支付金额,订单平均间隔,订单最大间隔等,将单挑记录通过最小,最大,平均等维度拍平后,需要对类别特征变换,常用的特征工程方法有类别特征编码,onehot,离散化等操作。
类别特征编码是指将业务类别特征变成数值,如使用优惠券满减,直降和未使用可以标记为0,1,2;onehot编码是将类别特征变成使用0和1表示的特征,如将上述优惠券一个特征变成了0,0,1和0,1,0,和1,0,0三个特征;离散化是指将连续的特征变成类别特征,如对年龄分段,0-10岁定为0,11-20定为1,以此类推,就可以对年龄特征变成一个类别特征,然后再做onebot。
注:数据拍平对于非专家用户很难处理,但是我参与的项目已经找到了解决方案,可以将多张表根据关联关系和数据类型自动化拍平成为模型可用特征,相信其他平台也会提供这项服务,笔者认为,这是制约非专家用户应用机器学习模型的一大门槛,和下文中提到的标签工程类似。
2.4 不会做标签工程
前文中提到的心脏病预测,泰坦尼克号生还预测,房价预测都是自带标签,但很多时候,数据中没有办法直接拥有这种分类或者数值属性的标签,通常使用滑窗法制作标签。
如下图所示,我们要预测7月份用户是否有购买商品A的欲望,我们可以使用2,3,4月三个月的数据作为训练数据,5月的数据作为标签数据制作训练集。因为5月份我们知道用户是否购买了A产品,然后再用3,4,5三个月的数据作为训练数据,通过6月份用户是否购买A产品作为标签,这样我们可以用历史数据完成模型训练,然后应用于对用户7月份是否购买某商品的预测。

四、AI项目立项模板

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

如前文所述,在启动AI项目之前,要梳理商业逻辑,分析现有的痛点,将痛点拆解为目标,模型围绕目标去构建。常见的目标有提升营销效率,实现精准化营销,减少用户干扰,减少用户流失,提升转化率,提升ROI等。
笔者发现所有的AI项目都会涉及到用户或客户画像,因为构建模型的特征一版包含三部分:一部分是用户的静态信息,一部分是用户的行为和交易信息,一部分是用户应用的场景信息。
而用户的景泰信息和一些行为信息都可以抽象为用户画像,所以很多AI项目的目标还包括为用户或客户构建画像,便于产品和运营方更加理解自己的服务对象。

2. 项目架构

利用机器学习的项目架构类似,大家可以参考CDP系统项架构来完成项目的整体架构设计,笔者简单结合自己的理解简单搭建一个项目架构作为参考。

3. 技术架构

笔者与工程同学和算法同学沟通,了解到一些建模平台的底层技术,构架如下图所示。
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。Hadoop实质上更多是一个分布式数据基础设施: 它将巨大的数据集分派到一个由普通计算机组成的集群中的多个节点进行存储,意味着您不需要购买和维护昂贵的服务器硬件。
Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度。
Spark,是一个专门用来对分布式存储的大数据进行处理的工具,它并不会进行分布式数据的存储。
Hbase是Hadoop database,即Hadoop数据库。它是一个适合于非结构化数据存储的数据库,HBase基于列的而不是基于行的模式。
Hive基于数据仓库,提供静态数据的动态查询。其使用类SQL语言,底层经过编译转为MapReduce程序,在Hadoop上运行,数据存储在HDFS上。

4. 项目规划

通常来说机器学习类项目一期多为构建用户画像,二期结合画像和用户标签体系构建模型,设计试运行策略,根据实际效果对模型进行调优。可以根据不同的业务痛点构建多个模型,逐步构建起一整套模型体系,辅助决策。

5. 应用场景

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

6. 模型效果评估方法

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

因为部分内容涉及公司业务,不便于举例说明,文中多数案例均为初学者常见案例,大家可以搜索到相关内容。
本文仅将笔者近一年的收获和思考进行梳理总结,希望对各位读者有所帮助。笔者还在学习深度学习,NLP,推荐系统等相关AI知识,AI产品经理当下来看属于产品经理全新的一个细分门类,希望可以与同行们多多交流学习~
作者
田宇洲(微信公众号:言之有术),北京大学软件工程管理硕士,北京电信4年产品经理,负责B2B电商平台的前后端产品设计,擅长游戏化产品设计,挖掘用户画像。

关键字:AI人工智能


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部