数据挖掘,机器学习,统计学习的区别与联系
这三个领域或学科交叉和重叠部分很多,数据挖掘,机器学习和统计学习的概念一直有或多或少的混淆,希望同样有我这样的困惑的朋友读完下面的文字能够清晰一些。
数据库提供数据管理技术,机器学习和统计学提供数据分析技术。由于统计学界往往醉心于理论的优美而忽视实际的效用,因此,统计学界提供的很多技术通常都要在机器学习界进一步研究,变成有效的机器学习算法之后才能再进入数据挖掘领域。从这个意义上说,统计学主要是通过机器学习来对数据挖掘发挥影响,而机器学习和数据库则是数据挖掘的两大支撑技术。从数据分析的角度来看,绝大多数数据挖掘技术都来自机器学习领域。但能否认为数据挖掘只不过就是机器学习的简单应用呢?答案是否定的。一个重要的区别是,传统的机器学习研究并不把海量数据作为处理对象,很多技术是为处理中小规模数据设计的,如果直接把这些技术用于海量数据,效果可能很差,甚至可能用不起来。因此,数据挖掘界必须对这些技术进行专门的、不简单的改造。例如,决策树是一种很好的机器学习技术,不仅有很强的泛化能力,而且学得结果具有一定的可理解性,很适合数据挖掘任务的需求。但传统的决策树算法需要把所有的数据都读到内存中,在面对海量数据时这显然是无法实现的。为了使决策树能够处理海量数据,数据挖掘界做了很多工作,例如通过引入高效的数据结构和数据调度策略等来改造决策树学习过程,而这其实正是在利用数据库界所擅长的数据管理技术。实际上,在传统机器学习算法的研究中,在很多问题上如果能找到多项式时间的算法可能就已经很好了,但在面对海量数据时,可能连算法都是难以接受的,这就给算法的设计带来了巨大的挑战。
总结:
1)统计学习:是其它两门技术的基础,更偏重于理论上的完善;
2)机器学习:是统计学习对实践技术的延伸,更偏重于解决小数据量的问题提供算法技术支撑;
3)数据挖掘:更偏重于大数据的实际问题,更注重实际问题的解决,包括真实数据的数据清洗,建模,预测,等操作。