大数据之路读书笔记-07数据挖掘

大数据之路读书笔记-07数据挖掘


7.1 数据挖掘概述

进人 DT 时代,阿里巴巴作为全球最大的零售电子商务平台,正推动着大规模数据采集、计算、挖掘和产品化服务的生态圈构建。 2016年财报显示,阿里巴巴集团平台成交额突破3万亿元,年度活跃买家达4.23 亿,已成为全球最大的移动经济实体。与 Google Face bookAmazon 等世界上其他先进的互联网公司一样,高速增长的业务必然催生大数据挖掘应用的蓬勃发展。当我们从业务系统中能够轻松采集到海量数据时,往往会发现里面的有效数据信息却越来越稀疏,有效数据和无效数据的增长率是不成比例的。因此,如何从海量数据中挖掘出有效信息形成真正的生产力,是所有大数据公司需要面对的共同课题。

数据挖掘技术与数据仓储及计算技术的发展是相辅相成的,没有数据基础设施的发展与分布式并行计算技术,就不会有深度学习,更不会见证 AlphaGo 的神奇。同样在阿里巴巴集团,得益于阿里云 MaxCompute 云计算平台的发展,海量、高速、多变化、多终端的结构与非结构化数据得以存储并高效地计算。近年来,阿里巴巴数据挖掘应用也呈现出井喷式的增长态势。面向海量会员和商品的全局画像、基于自然人的全域ID-Mapping、广告精准投放平台、千人千面的个性化搜索与推荐技术、 非人流量与恶意设备的识别、商业竞争情报的自动化挖掘系统……这些或传统或新兴的大数据挖掘应用已深入阿里巴巴业务的各个环节,“无数据不智能,无智能不商业”,大数据与 AI/机器学习融合后的新商业革命己然到来。

基于大数据的企业级数据挖掘需要包含两个要素 ①面向机器学习算法的并行计算框架与算法平台;②面向企业级数据挖掘的算法资产管理体系。基于此,在接下来的章节中,我们会首先介绍阿里巴巴算法平台的发展历史,以及当下正在使用的算法计算框架和平台。然后阐述阿里巴巴的算法资产管理体系,领略企业级数据挖掘服务的标准、规范及资产管理艺术。最后将展示阿里巴巴当下最热门的一些数据挖掘应用案例,如消费者画像和互联网反作弊等,希望通过这些典型的应用案例,能让你更深层次地感知大数据、机器学习、人工智能融合后所产生的巨大能量及其在商业中发挥的巨大价值。

7.2 数据挖掘算法平台

2012 年以前,由于数据的规模还不是特别庞大,大部分挖掘应用所需处理的样本量在百万以内,而处理的特征一般也少于100 维,那时业界有许多成熟的商业挖掘软件如 SAS SPSS Clementine 等,这些单机版运行的软件已经能满足绝大部分挖掘应用的需求 ,因此早几年阿里巴巴尚没有研发面向海量数据的高性能并行计算的算法平台。然而,随着数据量爆炸式的增长,以及分布式计算 Hadoop Spark Storm技术的引人,阿里巴巴的商业挖掘应用 也步入大数据时代,和早几年不同,如今的挖掘算法需要面对的训练数据量动辄上亿,特征维度动辄百玩,因此,近两、 三年来,阿里巴巴集团也在大力发展自己的机器学习算法平台,并已取得阶段性成果。 如今,阿里巴巴已建成一套稳定、高效的算法平台,该平台架构于阿里云MaxCompute GPU 等计算集群之上,汇集了阿里巴巴集团大量优质的分布式算法,包括数据处理、特征工程、机器学习算法、文本算法等,可高效地完成海量、亿级维度数据的复杂计算。除此之外,平台还提供了一套极易操作的可视化编辑页面,大大降低了数据挖掘的门槛,提高了建模效率。未来还将面向外部客户开放,配合阿里云的其他基础数据设施,为外部企业提供数据挖掘应用的基础能力。
下面简单介绍阿里巴巴算法平台的框架和原理。

支持海量样本的高维特征训练是算法平台的必备要素,因此计算框架的选择非常重要。近几年来,业界主流的并行计算框架主要有Map Reduce MPI Spark 等。在阿里巴巴集团内部,基于 MapReduce Hive 的计算己经能解决公司业务 90% 以上的离线数据分析任务。而对于需要频繁进行网络通信、内存消耗高、计算要求快速迭代的算法任务, MPI 无疑是最佳选择。 MPI是一种基于消息传递的并行计算框架,由于没有 IO 操作,性能优于 MapReduce 。因此,阿里巴巴的算法平台选用 MPI 作为基础计算框架,其核心机器学习算法的开发都是基于阿里云 MaxCompute MPI 实现的。

