前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >深度学习与机器学习

深度学习与机器学习

作者头像
花落花飞去
发布2018-02-07 16:46:00
1.1K0
发布2018-02-07 16:46:00
举报
文章被收录于专栏:人工智能人工智能人工智能

机器学习和深度学习变得风靡一时!突然之间,每个人都在谈论他们 —— 不管他们是否了解这两者的区别!无论您是否关注数据科学,你肯定听过这些术语。

从谷歌这些关键字的趋势上就可以看出他们是多受关注:

如果您想知道机器学习与深度学习之间的区别,请继续阅读,下面将以简单通俗的语言进行详细对比。我详细解释这里面每一个术语。然后,我会比较两者,并解释我们可以用它来做什么。

什么是机器学习和深度学习?

让我们从基础开始:什么是机器学习,什么是深度学习?如果您已经知道这一点,请随时跳过。

什么是机器学习?

由 Tom Mitchell 提出的,被广泛引用的,对机器学习的定义简单明了地解释了机器学习。它是这么说的:

“计算机程序通过完成某类任务(T)和完成任务的表现(P)中学习得到经验(E),并且它在完成任务(T)中的表现(P)会随着经验(E)逐渐提高。”

听起来有些拗口?我们用简单的例子来分解这个问题。

示例1:机器学习和基于身高的体重预测

假设你想创建一个系统,根据一个人的身高来预测他的体重。有许多理由让你去做这件事,比如你可以使用它来过滤作弊的可能或数据采集错误。你做的第一件事是收集数据。假设你的数据是这样的:

图上的每个点代表一个数据点。首先,我们可以绘制一条简单的线,根据身高来预测体重。

例如,简单的一行公式:

Weight (in kg) = Height (in cm) - 100

...可以帮助我们做出预测。虽然这条线看起来不错,但我们还需要知道它的性能怎么样。在这种情况下,我们可以说我们想减少预测和实际之间的差异。这就是我们衡量它的性能的方法。

而且,我们收集的数据点(经验)越多,我们的模型就越好。我们还可以通过添加更多的变量(即性别)来创建不同的预测线来改进我们的模型。

示例2:风暴预测系统

我们来看一个稍微复杂的例子。假设你正在建立风暴预测系统。您手上有过去发生的所有风暴的数据,以及发生这些风暴之前三个月的天气情况。

如果我们要手动建立一个风暴预测系统,我们该怎么做?

我们必须首先浏览所有的数据,并找出这些数据中的模式。我们的任务是搜索哪些条件会导致风暴。

我们可以模拟条件(即如果温度大于40摄氏度,湿度在80-100范围内等),并将这些“特征”手动输入到我们的系统中。

我们也可以让我们的系统从数据中找到合适的特征值。

为了找到这些值,你会浏览所有过去的数据,并试图预测是否会发生风暴。根据我们系统选取的特征值,我们评估系统的性能。换句话说,系统正确预测风暴发生的次数。我们可以多次重复上述步骤,将性能作为反馈给我们的系统。

让我们正式定义一下我们的风暴预测系统:我们的任务是确定将引发风暴的大气条件。在提供给系统的所有条件中,性能P是正确预测风暴的次数。经验E将会在我们系统中迭代。

什么是深度学习?

深度学习的概念并不新鲜。它已经存在了好几年了。但是随着当下的炒作,深度学习越来越受到关注。就像我们在机器学习中所做的那样,我们将看一个深度学习的正式定义,然后用一个例子来分解它。

“深度学习是一种特殊的机器学习,通过学习将世界表现为嵌套的概念层次结构,从而获得强大的性能和灵活性,每个概念都与更简单的概念相联系,而抽象的概念将由不那么抽象的概念计算得出。 ”

这有点令人困惑。我们用一个简单的例子来分解它。

示例1:形状检测

让我从一个简单的例子开始,解释在概念层面发生的事情。让我们试着去了解如何从其他形状中识别一个正方形。

我们眼中的第一件事是检查是否有相连的四条直线(简单的概念)。如果我们找到四条直线,我们进一步检查它们是否相连,封闭且垂直,以及它们的长度是否相等(嵌套的概念层次)。

所以,我们将一个复杂的任务(识别一个方块)分解成了简单的,不太抽象的任务。深度学习本质上就是大规模的这种工作。

示例2:猫与狗

让我们举一个动物识别的例子,我们的系统必须识别出给定的图像是猫还是狗。阅读这里 了解深度学习在解决这类问题上比机器学习领先了一大步。

机器学习与深度学习的比较

现在您已经对机器学习和深度学习有了一个概述,下面我们将学习更重要的几点并比较这两种技术。

数据依赖性

深度学习与传统机器学习最重要的区别在于它的性能随着数据规模的增长而增长。当数据量很小时,深度学习算法的表现并不好。这是因为深度学习算法需要大量的数据来训练。另一方面,传统的机器学习算法与他们的手动规则在这种场景下占据优势。下面的图片总结了这种情况。

硬件依赖

与传统的机器学习算法可以在低端机器上运行不同,深度学习算法在很大程度上取决于高端机器。这是因为深度学习算法需要用到GPU,这是其工作的一个重要组成部分。深度学习算法重复进行大量的矩阵乘法运算。这些操作可以使用GPU进行高效优化,因为GPU正是为此目的而构建的。

特征工程

特征工程是将特定领域的知识放入特征提取器的过程,以减少数据的复杂性,使模式更易于学习算法的运行。这个过程在时间和专业知识上是都是困难且昂贵的。

在机器学习中,大多数应用特征需要由专家来识别,然后根据领域和数据类型进行手动编码。

