↑ 点击上方蓝字关注我们,和小伙伴一起聊技术!
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。其专门研究计算机是怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构,使之不断改善自身的性能。此外,数据挖掘和机器学习有很大的交集。本文将从架构和应用角度去解读这两个领域。
数据挖掘是从海量数据中获取有效的、新颖的、潜在有用的、最终可理解的模式的非平凡过程。数据挖掘中用到了大量的机器学习界提供的数据分析技术和数据库界提供的数据管理技术。从数据分析的角度来看,数据挖掘与机器学习有很多相似之处,但不同之处也十分明显,例如,数据挖掘并没有机器学习探索人的学习机制这一科学发现任务,数据挖掘中的数据分析是针对海量数据进行的,等等。从某种意义上说,机器学习的科学成分更重一些,而数据挖掘的技术成分更重一些。
学习能力是智能行为的一个非常重要的特征,不具有学习能力的系统很难称之为一个真正的智能系统,而机器学习则希望(计算机)系统能够利用经验来改善自身的性能,因此该领域一直是人工智能的核心研究领域之一。在计算机系统中,“经验”通常是以数据的形式存在的,因此,机器学习不仅涉及对人的认知学习过程的探索,还涉及对数据的分析处理。实际上,机器学习已经成为计算机数据分析技术的创新源头之一。由于几乎所有的学科都要面对数据分析任务,因此机器学习已经开始影响到计算机科学的众多领域,甚至影响到计算机科学之外的很多学科。机器学习是数据挖掘中的一种重要工具。然而数据挖掘不仅仅要研究、拓展、应用一些机器学习方法,还要通过许多非机器学习技术解决数据仓储、大规模数据、数据噪声等实践问题。机器学习的涉及面也很宽,常用在数据挖掘上的方法通常只是“从数据学习”。然而机器学习不仅仅可以用在数据挖掘上,一些机器学习的子领域甚至与数据挖掘关系不大,如增强学习与自动控制等。所以笔者认为,数据挖掘是从目的而言的,机器学习是从方法而言的,两个领域有相当大的交集,但不能等同。
图1是一个典型的推荐类应用,需要找到“符合条件的”潜在人员。要从用户数据中得出这张列表,首先需要挖掘出客户特征,然后选择一个合适的模型来进行预测,最后从用户数据中得出结果。
图1
把上述例子中的用户列表获取过程进行细分,有如下几个部分(见图2)。
图2
业务理解:理解业务本身,其本质是什么?是分类问题还是回归问题?数据怎么获取?应用哪些模型才能解决?
数据理解:获取数据之后,分析数据里面有什么内容、数据是否准确,为下一步的预处理做准备。
数据预处理:原始数据会有噪声,格式化也不好,所以为了保证预测的准确性,需要进行数据的预处理。
特征提取:特征提取是机器学习最重要、最耗时的一个阶段。
模型构建:使用适当的算法,获取预期准确的值。
模型评估:根据测试集来评估模型的准确度。
模型应用:将模型部署、应用到实际生产环境中。
应用效果评估:根据最终的业务,评估最终的应用效果。
整个过程会不断反复,模型也会不断调整,直至达到理想效果。