MaxCompute MPI 的处理流程如图 .1 所示,与分布式计算系统的原理类似,不再赘述。其中伏羲为阿里云飞天系统的分布式调度系统,女娲为阿里云飞天系统的分布式一致性协同服务系统,盘古为阿里云飞天系统的分布式文件存储系统。在这里插入图片描述
基于 MaxCompute MPI ,目前阿里巴巴的算法平台已经集成了绝大部分业界主流的机器学习算法(见表 7.1 ),从传统的分类、聚类算法,到互联网应用中非常流行的协同过滤、 PageRank 算法,再到当前最火热的深度学习算法,这些算法基本可以满足企业级数据挖掘应用的需要。配合阿里巴巴的大数据计算平台 MaxCompute ,工程师们可以通过简易的命令式调用或拖拽式的可视化界面操作,将这些算法应用于自己的实际业务当中,体验机器学习算法与大数据结合后的强大功能与魅力。在这里插入图片描述

7.3 数据挖掘中台体系

在阿里巴巴集团,由于业务场景与商业智能分析需求的多样化,多个部门、多个商业智能及算法团队针对应用问题所提出的算法解决方案往往是独立的,通常一次数据挖掘的过程包括商业理解、数据准备、特征工程 、模型训练、模型测试、模型部署、线上应用及效果反馈等环节。如果对于每个应用都完全独立地设计这么一套流程,那么对于阿里巴巴成千上万的挖掘应用而言无疑将产生巨大的时间与经济成本,带来大量的重复建设和资源浪费。事实上,早在 2015 年,阿里巴巴集团便提出了中台战略,将一些通用的技术集成起来形成中台技术体系,为各业务部门提供统一、高效的技术服务,避免各业务部门在各自业务发展的过程中进行重复的技术建设造成不必要的资源浪费与时间消耗。对于数据挖掘技术而言,中台发展的思路同样适用,并且从长远来看,构建数据挖掘中台技术体系也是绝对有必要的。

就数据挖掘的商业场景而言,可以分为两大类应用:个体挖掘应用与关系挖掘应用。个体挖掘应用指对单个实体的行为特征进行预测与分析,如预测某商品的销量、划分某行业的价格区间等; 关系挖掘应用指研究多个实体间的关系特征,如商品的相似关系、竞争关系等。就数据挖掘技术而言,其包含两大要素:数据和算法。数据是数据挖掘的起源与挖掘结果最终的承载形式,可以说任何数据挖掘的过程都是从数据里来,回数据里去,源于数据而高于数据:算法是数据挖掘的神经中枢,通过算法对原始数据进行加工,得到对业务更有价值的数据。因此,对于数据挖掘中台体系的设计也包含两大块:数据中台与算法中台;结合数据挖掘的商业场景对这两大块的设计又分别从个体挖掘应用和关系挖掘应用两方面进行考虑。

7.3.1 挖掘数据中台

在数据挖掘的过程中包含两类数据:特征数据与结果数据。这两类数据很好理解,比如要预测某商品的销量,那么算法需要的特征变量其实就是特征数据,算法最终输出的商品销量的预测结果就是结果数据。对于特征数据,相信有一定数据挖掘工作经验的读者都知道,在挖掘项目中80%的时间可能都是在处理特征,这些特征的提取、清洗、标准化,以及基于业务场景的再组合和二次加工往往是我们工作内容的主体部分。试想,如果有一套标准、规范且索引方便的全局特征库,每个挖掘工程师只需访问几张物理表就能迅速地搜集到绝大部分自己想要的特征,是不是一件很酷的事情?同时,通过算法生成的结果数据也需要进行合理的分层存储。有的结果非常通用和基础化,可以在很多的业务场景中复用,有的结果则相对个性和场景化,只适用于某个具体的业务和产品,因此需要对结果数据进行合理的分层 ,有效隔离通用性强和个性化强的结果,这样可以充分发挥通用性强的算法结果的作用,提升它的复用率,减少不必要的重复建设。

