数据挖掘,统计,机器学习和AI之间有什么区别?
可以准确地说,它们是试图解决非常相似的问题但使用不同方法的4个领域吗?它们到底有什么共同之处,又有何不同?如果它们之间存在某种等级关系,那会是什么?
以前曾问过类似的问题,但我仍然不明白:
数据挖掘,统计,机器学习和AI之间有什么区别?
可以准确地说,它们是试图解决非常相似的问题但使用不同方法的4个领域吗?它们到底有什么共同之处,又有何不同?如果它们之间存在某种等级关系,那会是什么?
以前曾问过类似的问题,但我仍然不明白:
Answers:
这些之间有相当大的重叠,但是可以加以区别。必要时,我将不得不简化某些事情或给其他人以简短的印象,但我会尽我所能来对这些领域有所了解。
首先,人工智能与其他技术截然不同。人工智能是关于如何创建智能代理的研究。在实践中,这是如何对计算机进行编程以使其像智能代理(例如,人)那样行动并执行任务。这并不具有在所有涉及学习或感应,它可以只是为“建立一个更好的捕鼠器”的方式。例如,AI应用程序包括用于监视和控制正在进行的过程的程序(例如,如果方面A太低,则增加方面A)。请注意,只要机器不“愚蠢”地进行,人工智能就可以在其所做的任何事情上包含织补。
但是,实际上,大多数需要智能的任务都需要具备从经验中吸取新知识的能力。因此,人工智能中的很大一部分是机器学习。根据某种性能度量,如果计算机程序在任务上的性能随经验而提高,则据说它可以从经验中学习一些任务。机器学习涉及可以自动提取信息的算法的研究(即,无需在线人工指导)。这当然是其中的一些程序,包括思想直接来源于,或古典统计启发的情况下,但他们不具备成为。与AI类似,机器学习非常广泛,几乎可以包含所有内容,只要其中包含一些归纳性成分即可。机器学习算法的一个示例可能是卡尔曼滤波器。
数据挖掘是一个领域,它从机器学习(还有一些也是从统计学)中汲取了很多灵感和技术,但却处于不同的目的。数据挖掘是由人员在特定情况下根据特定目标对特定数据集进行的。通常,此人想利用机器学习中已开发的各种模式识别技术的力量。数据集经常是庞大,复杂和/或可能有特殊问题的(例如,变量多于观察值)。通常,目标是在事先真的很少了解的领域中发现/产生一些初步的见解,或者能够准确地预测未来的观察结果。此外,数据挖掘过程可以是“无监督的”(我们不知道答案—发现),也可以是“监督的”(我们知道答案-预测)。注意,通常的目的不是要对底层数据生成过程有更复杂的了解。常见的数据挖掘技术将包括聚类分析,分类和回归树以及神经网络。
我想我不需要多说什么解释该网站上的统计信息,但是也许我可以说几句话。古典统计(这里我指的是常客和贝叶斯)是数学中的一个子主题。我认为这很大程度上是我们对概率的了解与对优化的了解的交集。尽管可以将数学统计仅作为柏拉图研究的对象进行研究,但与其他较稀疏的数学领域相比,它通常被理解为更实用和更具有特色。因此(尤其是与上述数据挖掘相反),它通常用于更好地理解某些特定的数据生成过程。因此,它通常以正式指定的模型开始,并由此衍生出一些程序,可以从嘈杂的实例中准确地提取该模型(即通过优化某些损失函数进行估算),并能够将其与其他可能性区分开(即基于采样分布的已知属性进行推断)。原型统计技术是回归。
Common data mining techniques would include cluster analyses, classification and regression trees, and neural networks.
可以肯定地说,与聚类分析相比,神经网络是数据挖掘中使用的机器学习工具的一个示例,聚类分析不是为数据挖掘中的机器学习而设计的算法?
其他许多答案都涵盖了要点,但您询问是否存在等级制度以及我的看法,尽管它们都是各自独立的学科,但似乎没有人提到等级制度,因为每种制度都是基于前一个。
统计信息只是关于数字和量化数据。有很多工具可以找到数据的相关属性,但这与纯数学非常接近。
数据挖掘是关于使用统计信息以及其他编程方法来查找隐藏在数据中的模式,以便您可以解释某些现象。数据挖掘建立了一些数据中实际发生情况的直觉,并且对数学的理解只比编程多,但两者都使用。
机器学习使用数据挖掘技术和其他学习算法来构建一些数据背后发生的事件的模型,以便可以预测未来的结果。数学是许多算法的基础,但这更多地是针对编程。
人工智能使用由机器学习和其他方法构建的模型来推理世界,并引发智能行为,无论是玩游戏还是驾驶机器人/汽车。人工智能通过预测行动将如何影响世界模型并选择最能实现该目标的行动来实现某些目标。非常基于编程。
简而言之
话虽这么说,将会出现一些AI问题,这些问题只属于AI,其他领域也是如此,但是当今大多数有趣的问题(例如自动驾驶汽车)都可以轻松正确地称为所有这些问题。希望这可以消除您询问的他们之间的关系。
通常,事实证明,概率模型(以及统计数据)是在机器中正式构造知识和理解的最有效方法,以至于在今天所有其他三个模型(AI,ML和DM)中,概率模型都是子领域。统计。不是第一个成为统计学的影子臂的学科……(经济学,心理学,生物信息学等)
我们可以说它们都是相关的,但是它们都是不同的东西。尽管您可以在它们之间有共同点,例如在统计和数据挖掘中,但是您可以使用聚类方法。
让我尝试简要定义每个:
统计学是一门非常古老的学科,主要基于经典的数学方法,可以用于与数据挖掘有时用于对事物进行分类和分组的相同目的。
数据挖掘包括构建模型,以检测模式,这些模式使我们能够在给定一定数量的事实或因素的情况下对情况进行分类或预测。
人工智能(请参阅Marvin Minsky *)是一门试图模仿大脑如何使用编程方法(例如,构建下棋程序)的学科。
机器学习是建立知识并将其以某种形式存储在计算机中的任务;该形式可以是数学模型,算法等。可以帮助检测模式的任何形式。
我最熟悉机器学习-数据挖掘轴-因此,我将专注于此:
机器学习倾向于对非标准情况下的推理感兴趣,例如非iid数据,主动学习,半监督学习,使用结构化数据(例如字符串或图形)进行学习。ML还倾向于对可学内容的理论界限感兴趣,这通常构成所使用算法(例如支持向量机)的基础。ML倾向于具有贝叶斯性质。
数据挖掘有兴趣在您不了解的数据中查找模式。我不确定统计数据与探索性数据分析有何显着差异,而在机器学习中,通常要解决一个更明确的问题。
ML倾向于对过拟合是问题的小型数据集更感兴趣,而数据挖掘则对问题在处理数据量的大型数据集感兴趣。
统计和机器学习提供了数据挖掘者使用的许多基本工具。
这是我的看法。让我们从两个非常广泛的类别开始:
ML和DM通常都是AI和统计数据,因为它们通常涉及两者的基本方法。以下是一些区别:
此外,数据挖掘通常涉及更多的数据管理,即如何在有效的索引结构和数据库中组织数据。
不幸的是,它们并不是那么容易分离。例如,存在“无监督学习”,因为它无法朝目标进行优化,所以与DM的关系通常比与ML的关系更紧密。另一方面,DM方法很难评估(您如何评价您不知道的东西?),并且经常通过遗漏一些信息来在与机器学习相同的任务上进行评估。但是,这通常会使它们的工作效果比可以朝实际评估目标进行优化的机器学习方法更差。
此外,它们经常组合使用。例如,使用数据挖掘方法(例如,聚类或无监督的异常值检测)对数据进行预处理,然后将机器学习方法应用于预处理的数据以训练更好的分类器。
机器学习通常更容易评估:存在诸如得分或班级预测之类的目标。您可以计算精度和召回率。在数据挖掘中,大多数评估是通过省略一些信息(例如类标签)然后测试您的方法是否发现相同的结构来完成的。从某种意义上讲,这是天真的,因为您假设类标签完全编码了数据的结构。实际上,您会惩罚发现数据中新内容的数据挖掘算法。间接评估的另一种方法是,发现的结构如何提高实际ML算法的性能(例如,在对数据进行分区或删除异常值时)。尽管如此,此评估仍基于再现现有结果,而这实际上并不是数据挖掘的目标...
我会说些什么...
人工智能是一个非常广义的术语,它涉及与机器进行类似推理或有感觉的活动的机器有关的任何事情,从计划任务或与其他实体合作到学会操纵肢体走路。一个简单的定义是,人工智能是任何与计算机相关的东西,我们还不知道如何做好。(一旦我们知道如何做好,它通常会获得自己的名称,而不再是“ AI”。)
与Wikipedia相反,我的印象是模式识别和机器学习是同一领域,但是前者是由计算机科学人员实践的,而后者则是由统计学家和工程师实践的。(许多技术领域是由不同的小组反复发现的,他们经常将自己的术语和思维方式带到桌面上。)
无论如何,我认为数据挖掘采用机器学习/模式识别(与数据配合使用的技术)并将其包装在数据库,基础架构和数据验证/清除技术中。
可悲的是,这些领域之间的差异主要是在授课的地方:统计基于数学部门,人工智能,计算机科学部门中的机器学习,并且数据挖掘得到了更多的应用(由商业或市场部门使用,由软件公司开发) 。
首先,人工智能(尽管它可能意味着任何智能系统)传统上是指基于逻辑的方法(例如专家系统),而不是统计估计。基于数学系的统计学对理论有很好的理解,并且在实验科学中有着明确的科学模型,并且在实验科学中具有丰富的应用经验,需要统计学来处理有限的实验数据。人们通常将重点放在从非常小的数据集中获取最大的信息。此外,数学证明也存在偏差:除非您能证明自己的方法,否则您将不会发表论文。这往往意味着统计数据落后于使用计算机来自动进行分析。再次,缺乏编程知识使统计学家无法解决在计算问题变得重要的大规模问题上(考虑GPU和诸如hadoop之类的分布式系统)。我认为,生物信息学等领域现在已经朝着这个方向更加推动了统计工作。最后,我要说的是统计学家对此持怀疑态度:他们并不是声称您可以从统计学中发现知识,而是科学家提出了一个假设,统计学家的工作是检查假设是否得到了数据的支持。机器学习是在CS部门教授的,不幸的是没有教授适当的数学:多变量演算,概率,统计和优化并不常见...有人含糊不清的``迷人''概念,例如从示例中学到的东西...统计学习要素第30页。这往往意味着对理论的了解很少,并且算法的爆炸性增长,因为研究人员总是可以找到一些可以证明其算法更好的数据集。因此,随着ML研究人员追赶下一个大事,便有大量的炒作阶段:神经网络,深度学习等。不幸的是,CS部门有很多钱(想想google,Microsoft,以及更有市场价值的“学习”),所以更多的怀疑统计学家被忽略了。最后,经验主义者倾向于:基本上有一个基本的信念,即如果在算法上投入足够的数据,它将“学习”正确的预测。尽管我对ML有偏见,但ML中有一个基本的见解,而统计学家却忽略了这一见解:计算机可以彻底改变统计学的应用。
有两种方法-a)自动执行标准测试和模型。例如运行一系列模型(线性回归,随机森林等,尝试输入,参数设置等的不同组合)。这确实没有发生-尽管我怀疑kaggle上的竞争对手开发了自己的自动化技术。b)将标准统计模型应用于海量数据:想想例如Google翻译,推荐系统等(没有人声称例如人们会这样翻译或推荐。但这是一种有用的工具)。基本的统计模型很简单,但是将这些方法应用于数十亿个数据点时,存在巨大的计算问题。
数据挖掘是这种哲学的高潮...开发从数据中提取知识的自动化方法。但是,它有一种更实用的方法:本质上,它适用于没有总体科学理论(营销,欺诈检测,垃圾邮件等)的行为数据,并且其目的是使大量数据的分析自动化:如果有足够的时间,统计学家团队可以进行更好的分析,但是使用计算机更具成本效益。此外,正如D. Hand所解释的那样,它是对辅助数据的分析-无论如何都要记录数据,而不是为可靠地进行实验设计而明确收集来回答科学问题的数据。数据挖掘统计等,D Hand
因此,我可以总结一下,传统的AI是基于逻辑而不是统计,机器学习是没有理论的统计,而统计是“没有计算机的统计”,而数据挖掘是在最少的用户干预下开发用于统计分析的自动化工具。
怎么样:教学机器学习
识别数据中有意义的模式:数据挖掘
根据已知模式预测结果:ML
查找新功能以重新映射原始数据:AI
这个鸟脑真的需要简单的定义。
数据挖掘通常试图“预测”某些将来的数据,或者“解释”发生某些事情的原因。
统计数据更常用于验证我的假设。但这是一个主观的讨论。
统计人员和数据挖掘人员之间的明显区别可以从他们查看的摘要统计类型中找到。
统计数据通常会限制其R²和准确性,而数据挖掘人员将查看AUC,ROC曲线,升力曲线等,并且可能还会考虑采用与成本相关的准确性曲线。
数据挖掘程序包(例如,开源的Weka)具有用于输入选择,支持向量机分类等的内置技术,而在诸如JMP之类的统计程序包中,大多数则不存在这些技术。我最近刚从jmp人员那里上一门“ jmp数据挖掘”课程,尽管它是一个外观强大的软件包,但缺少一些必要的数据挖掘之前/之后/中间技术。输入选择是手动完成的,以获取对数据的深入了解,而仍在数据挖掘中,这只是您要针对大数据智能地发布算法并自动查看结果的目的。该课程显然是由统计人员教授的,强调了两者之间的不同心态。