机器学习是指那些具体算法,而数据挖掘则还包括建立和维护数据库,数据清洗,数据可视化以及结果的使用,要综合使用到数据库、人机交互、统计分析和机器学习的技术。
机器学习是数据挖掘中的一种重要工具。然则数据挖掘不仅仅要研究、拓展、应用一些机器学习方法,还要通过许多非机器学习技术解决数据仓储、大规模数据、数据噪音等等更为实践问题。机器学习的涉及面也很宽,常用在数据挖掘上的方法通常只是“从数据学习”,然则机器学习不仅仅可以用在数据挖掘上,一些机器学习的子领域甚至与数据挖掘关系不大,例如增强学习与自动控制等等。
数据挖掘是从目的而言的,机器学习是从方法而言的,两个领域有相当大的交集,但不能等同。
数据挖掘是领域、是方向。机器学习是方法、是途径;通常它更偏重于计算机算法的实现。
例如:神经网络、遗传算法、支持向量机等都属于机器学习的范畴,但同样可以在数据挖掘中应用的可视化、统计回归等方法一般不算是机器学习。
数据挖掘受到了很多学科领域的影响,其中数据库、机器学习、统计学无疑影响最大。
粗糙地说,数据库提供数据管理技术,机器学习和统计学提供数据分析技术。由于统计学界往往醉心于
理论的优美而忽视实际的效用,因此,统计学界提供的很多技术通常都要在机器学习界进一步研究,
变成有效的机器学习算法之后才能再进入数据挖掘领域。从这个意义上说,统计学主要是通过机器
学习来对数据挖掘发挥影响,而机器学习和数据库则是数据挖掘的两大支撑技术。
从数据分析的角度来看,绝大多数数据挖掘技术都来自机器学习领域。但能否认为数据挖掘只
不过就是机器学习的简单应用呢?答案是否定的。一个重要的区别是,传统的机器学习研究并不把
海量数据作为处理对象,很多技术是为处理中小规模数据设计的,如果直接把这些技术用于海量数
据,效果可能很差,甚至可能用不起来。因此,数据挖掘界必须对这些技术进行专门的、不简单的
改造。例如,决策树是一种很好的机器学习技术,不仅有很强的泛化能力,而且学得结果具有一定
的可理解性,很适合数据挖掘任务的需求。但传统的决策树算法需要把所有的数据都读到内存中,在面对海量数据
时这显然是无法实现的。为了使决策树能够处理海量数据,数据挖掘界做了很多工作,例如通过引入高效的数据结
构和数据调度策略等来改造决策树学习过程,而这其实正是在利用数据库界所擅长的数据管理技术。
实际上,在传统机器学习算法的研究中,在很多问题上如果能找到多项式时间的算法可能就已经很好了
,但在面对海量数据时,可能连算法都是难以接受的,这就给算法的设计带来了巨大的挑战。