当前位置: 首页 > 科技观察

一文读懂深度学习和机器学习的区别

时间:2023-03-13 12:19:27 科技观察

如果你经常想搞清楚机器学习和深度学习的区别,就看这篇文章吧,我会用通俗易懂的语言介绍一下它们的区别。机器学习和深度学习正变得越来越流行。突然之间,无论是否知道,每个人都在谈论机器学习和深度学习。无论您是否积极关注数据科学,您都应该听说过这两个术语。为了显示它们有多热,我用谷歌搜索了这些关键词:如果你想自己弄清楚机器学习和深度学习之间的区别,请阅读这篇文章,我将用通俗易懂的语言向你介绍它们之间的区别。下面详细解释机器学习和深度学习中的术语。另外,我比较了两者的区别,并说明了各自的使用场景。什么是机器学习和深度学习?让我们从基础开始:什么是机器学习?什么是深度学习?如果您已经了解它,请随意跳过本节。什么是机器学习?总之,TomMitchell给出的广为引用的机器学习定义给出了最好的解释。它是这样说的:“一个计算机程序可以在给定某类任务T和性能度量P的情况下学习经验E,这样它在任务T上的性能恰好可以用P来衡量,并随着经验E的提高而提高。这听起来不像一口?让我们用简单的例子来分解这个描述。示例1:机器学习和人体身高的体重估计假设你想创建一个可以根据人体身高估计体重的系统(也许你出于某种原因对这个东西感兴趣)。然后你可以使用机器学习来发现任何可能的错误和错误的数据捕获,首先你需要收集一些数据,让我们看看你的数据是什么样的:图中的每个点对应一个数据,我们可以画一条简单的对角线根据身高来预测体重比如这条对角线:Weight(inkg)=Height(incm)-100...这些对角线可以帮助我们做出预测,虽然这些对角线表现得很好,但是我们需要了解如何它是ehaves,我们希望减少预测与实际之间的误差,这就是我们衡量其性能的方式。更深刻地说,我们收集的数据(经验)越多,模型就会越好。我们还可以通过添加更多变量(例如性别)和添加不同的预测斜率来改进我们的模型。示例2:飓风预报系统让我们来看一个更复杂的示例。假设你想建立一个飓风预报系统。假设您有所有以前飓风的数据和这次飓风前三个月的天气信息。如果我们要手动构建一个飓风预测系统,我们应该怎么做呢?首先,我们的任务是清理所有数据以找到数据中的模式,然后找到产生飓风的条件。我们可以将模型条件数据(如温度40度以上,湿度80-100之间等)输入我们的系统生成输出;我们也可以让我们的系统通过这些条件数据产生合适的输出。我们可以将之前所有的数据输入系统,预测未来是否会发生飓风。根据我们的系统条件值评估系统的性能(系统正确预测了多少次飓风)。我们可以以系统预测结果作为反馈,继续多次迭代上述步骤。让我们按照前面的解释来定义我们的预报系统:我们的任务是确定可能产生飓风的气象条件。性能P是系统在所有给定条件下正确预测飓风的次数。经验E是我们系统的迭代次数。什么是深度学习?深度学习的概念并不新鲜。它已经存在了好几年。但是随着存在的所有炒作,深度学习越来越受到关注。正如我们在机器学习中所做的那样,让我们??先看看深度学习的官方定义,然后通过一个例子来解释它。“深度学习是一种特殊的机器学习,它通过学习使用概念的嵌套层次结构来表示世界,从而获得巨大的能力和灵活性,其中每个概念被定义为以不太抽象的方式计算的表示。”这也有点令人费解。让我们用一个简单的例子来分解这个概念。示例1:形状检测让我们从一个简单的示例开始,从概念上解释发生了什么。让我们试着看看如何从其他形状中识别正方形。我们眼中的第一件事是检查图中是否有四条线(简单概念)。如果我们找到这样的四条线,我们进一步检查它们是否相互连接、闭合和相互垂直,并且它们是否相等(嵌套概念层次结构)。因此,我们接受一项复杂的任务(识别一个正方形),然后用一个更简单、不那么抽象的任务来完成。深度学习本质上大规模地执行类似的逻辑。示例2:猫与狗让我们举一个动物识别的例子,我们的系统必须识别给定图像中的动物是猫还是狗。机器学习与深度学习既然您已经了解机器学习和深度学习,我们将了解一些关键点并比较这两种技术。依赖数据的深度学习与传统机器学习的主要区别在于其性能随着数据量的增加而提高。当数据很少时,深度学习算法表现不佳。这是因为深度学习算法需要大量数据才能完全理解它。另一方面,传统的机器学习算法在这种情况下使用制定的规则表现更好。下图总结了这一事实。依赖硬件的深度学习算法需要大量的矩阵运算,而GPU主要用于高效优化矩阵运算,因此GPU是深度学习正常工作的必要硬件。与传统的机器学习算法相比,深度学习更多地依赖于配备GPU的高端机器。特征处理特征处理是将领域知识放入特征提取器的过程,以降低数据的复杂性并为学习算法生成更好的模式。特征处理过程非常耗时并且需要专业知识。在机器学习中,大多数应用程序的特征需要由专家确定,然后编码为数据类型。特征可以是像素值、形状、纹理、位置和方向。大多数机器学习算法的性能取决于提取特征的准确性。深度学习试图直接从数据中获取高层特征,这是深度学习与传统机器学习算法的主要区别。基于此,深度学习减少了为每个问题设计特征提取器的工作。例如,卷积神经网络尝试在早期层学习低级特征(边界、线条),然后是人脸的一部分,然后是人脸的高级描述。有关更多信息,请阅读神经机器在深度学习中的有趣应用。问题求解方法传统机器学习算法在应用传统机器学习算法解决问题时,通常将问题分解为多个子问题,逐一求解,最后将所有子问题的结果结合起来,得到最终结果。相比之下,深度学习提倡直接的端到端问题解决。例如:假设有一个多目标检测任务,需要图像中物体的类型以及每个物体在图像中的位置。传统的机器学习将问题分解为两个步骤:对象检测和对象识别。首先,使用边界框检测算法扫描整张图片,找出可能是物体的区域;然后使用物体识别算法(如SVM结合HOG)对上一步检测到的物体进行识别。相比之下,深度学习直接对输入数据进行操作以获得输出结果。比如你可以直接把图片传给YOLO网络(一种深度学习算法),YOLO网络会给出图片中的物体和名字。执行时间通常,训练深度学习算法需要很长时间。这是因为深度学习算法中的参数较多,因此训练算法的时间较长。最先进的深度学习算法ResNet需要两周时间才能完成一次完整的训练,而机器学习训练消耗的时间相对较少,只需几秒到几小时。但是两次测试的时间点是完全相反的。深度学习算法在测试时只需很少的时间即可运行。如果与k-nearestneighbors(一种机器学习算法)相比,测试时间随着数据量的增加而增加。但是,这并不适用于所有的机器学习算法,因为一些机器学习算法也有较短的测试时间。可解释性至关重要,我们将可解释性作为比较机器学习和深度学习的一个因素。让我们看一个例子。假设我们应用深度学习来自动对文章进行评分。深度学习可以达到接近人类的标准,这是相当惊人的表现。但是还有一个问题。深度学习算法不会告诉您它给出该分数的原因。当然,在数学上,你可以找出哪些深度神经网络节点被激活了。但是我们不知道神经元应该是什么模型,也不知道这些神经元层将一起做什么。所以无法解释结果是如何产生的。另一方面,像决策树这样的机器学习算法给出了明确的规则来解释算法为何选择它的方式,因此解释决策背后的原因很容易。因此,决策树和线性/逻辑回归等算法在工业上主要用于可解释性。