机器学习与数据挖掘的关系
扫描二维码
随时随地手机看文章
在大多数非计算机专业人士以及部分计算机专业背景人士眼中,机器学习(Data Mining)以及数据挖掘(Machine Learning)是两个高深的领域。在笔者看来,这是一种过高”瞻仰“的习惯性错误理解(在这里我加了好多定语)。事实上,这两个领域与计算机其他领域一样都是在融汇理论和实践的过程中不断熟练和深入,不同之处仅在于渗透了更多的数学知识(主要是统计学),在后面的文章中我会努力将这些数学知识以一种更容易理解的方式讲解给大家。本文从基本概念出发浅析他们的关系和异同,不讲具体算法和数学公式。希望对大家能有所帮助。
一、概念定义机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。其专门研究计算机是怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构,使之不断改善自身的性能。
数据挖掘是从海量数据中获取有效的、新颖的、潜在有用的、最终可理解的模式的非平凡过程。数据挖掘中用到了大量的机器学习界提供的数据分析技术和数据库界提供的数据管理技术。
学习能力是智能行为的一个非常重要的特征,不具有学习能力的系统很难称之为一个真正的智能系统,而机器学习则希望(计算机)系统能够利用经验来改善自身的性能,因此该领域一直是人工智能的核心研究领域之一。在计算机系统中,“经验”通常是以数据的形式存在的,因此,机器学习不仅涉及对人的认知学习过程的探索,还涉及对数据的分析处理。实际上,机器学习已经成为计算机数据分析技术的创新源头之一。由于几乎所有的学科都要面对数据分析任务,因此机器学习已经开始影响到计算机科学的众多领域,甚至影响到计算机科学之外的很多学科。机器学习是数据挖掘中的一种重要工具。然而数据挖掘不仅仅要研究、拓展、应用一些机器学习方法,还要通过许多非机器学习技术解决数据仓储、大规模数据、数据噪声等实践问题。机器学习的涉及面也很宽,常用在数据挖掘上的方法通常只是“从数据学习”。然而机器学习不仅仅可以用在数据挖掘上,一些机器学习的子领域甚至与数据挖掘关系不大,如增强学习与自动控制等。所以笔者认为,数据挖掘是从目的而言的,机器学习是从方法而言的,两个领域有相当大的交集,但不能等同。
二、关系与区别关系:数据挖掘可以认为是数据库技术与机器学习的交叉,它利用数据库技术来管理海量的数据,并利用机器学习和统计分析来进行数据分析。其关系如下图:
数据挖掘受到了很多学科领域的影响,其中数据库、机器学习、统计学无疑影响最大。粗糙地说,数据库提供数据管理技术,机器学习和统计学提供数据分析技术。由于统计学界往往醉心于理论的优美而忽视实际的效用,因此,统计学界提供的很多技术通常都要在机器学习界进一步研究,变成有效的机器学习算法之后才能再进入数据挖掘领域。从这个意义上说,统计学主要是通过机器学习来对数据挖掘发挥影响,而机器学习和数据库则是数据挖掘的两大支撑技术。
区别:数据挖掘并非只是机器学习在工业上的简单应用,他们之间至少包含如下两点重要区别:
1.传统的机器学习研究并不把海量数据作为处理对象,因此,数据挖掘必须对这些技术和算法进行专门的、不简单的改造。
2.作为一个独立的学科,数据挖掘也有其独特的东西,即:关联分析。简单地说,关联分析就是希望从数据中找出“买尿布的人很可能会买啤酒”这样看起来匪夷所思但可能很有意义的模式。