2

本文属于转发,以后会在该文基础上,加入自己的一些想法。


我最近看国外的学校,把机器学习和数据发掘分开了,数据发掘主要是跟数据库打交道,学什么数据仓库,用Oracle软件。而机器学习好像是跟统计更加贴近。

统计系和计算机系在数据挖掘上做的工作有很大不同,我的感觉是,统计系把统计方法的一个子集成为数据挖掘(你看大部分数据挖掘的书所讲的不过就是那数十种方法而已),计算机系做的是数据库挖掘(软件、数据库算法);

至于机器学习呢,我引用牛津的Ripley教授的一句玩笑:

To paraphrase provocatively, 'machine learning is statistics minus any
checking of models and assumptions'. -- Brian D. Ripley (about the
difference between machine learning and statistics)
useR! 2004, Vienna (May 2004)

大致感觉就是,经典统计学猛推公式猛证明各种模型性质,机器学习不管这些,它的目的是预测性能更好的算法,这些模型(机器)有个特点,就是可以自我学习,提高预测性能,按字面意思应该这样解释,但实际上并非所有的机器学习算法都有“学习”的特征的。所以,我认为大家只是在给统计学穿外套、做包装。

看过一篇文章认为机器学习是指那些具体算法,而数据挖掘则还包括建立和维护数据库,数据清洗,数据可视化以及结果的使用,要综合使用到数据库、人机交互、统计分析和机器学习的技术。

机器学习和数据挖掘以及统计之间的关系表面上很像,但是也有非常大的区别

相似点在于:都是数据分析的工具,三个领域内都有办法用来分析同一数据,基本原理都很浅显。

不同点在于:

统计对模型的要求比较苛刻,如谢所引,一定要对模型的各种性质,比如大样本,小样本,是否无偏,有多大的variance,是否达到c-r bound,是否一致,最后最好还要有model checking. 机器学习很少关心模型在大样本的情况下如何,也不关心estimator的传统的性质--这也可能是因为他们的模型太过复杂,无法从数学上证明,这也从一个侧面反映了为什么normal distribution在统计中的用处如此之大(有了它,很多模型的性质的研究就便的容易了),也有可能是因为他们一般都用在数据量大的地方--但是机器学习却挺关心另一个东西--error,包括empirical error and structural error。举个简单的例子,我们眼看着神经网络和支持向量机这两种网络模型很流行,很容易懂,很有用,但是很多人却不知道它们来自何处,为什么能具有对广泛的数据拥有广泛的用途,为什么精度会很高?--背后的原因很简单,它们两分别优化的是这两种error。而机器学习正是着眼于研究这两种error,通过这两种error的研究垮身为一种具有很浓数学味道的学科--用了大量的分析学--而这一点也是它与数据挖掘的本质区别--数据挖掘只需要设计一张鱼网(算法),在大量的数据中网到自己需要的模式,很多时候相当的需要运气。所以很多人都说这是渔夫的工作。

统计学习和机器学习的差别不怎么大。倒是统计建模和机器学习有些差别。2001年Brieman(是这么拼的吗?)写了一篇文章,叫做statistical modeling:two cultures,介绍了之间的区别。统计建模是基于数据的概率分布的。因此统计模型中很重视推断inference,这些推断,比如假设检验,置信区间,都是基于某种分布假设的。而机器学习最近本的问题,便是要最小化预测误差的某种度量。这两种方法对于世界的认知是不同的。统计建模,最终的目的,是获得数据的概率分布,如果数据产生的分布已知,那么就天下大吉。统计建模认为世界可以用概率分布来逼近。而机器学习不这么认为,它不在乎数据产生于什么分布,并且认为这个世界运行的方式是无法单纯用概率分布来解释的,比如神经网络。因此,它的目的,是预测的精准性。这是两种建模的方式,而归根结底,是对这个世界认知的方式。

统计学习更倾向于模型,通常会基于某种已知的模型就行计算。而机器学习更倾向于数据本身,往往会通过某些算法(决策树,聚类,支持向量机,神经网络等)来从数据本身挖掘信息。

《Encyclopedia of Machine Learning》 的观点是,统计学习是机器学习的一个子类:

Inductive Learning

Synonyms Statistical learning

Definition Inductive learning is a subclass of machine learning that
studies algorithms for learning knowledge based on statistical
regularities. The learned knowledge typically has no deductive
guarantees of correctness, though there may be statistical forms of
guarantees.

当然这个分类没什么意义,手段都在互相渗透。统计学家喜欢叫统计学习,计算机科学人士喜欢叫机器学习,即使做的内容都差不多。


小猪
114 声望4 粉丝

« 上一篇
博客规划