基于以上分析,我们把数据中台分为三层 :特征层( Featural Data Mining Layer, FDM )、中间层和应用层( Application-oriented Data Mining Layer, ADM ),其中中间层包括个体中间层( Individual Data Mining Layer, IDM )和 关系中间层( Relational Data Mining Layer, RDM ),如图7.2 所示。在这里插入图片描述
不同数据层的作用有所区别
● FDM 层:用于存储在模型训练前常用的特征指标,并进行统一的清洗和去噪处理,提升机器学习特征工程环节的效率。
● IDM 层:个体挖掘指标中间层,面向个体挖掘场景,用于存储通用性强的结果数据,主要包含商品、卖家、买家、行业等维度的个体数据挖掘的相关指标。
● RDM 关系挖掘指标中间层,面向关系挖掘场景,用于存储通用性强的结果数据,主要包含商品间的相似关系、竞争关系,店铺间的相似关系、竞争关系等。
● ADM 层:用来沉淀比较个性偏应用的数据挖掘指标,比如用偏好的类目、品牌等,这些数据已经过深度的加工处理,满足某一特点业务或产品的使用。
通过挖掘数据中台的建设,能够大幅度节省数据挖掘特征工程的作时间,而中间层与应用层的分层设计则能更有效地管理通用的挖掘计算结果,大量减少重复的基础数据挖掘工作。

7.3.2 挖掘算法中台

算法是数据挖掘的神经中枢,算法使用的方式往往决定应用的成败。理解算法的原理不难,难的是在理解原理的基础上如何能结合业务合理地运用算法。很多开发者对算法了如指掌,但发现结合实际的业务仍然会有很多困难,甚至会踩很多地雷或陷阱。例如,在阿里巴巴会员画像的建设中会发现标注样本的缺失是个很普遍的问题,预测一个用户是否有小孩,用传统的分类方法看似是顺理成章的选择,然而有监督的分类算法需要有可靠的标注数据,这个样本从哪里来?即使采用调研的方式,面对淘宝4亿的活跃会员,也会显得十分苍白和无力。又如对销量预测,方法的选型本身就是一个很头疼的问题,即使是熟知回归分析各种算法的工程师,如果没有极佳的业务经验和数据洞察能力,对这个问题恐怕也没有太好的捷径找到最合适的方法。此时我们会想,如果能像金融领域的风控一样,有一套类似于评分卡建模的方法论和实操模板,那么处理业务问题的效率将会大大提升。而阿里巴巴数据挖掘算法中台建设的目的同样在于从各种各样的挖掘场景中抽象出有代表性的几类场景,并形成相应的方法论和实操模板。

按照个体挖掘应用和关系挖掘应用的分类方式,可以抽象出常见的几类数据挖掘应用场景一一在个体挖掘应用中,消费者画像与业务指标预测是两类非常有代表性的场景;而在关系挖掘应用中,相似关系与竞争关系是两类非常通用的关系挖掘应用,在此基础上构建推荐系统与竞争分析系统,则是电商领域持续关注的两大热门话题。在这里插入图片描述

7.4 数据挖掘案例

依托强大的云计算技术、算法平台与数据挖掘中台体系,近几年阿里巴巴集团沉淀了大量的电商数据挖掘案例并逐步形成以商家、消费者、商品为核心要素的全域数据挖掘应用体系。本节以淘宝市场上的消费者群体为例,介绍用户画像和互联网反作弊领域中的相关应用案例。

7.4. 1 用户画像

在阿里巴巴旗下的淘宝网、虾米音乐上都不乏个性化推荐场景,淘宝、天猫平台上的众多商家则需要通过用户调研和产品研发来把握产品的目标人群和人群偏好,从而对用户投其所好。对用户有深刻的理解是网站推荐、企业经营制胜的重要一环。在传统企业中,获取用户的反馈信息耗时长、结果缺失,是个难关。然而 随着大数据热潮的兴起,快速捕捉海量用户行为并精确分析人群偏好等商业信息已经成为可能。作为个性化技术的重要基础,相比于传统企业的购物篮分析、问卷调查,在用户画画像的塑造上具备技术的天然优势。

阿里全域数据提供了足够的数据基础,正是基于用户网购、搜索和娱乐影音等行为的数据洞察,可以利用数据分析辅以算法的视角对用户进行 360 全方位的特征刻画。那么,究竟什么是用户画像?通俗地讲,用户画像即是为用户打上各种各样的标签,如年龄、性别、职业、商品牌偏好、商品类别偏好等。这些标签的数目越丰富,标签越细化,对用户的刻画就越精准。例如,分析某用户为女性,可能仅仅是将与女相关的服装、个人护理等商品作为推荐结果反馈给该用 户:但若根据用户以往的浏览、交易等行为挖掘出进一步的信息,如用户的地理信息为海南,买过某几类品牌的服装,则可以将薄款的、品牌风格相似的服装作为推荐结果。