例如,特征可以是像素值,形状,纹理,位置和方向。大多数机器学习算法的性能取决于如何准确地识别和提取特征。

深度学习算法尝试从数据学习高级特征。这是深度学习中非常独特的一部分,也是与传统机器学习的最大的区别。因此,深度学习减少了为每个问题开发新的特征提取器的工作。例如,卷积神经网络 将尝试学习低级特征,例如早期图层中的边缘和线条,然后是人脸的一部分,然后是高级表示。了解更多关于神经网络及其在深度学习中的应用

解决问题的途径

使用传统的机器学习算法解决问题时,一般建议将问题分解成不同的部分,分别求解,合并得到结果。相比之下,深度学习主张端到端解决问题。

让我们看一个例子来理解这一点。

假设你有一个多物体检测的任务。任务是确定图像中的对象是什么以及它在图像中的位置。

在典型的机器学习方法中,您可以将问题分为两个步骤:对象检测和对象识别。首先,您将使用像 grabcut 这样的边界框检测算法来浏览图像并查找所有可能的对象。然后,在所有被识别的对象中,您可以使用SVM和HOG等对象识别算法来识别相关对象。

与之不同,通过深度学习的方法,您可以端到端地完成这个过程。例如,在一个YOLO网络(一种深度学习算法)中,你可以传入一个图像,它就会给出对象的名称和位置。

处理时间

通常,深度学习算法需要很长时间来训练。这是因为在深度学习算法中有太多参数因此需要比平时更长的训练时间。最先进的深度学习算法ResNet需要大约两周的时间才能完全从零开始进行训练,而机器学习相对而言花费的时间只需几秒到几个小时。

然而,在测试时间上则是完全相反。在测试时间上,深度学习算法花费的时间将少得多。如果将其与k-nearest neighbors(一种机器学习算法)进行比较,那么当增加数据规模时,测试时间也会增加。当然这不适用于所有机器学习算法,也有一些测试时间很短。

解释性

最后但同样重要的,我们把解释性作为比较机器学习和深度学习的一个因素。

我来举个例子。假设我们使用深度学习来自动给文章评分。它在评分中的表现非常出色 —— 这是近乎人性化的表现。但是有一个问题。它并没有透露 为什么 它给出这个分数。当然,在数学层面上你可以找出深层神经网络的哪个节点被激活。但我们不知道神经元应该建立什么样的模型,这些神经元是在做什么。所以我们没有解释结果。

另一方面,像决策树这样的机器学习算法给了我们清晰的规则,为什么他们选择了他们选择的东西,所以很容易解释它背后的推理。因此,决策树和线性/ 逻辑回归等算法主要用于解释性行业。

机器学习和深度学习用在哪里?

机器学习维基百科的文章提供了机器学习在所有领域应用的概述。包括:

  • 计算机视觉 如车辆牌照识别和面部识别。
  • 信息检索 ,如搜索引擎 —— 文本搜索和图像搜索。
  • 营销 如自动电子邮件营销和目标识别。
  • 医疗诊断 如癌症鉴定和异常检测。
  • 自然语言处理 如情感分析和照片标记。

上面的图片恰当地总结了机器学习的应用领域,涵盖了机器智能这个更广泛的话题。

使用机器学习/深度学习的最好的例子就是Google

在上图中,您可以看到Google如何将机器学习应用于各种产品。机器学习/深度学习的应用是无止境的 —— 只要你找到合适的机会!

快速测验

为了评估你是否真的理解了这些区别,我们会做一个测验。你可以在这个帖子中发表你的答案。

请根据以下步骤来回答每种场景。

  • 如何使用机器学习解决以下问题?
  • 如何使用深度学习解决以下问题?
  • 结论:哪种方法更好?

场景1

你要构建一个自动驾驶的软件。你构建的系统应该从摄像机中获取原始像素数据,并预测你应该控制车轮转动的角度。

场景2

给定一个人的证件和背景信息,你的系统应该评估一个人是否有资格获得贷款补助金。

场景3

你要建立一个系统,可以将用俄语写成的信息翻译成印地语,以便俄罗斯代表可以向当地群众发言。

在这里 查看有关上述数据科学问题的讨论和观点。

未来的趋势

本文概述了机器学习和深度学习以及它们之间的差异。在这一节中,我将分享我对机器学习和深度学习将来如何发展的看法。

  • 首先,行业中使用数据科学和机器学习的趋势越来越明显,每个想要活下来的公司都希望在自己的业务中包含机器学习。苹果公司正在利用 iPhone X 进行机器学习,这标志着这项技术的发展。
  • 深入的学习让我们每一个人都感到惊讶,并将在不久的将来继续这样做。因为深度学习已经被证明是最具有先进性的技术之一。
  • 机器学习和深度学习的研究是不断的。但与前几年研究局限于学术界不同的是,机器学习和深度学习的研究正在业界和学术界爆发。而且,随着大量的资金投入,它将有可能成为整个人类发展的基调。
评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是机器学习和深度学习?
    • 什么是机器学习?
      • 示例1:机器学习和基于身高的体重预测
      • 示例2:风暴预测系统
    • 什么是深度学习?
      • 示例1:形状检测
      • 示例2:猫与狗
  • 机器学习与深度学习的比较
    • 数据依赖性
      • 硬件依赖
        • 特征工程
          • 解决问题的途径
            • 处理时间
              • 解释性
              • 机器学习和深度学习用在哪里?
              • 快速测验
                • 场景1
                  • 场景2
                    • 场景3
                    • 未来的趋势
                    相关产品与服务
                    NLP 服务
                    NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档