更多深度文章,请关注:https://yq.aliyun.com/cloud
图片来自知乎
机器学习,是人工智能的一个子领域,主要关注于开发一些让计算机可以自动“学习”的技术。更具体说,机器学习是一种用于创建数据集分析程序的方法。机器学习跟统计学有着重要的关系,因为这两个领域都是研究数据分析,但是机器学习又不像统计学,机器学习关注的是计算实现的算法复杂度。
统计学,是在统计实践的基础上,自17世纪中叶产生并逐步发展起来的一门社会学科。它是研究如何测定、收集、整理、归纳和分析反映客观现象总体数量的数据,以便给出正确认识的方法论科学,被广泛的应用在各门学科之上,从自然科学和社会科学到人文科学,甚至被用来工商业及政府的情报决策之上。
随着机器学习的不断兴起,处理数据的鼻祖统计学认为:模式识别和机器学习里面全都是统计理论。但是机器学习者认为ML更强调algorithm-oriented(面向算法),而统计学的话更偏重于model-oriented(面向模型)。换言之,机器学习更加强调算法的结果要好,所以机器学习很关注损失函数(差不多就是描述预测与实际之间的偏差,跟残差的概念有一点点像)。而统计学要先扔出来一大堆模型假设,然后站在模型上面通过严格的数学推导做出结果。
在整个历史上,机器学习(ML)与统计学的关系一直是很僵硬的,就像一个男的不小心出现在前女友的婚礼招待会上,既不知如何对话,又痛苦地意识到潜在的尴尬。这是因为机器学习采用了许多统计方法,但从来没有意图取代统计学,甚至是维持原本统计学的基础。然而,统计学家和ML从业者往往最终在一起工作或者从事类似的任务,并且想知道每一个问题。问题是“ 机器学习与统计学到底有哪些不同?“这个问题现在已经问了几十年了。
机器学习是一个混合领域,从各种领域获取灵感和技术,这也是ML更加让人难以理解的原因吧。由于统计学能被更好地理解为一个领域,而ML似乎又与之重叠,两者之间的关系问题频繁出现。已经给出了许多答案,从中立或不屑一顾:
· “机器学习本质上是一种应用统计的形式”
· “机器学习是被美化的统计学”
· “机器学习本质就是将统计数据扩大为大数据”
· “简短的答案是没有区别”
可疑或贬损的答案:
· “机器学习是不能通过统计课程的计算机科学专业的人瞎搞出来的”。
· “机器学习是统计学减去模型和假设的应用,是不科学的。
· “我不知道机器学习在十年内会是什么样子,但无论如何,我相信统计学家们会呜咽。”
关于机器学习和统计学,上面的答案有些口水仗的意思。更糟糕的是,哪些领域“拥有”什么技术问题?逻辑回归是统计学还是机器学习?如果在Spark中实现又如何实现?回归分析真的是机器学习吗?我们已经看到许多答案,我们认为是误导,不相干,混乱,甚至是错误的。
我们(汤姆,机器学习从业人员,德鲁,统计学家)已经合作了好几年,相互观察数据密集型项目的分析和解决问题的方法。我们花了几个小时尝试了解不同学科的思考过程并讨论差异。
正如我们所看到的,差异不仅仅是算法和经验,而是目标和策略。这两个领域都不是其他领域的一个子集,他们就像两对老人坐在公园里玩两个不同的棋盘游戏。这两款游戏都使用相同类型的棋盘和同一组棋子,但是每个棋子都以不同的规则落子,并且具有不同的目标,因为游戏根本不同。
这个博文的目的就是帮助您解开统计学和机器学习的“爱恨情仇”。
统计:
统计学和机器学习都从数据创建模型,但是是为了不同的目的。统计学家主要关注使用一种称为特殊类型的统计量的度量。这些度量最常见的是平均值和标准偏差。统计学家将这些统计数据用于几个不同的目的,划分领域的一种常见方式是描述性和推论性统计领域。
描述性统计数据涉及描述原始数据的结构,这些描述性统计数据提供了一个更简单的方式来了解什么是非常复杂的数据。
推理统计数据处理关于数据的陈述。该领域真正来自卡尔·皮尔逊(Karl Pearson),费雪(RA Fisher)等人的开创性工作。推理统计试图解决如下问题:
· 龙卷风庇护所的人的生存率要高于躲在桥下的人吗?
· 通过考虑区域人口的样本,总人口的估计数量是多少?
· 在未来的某一年,本市有多少人需要接受治疗?
· 您的银行账户应该有多少钱,才能够支撑你每月的消费?
· 明天有多少人会在当地的杂货店出现?
这些问题就是估计和预测,如果我们有完整的信息,可能会准确计算这些值。但在现实世界中,总是有不确定性,这意味着你所做的任何预测都有错误的机会。
尽管有不确定性,但仍然需要做出决定,统计提供了制定更好决策的框架。为此,统计学家需要评估与各种结果相关的概率。为了做到这一点,统计人员开始使用模型。在统计中,建模的目标是接近数据,然后理解数据的过程,最后通过理解数据的结果来回答你真正关心的问题。
在实践中,统计学家经常进行简单的分析,有些分析结果并不是真相。但基本思想是健全的,因为在分析中做出的每一个选择都必须是可辩护的。
总之,统计学家主要关注模型的有效性、模型参数的准确估计和模型的推论。然而,对于未知的数据的预测,这不是统计学家的关注点。
机器学习:
机器学习的发展非常曲折,原来它是AI的一部分,关注所有人类智慧行为。在过去的几十年中,它已经转向工程/性能的关注。在机器学习中,主要任务是预测:为了预测而建立模型。我们暂时搁置机器学习的其他问题,因为预测分析是主要的子领域,并且这个领域经常被拿来与统计学比较。
在ML的预测分析中,每个示例都有一个标签,根据问题类型,它可以是类的名称(分类)或数值(回归)。它创建一个模型,其目的是预测。具体来说,学习算法分析数据示例,并创建一个程序,给定一个新的未知的示例,这个示例可以准确预测。然后利用数据的另外一部分,验证模型。或者,可以采用诸如引导或交叉验证的方法以原则方式重用数据。
具有良好性能特征的模型可以预测哪些客户是有价值的,哪些交易是欺诈性的,哪些客户是良好的贷款风险,患者是否患有癌症等等。这一切都假定未来将与过去相似,这是假设一定程度的因果关系,当然,这种因果假设必须得到验证。
请注意,与统计相反,这里的目标是产生最佳的预测。ML开发者通常进行一些探索性数据分析,但只能让数据指导功能选择和模型选择,其目的是纯粹的功能。没有ML从业者准备证明模型的“有效性”,这在机器学习中没有任何意义,因为该模型真的只是对功能性能的辅助。机器学习的格言也可以是:模型的证明在测试集中。
这种方法对ML与统计数有一些重要的影响。
1.ML从业人员不用担心模型假设或诊断。如果模型假设造成不良预测,则只是一个问题。当然,从业者经常执行标准的探索性数据分析(EDA)来指导模型类型的选择。但是,由于测试设置的性能是模型质量的最终仲裁者。
2. 也许更重要的是,ML从业人员不用担心假设被违反的情况,因为模型很可能依然有用。这种情况并不罕见。例如,朴素贝叶斯分类器背后的理论假设属性—独立性,但实际上它在包含依赖属性。
3.通常,预测分析的目标是最终部署预测方法,以便决策自动化。因此,数据科学家必须牢记务实的计算问题:如何实现?它有多快?模型在哪里获取数据?最终决定是做什么的?这样的计算问题对于统计学家通常是不必要的。
对统计学家来说,机器学习可能看起来像一个工程学科。实质上,所有的ML技术都采用单一的诊断测试:在一个保留数据集上的预测性能。而且由于机器学习经常涉及大型数据集,所以ML从业者可以选择非参数模型,这通常需要比参数模型更多的数据。
一个典型的例子,随机森林和推动决策树。这些例子的理论都是非参数化技术,需要相对较大数量的数据来训练。诊断测试也不是假设何时可以使用或不能使用,因为两者都是“黑盒子”模型,产生的都是几乎难以理解的分类器。由于这些原因,统计学家不愿选择它们。然而,令人惊讶的是,它们在预测问题上几乎惊人地成功了,他们在Kaggle比赛中获得了高分。
总结:
总而言之,统计与机器学习领域有很大的区别,如聚类,关联规则,特征选择,评价方法等。统计学和机器学习对数据科学都有很大的贡献,但它们有不同的目标。虽然方法和推理可能重叠,但目的却很少一样。调用机器学习“应用统计”是误导性的,对这两个领域都是不利的。
机器学习通常被教授为计算机科学课程的一部分,统计学由专门数学系的一部分教授。在许多情况下,当提及完全相同的事情时,两个领域都使用不同的术语。将两组合在一起成为一个数据科学团队或许可以创造一个非常有趣的团队氛围。
从根本上说,ML和统计数都靠数据解决问题。机器学习可能强调预测,统计可能更多地关注估计和推论。重要的是,两者的对话可以带来两个方面的改善。例如,诸如正则化和重采样等主题与两种类型的问题都是相关的。
本文由北邮@爱可可-爱生活老师推荐,阿里云云栖社区组织翻译。
文章原标题《machine-learning-vs-statistics》,
作者:Tom Fawcett
汤姆在“数学科学”杂志工作,在实际应用中运用20多年的机器学习和数据挖掘经验。
Drew Hardin
在计算机科学和统计学方面拥有广泛的背景,德鲁喜欢探索数据和发现见解。
译者:袁虎 审阅:主题曲
文章为简译,更为详细的内容,请查看原文