一般而言,用户画像可以分为基础属性、购物偏好、 社交关系、财富属性等几大类。对于刻画淘宝网购用户,则应侧重于他们在网购上的行为偏好。下面以用户女装风格偏好为例,讲解该用户标签是如何基于全域数据产出的。

购买过淘宝商品的读者对商品详情页都不会陌生,一件商品的关键特征除了反映在商品图片和详情页中以外,主要可以采集的信息是商品的标题以及参数描述。女装有哪些风格?首先需要将女装行业下的商品标题文本提取出来,对其进行分词,得到庞大的女装描绘词库。然而淘宝商品的标题由卖家个人撰写,并不能保证其中的词语都与商品风格描述相关。因此,对于所得到的女装描绘词库,首先,需要根据词语权重去除无效的停用词,方法如计算 TF-IDF 值。其次,在女装商品的参数描述中,如果已经包含了一种商品风格,例如“通勤”“韩版”等常见风格,那么通过计算词库中词语与参数描述中风格词的相似度,可以过滤得到女装风格词库,利用无监督机器学习如 LDA 等方法可以计算出一种风格所包含的词汇及这些词汇的重要性。那么买家偏好什么风格昵?在淘宝网上,买家拥有浏览、搜索、点击、收藏、加购物车以交易等多种行为,针对每种行为赋予不同的行为强度(比如浏览行为强度弱于交易行为),再考虑该商品的风格元素组成,就能够通过合理的方式获知买家对该风格的偏好程度了。

对于这样的商品偏好计算,数据挖掘人员需要仔细分析用户偏好的商品的类型、品牌、风格元素、下单时间,这一系列行为可以构成复杂的行为模块。同理,利用机器学习算法,可以从用户行为中推测其身份,例如男生和女生、老年与青年偏好的商品和行为方式存在区别,根据一定的用户标记,最后能够预测出用户的基础身份信息。

7.4.2 互联网反作弊

在人们享受互联网带来的便捷和高效时,有一批人将其黑手伸向了这一领域,他们利用某些网站的技术和业务漏洞进行作弊,从而满足自己的灰色利益需求。可以看到,作弊黑产业链的滋生与发展使得人们的信息安全、资金安全,甚至人身安全面临着严重威胁。从业务上看,反作弊工作主要体现在以下几个方面:
(1 )账户/资金安全与网络欺诈防控
账户的安全性越来越重要,尤其是购物和理财的网站或 APP ,其账户以及资金的安全更是维持用户信任的最后一道防线。账户隐私数据的泄露和非法交易问题不容忽视。
(2 )非人行为和账户识别
大量的非人行为和账户利用自动化程序来模拟人的注册、浏览、点击等行为,帮助一些商家达到提升商品排名或者攻击竞争对手的目的。
(3 )虚假订单与信用炒作识别
在平台类电商网站中,随着商家之间的竞争升级,虚假订单和信用炒作逐渐成为许多商家依赖的竞争手段。当下,虚假销量与 GMV 正在毒害健康的经营环境。
(4 )广告推广与 APP 安装反作弊
正当大量的企业开始投入人力和财力进行公司产品和品牌的宣传推广时,也有人通过自动化程序或者人工的方式产生虚假的点击和浏览行为,以此打击竞争对手,或者是从中获取直接的经济利益。同样在无线端,在 APP以CPA 主要推广结算方式的情况下,大量的专业刷装机量的公司为很多 APP 产生虚假的装机量数据,以此达到各方获取不正当利益的目的。
(5) UGC 恶意信息检测
用户在各类网站上产生的 UGC 信息,本可以帮助网站更好地了解用户的使用习惯以及潜在需求,帮助优化网站或者产品。但是,很多人却利用文本、图片、声音、视频等内容的复杂性和多样性,恶意传播色情、诈骗、谣言、暴力等不正当信息,给互联网环境造成了很大的威胁。

