AI时代,数据挖掘过时了吗?—企业数据挖掘成功之道(理论篇)
2019-06-06 15:21:05
次
大数据时代、人工智能时代,机器学习、人工智能、深度学习、集成学习……概念漫天飞,数据挖掘似乎成为一个过时技术和概念。今天小编结合多年专业学习与研究经验,从实践应用的角度重新梳理一下“数据挖掘”,让您能够抛开概念了解本质!
数据挖掘(Data Mining)隶属于知识发现(KDD)的范畴,是(划重点)基于人工智能、机器学习、模式识别、统计学和数据库等交叉方法,在数据中特别是大数据及海量数据中发现规律的过程,是从一个数据中提取、融合、处理信息,并将其转换成可理解的结构数据、可视化的分析图表、可解释的规律结论,以进一步响应业务分析的需求。它不是一个简单的概念或者技术,而是一种解决问题的思路和方法,是一个知识综合应用的技术集合。
数据挖掘涉及知识面广,技术点多。在面对复杂多样的业务分析场景时,如何做出有效的数据挖掘分析方案其实是有一套可遵循的方法体系。针对不同的分析数据和业务场景,数据挖掘的方法可以分为监督学习、无监督学习、半监督学习、增强学习,每种方法都有其适应的分析场景和数据基础。
监督式学习是基于标签化的训练资料学习或建立一个映射模式, 依此模式推测新的实例;它包括:分类、回归、估计等。 注意,定义强调‘标签化的训练资料’,这就要求分析的样本数据是有标注的。
半监督学习是指训练集同时包含有标记样本数据和未标记样本数据,并且不需要人工干预,让学习器不依赖外界交互、自动利用少量的标注样本和大量的未标注样本进行训练和分类。半监督学习对于减少标注代价,提高学习器性能具有非常重大的实际意义。
无监督学习是指没有给定事先标记过的训练示例,自动对输入的数据进行分类或分群,包括:聚类、关联规则分析、部分统计分析等。
增强学习(Reinforcement learning)即强化学习,强调基于环境而行动,以取得最大化的预期利益。它采用的是边获得样例边学习的方式,在获得样例之后更新自己的模型,利用当前模型来指导下一步行动,例如博弈论、控制论、仿真优化、群体智能。
明确了业务分析场景和数据挖掘的方法,接下来就要思考如何完成数据挖掘分析的目标。一般情况下,基于一定的业务场景和挖掘分析目标,数据挖掘的基本流程可以总结为以下几个阶段:数据探索、数据预处理、数据建模、模型评估和模型部署应用。
数据探索
数据探索是对建模分析数据进行先导性的洞察分析,利用绘制图表、计算某些特征量等手段,对样本数据集的结构特征和分布特性进行分析的过程。 该步骤有助于选择合适的数据预处理和数据分析技术,它是数据建模的依据,比如:数据探索发现数据稀疏,建模时则选择对稀疏数据支持相对较好的分析方案;如果数据包含文本数据,建模时则需要考虑基于自然语言处理相关技术等。
数据预处理
数据预处理是将不规整的业务数据整理为相对规整的建模数据(比如,数据缺失处理、异常值检测处理等操作)。数据的质量决定了模型输出的结果,即数据决定了模型的上限,所以我们需要花大量的时间来对数据进行处理。在数据预处理阶段,如果数据存在缺失值情况而导致建模过程混乱甚至无法进行建模,则需要做缺失值处理,缺失值处理分为删除存在缺失值的记录、对可能值进行插补及不处理3种情况;如果建模数据存在数据不均衡情况,则需要考虑数据平衡处理,解决这一问题的基本思路是让正负样本在训练过程中拥有相同的话语权,比如利用采样和加权等方法;如果分析数据量较大,而建模分析又不强制全部数据参与建模分析(比如统计分析随机选取部分数据作为分析对象),或者建模过程需要全量样本的部分数据,则需要做数据抽样,包括随机抽样、等距抽样、分层抽样等方法;如果建模分析数据存在量纲、数量级上的差别,则需要做数据规约处理消除量纲数量级的影响;如果异常数据会对分析结果影响巨大,则需要做异常值检测处理排除影响。
特征工程
理论上,数据和特征决定了模型的上限,而算法只是逼近这个上限而已,这里的数据指的是经过特征工程得到的数据,因此特征工程是我们进行机器学习必须重视的过程。特征工程的目的是最大限度地从原始数据中提取特征以供算法和模型使用。一般认为特征工程包括特征选择、特征规约、特征生成三个部分。其中,特征选择在降低模型复杂度、提高模型训练效率、增强模型的准确度方面影响较大;在建模字段繁多的情形下,通过特征规约降低建模数据维度,降低特征共线特性对模型准确度的不利影响,从而提升模型的训练效率;特征生成是在特征维度信息相对单一情况下为了提升模型准确性能而采取的维度信息扩充的方法体系。
数据建模
数据挖掘的核心阶段是基于既定的数据和分析目标选择适宜的算法模型进行建模训练和迭代优化。数据建模涉及的技术包括:机器学习、统计分析、深度学习,相关技术之间没有一个明显的区分界限,且功能互补。如果建模业务数据涉及到文本非结构化数据,则需要借助自然语言处理实现业务分析场景;面对一些调查数据分析统计意义给出决策结论时,则需要基于统计分析的相关技术;在机器学习领域,分类技术主要解决影响因素X和决策变量Y的问题,基于此目的我们所要做的就是寻找X和Y之间的函数关系。其中分类场景的实际应用Y是名词型属性,如用于故障预测、精准营销等;回归场景和分类场景类似,只是回归场景中的决策变量Y是连续性的数值型数据,如用于设备寿命预测、收视率预测等;聚类分析是在没有决策变量Y的情况下,基于一定的规则(比如基于距离相近、基于曲线相似等)将样本数据进行分群进而找出共性群体,如客户细分,市场细分等;时间序列数据是基于历史数据挖掘内在的趋势规律,进而实现对未来数据的预测分析,如销量预测、产量预测等;关联分析适用于挖掘多个事务项之间共现关联关系,从而描述事物项中某些属性同时出现的规律和模式,如产品关联推荐、交叉故障等,关联分析的一个典型例子是购物篮分析;综合评价适用于在多因素、多层次复杂决策情况下对多个备选方案打分以辅助决策,如店铺选址、客户信用评分等;
深度学习领域涉及多种模型框架和操作使用技巧,其本身可以作为机器学习的特例, 同样适用于机器学习多个应用场景。深度学习作为一种实现机器学习的技术,往往在数据量大、业务数据指标难以人工提取的情形下发挥着举足轻重的作用, 它在图像处理、语音识别、自然语言处理等领域具有其它机器学习算法无法企及的准确性能。
模型评估
模型评估是评估所构建的模型是否符合既定的业务目标,它有助于发现表达数据的最佳模型和所选模式将来工作的性能如何。模型评估秉承的准则是在满足业务分析目标的前提下优先选择简单化的模型。每个分析场景可以基于多种算法构建多个模型,也可以依据模型优化的方法体系做模型训练优化,而如何在训练得到的多个模型中选择最优模型,可以选择性能度量作为指标体系,进而基于一定的评估方法进行择优选择。
模型部署及应用
模型部署及应用是将数据挖掘结果作用于业务过程,即将训练得到的最优模型部署到实际应用中;模型部署后,可使用调度脚本控制数据挖掘模型实现流程化运行。在模型日常运行过程中,可根据实际需求检查模型运行结果是否满足前端业务的实际应用,跟踪模型运行情况,定期进行模型结果分析,并适时进行模型优化。
以上内容对数据挖掘涉及的知识体系做了简要介绍,上述的知识体系涵盖了实际挖掘分析所用方法体系的绝大部分内容,希望读者能够通过本文对数据挖掘有个全局认识。在面对复杂的业务分析场景时,能够有一个清晰严谨的挖掘分析思路,进步明确可以对样本数据做哪些分析以及如何科学地做挖掘分析。另一方面来说,在实际挖掘分析过程中,一个特定的挖掘分析场景只是涉及上述知识体系的一部分,每个分析场景涉及的知识点也不尽相同,全面掌握和深入理解挖掘知识体系是一个逐渐学习与积累的过程;这就需要我们在每一个挖掘场景下对涉及的知识点进行深入理解和知识扩充,并且对多个实践过程进行循环往复的知识总结和经验积累。