随着作弊场景和手法的不断变化,各个维度的安全技术也在不断升级保护正常用户免受黑色利益链条的侵害,其中包括物理安全、网络安全、应用安全、数据安全等方面。在数据安全的保障工作中数据挖掘算法也扮演着十分重要的作用。从所采用的算法技术上说,反作弊方法主要包括如下几类:
( l )基于业务规则的方法
这类方法主要是根据实际的业务场景,不断地发现总结作弊和获利手法,通过反作弊规则的不断拓展或产品设计的完善来识别、缓解甚至消除作弊现象。比如在电商产品的搜索排名中,对刷单的销量采取类似于降权的处理方式,避免市场秩序受到影响,以此减少商家的刷单行为带来的不正当利益。或者是在 APP 安装反作弊工作中,通过查看单个设备的单日出现城市数、登录账号数、设备 id 合法性等建立规则来衡作弊情况。
这类方法的优点是精度高、可解释性强,能准确识别老的作弊方式;缺点是人力成本高,而且对新的作弊手法滞后性较强。
(2 )基于有监督学习的方法
将基于有监督学习的方法应用于反作弊工作中,其基本思路是按照有监督分类算法的流程来建模,通过正负样本标记、特征提取、模型训练及预测等过程来识别作弊行为。比如在账户反欺诈场景下,以账户的属性信息和行为数据作为模型特征输人,以历史的欺诈事件作为标记样本,通过训练分类模型对当前账户的作弊风险进行预测评估。
但在反作弊领域内,此类方法遇到的最大问题是类不平衡现象。因为绝大多数用户及行为都是正常的,只有少数一些用户及行为是恶意的。比如相对于正常用户的转账行为,资金欺诈行为数量是极少的,但是这些极少的行为可能给用户带来无法挽回的经济损失。为了缓解这题,我们会在采样或者模型训练过程中进行一些技术处理,以减少类不平衡给识别结果造成的影响。
这类方法的优点是通用性强,人力成本主要集中在样本的标记和特征的处理上;缺点是有些算法结果的可解释性不强,容易造成错判,需要辅以其他指标和方法进行综合判断。
(3 )基于无监督学习的方法
在此类方法中较常见的是异常检测算法,该方法假设作弊行为极其罕见且在某些特征维度下和正常行为能够明显地区分开来。所以,假设检验、统计分析、聚类分析等手段常被用来做异常检测。比如我们发现账户的网站访问时间段分布有一定的规律,和人们日常的作息时间具有相关性,如果某个账户长期在凌晨发生大量的访问行为且转化率较低,那么就需要适当提高对应账户的风险等级。可以采用类似于上述算法,然后辅以一定的业务知识来综合判断行为的风险情况。

此类方法的优点是不需要标记正负样本,而且检测到的异常行为还可以沉淀到规则系统中;缺点是特征设计和提取的工作量大,需要在所有可能的风险维度下刻画行为特征。

除了上述方法外,类似于多媒体数据处理、图计算模型等方法也逐渐被用来处理反作弊问题。
此外,在实际应用中,上述几种方法并不是完全割裂的,有可能一个完整的反作弊系统会同时使用所有方法。而且,除了算法理论方面的工作外,在算法实现方面我们还会遇到很多问题,因此算法的实际应用工作也是十分重要的。这部分工作主要分为以下两个方面:
( 1 )离线反作弊系统
离线反作弊系统主要包含规则判断、分类识别、异常检测等模块,通过历史行为和业务规则的沉淀,来判断未来行为的作弊情况。其优点是准确率较高, 所使用的历史数据越多,判断结果越准确:缺点是时效性较差,无法及时给出判断结果。
(2 )实时反作弊系统
随着在某些场景下对时效性要求的不断提高,人们逐渐发现实时反作弊系统的必要性和重要性。所以,将离线中的许多规则和算法进行总结,在基本满足准确率和覆盖率的前提下抽取出其中计算速度较快的部分,以此来满足对实时性的要求。但是要求高的实时性可能要以一定的准确率为代价,而且由于数据需要进行实时采集和计算,所以对数据存储和计算系统的性能要求也非常高。

通过对现有的作弊以及反作弊相关内容的介绍,我们可以看到,这领域的很多问题暂时未得到解决,未来还面临着诸多挑战。比如:
(1 )作弊手段的多样性和多变性
随着黑产公司的规模化和“正规”化,作弊与获利手段的多样性和多变性越来越明显,而反作弊系统如何能更及时地发现识别出新的手法和灰色利益链条,这是挖掘算法所面临的一个重要挑战。
(2 )算法的及时性和准确性
由于普通用户的隐私和安全意识越来越强,所以反作弊系统的准确性和及时性要求越来越高,不仅要尽可能减少误判的情况,还需要及时发现真正的作弊行为,在给用户造成更大的损失之前对其实施有效的控制措施。
(3 )数据及作弊手段的沉淀和逆向反馈
随着反作弊系统的升级改造,算法工程师无论在业务还是算法上都积累了相当多的数据和经验,如何将这些作弊手法以及反作弊手段进行通用性的沉淀,以及高效地逆向反馈到新的反作弊系统中,保证算法能紧跟市场脚步,也是反作弊工程师需要考虑的重要问题。
大数据时代为人们带来了丰富的基础数据和应用方式,也对信息安全提出了更高的要求,相信数据挖掘领域的不断发展能为这 方面的作带来创新和突破。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值