机器学习Basics-第二期-什么是机器学习

背景

上一期已经讲完了本系列所有涉及的数学部分,本期将开始给大家搭建机器学习及神经网络的概念框架。

相信感兴趣的朋友,会觉得机器学习有很多名词,有很多疑问:

什么是机器学习,机器学习学的是什么呢?

监督学习与非监督学习,到底是什么呢?

深度学习是什么?什么是深度?

本篇将对概念进行一个初步的梳理,和几个简单的例子。在看完此篇之后,会对机器学习、监督与非监督学习、深度学习等概念有一个初步的认识。

插一句,关于名词和概念。 概念和名词可以方便大家沟通与交流。 但是名字也不那么重要,因为叫A、叫B都一样,只是一个约定俗成的东西。所以我自己的看法是,从实践出来,尽量了解但不纠结。因为,在实践一段时间后,对概念就自然了解了。

什么是机器学习

我在刚开始学习的时候,也经常产生这些疑问:

什么是机器学习?

它学的是什么?

它怎么学的呢?

机器学习有什么不同呢?

要回答这些问题,需要设置一个问题的场景或者应用场景。还是用我之前的文章“机器学习的hello world”的例子,我们的任务是让机器学习 识别图片中的数字,如下图,我们可以看出来是数字 1.

那么这个任务是什么呢? 简单来说就是,输入一张图片,输出一个数字1. 而从第一期可以知道,图片可以用一个Matrix矩阵来表示。

那么机器学习学的是什么呢? 这个其实是一个开放性的问题,我自己个人的理解是:

人类学习

大家可以回想下,人类做判断的时候,我们会说这个图片看起肯定是1。 但是下面几个图片,实际上就不那么明显了,人类的判断会是看起来大概是4,又有点像9,不过感觉更像4一点;

还是需要回到人类学习的过程。人类学习有两个因素,1. 不同的数字有自己的结构,而且相差都比较大 2. 人类学习过程中,经常看到1和不是1的数字,有大量的样本

机器学习

对于机器来说,判断就变成了一个概率计算的过程,计算出图片对应数字的可能性。上面那个1的图,可能超过99%的概率是1;下面的图可能就不那么明显了;

同样,机器学习的过程也有两个因素。 因为图片是以数字的形式展现的,那么图片结构就会反应在数字上。机器学习的是这些数字的结构。另外,机器学习也需要大量的样本。

机器学习与传统的算法或者程序有什么不同呢?以下是个人观点。

自主性.

传统程序是典型的计算机思维,需要人来考虑各种场景、各种逻辑判断,也就是说传统程序需要人来给出逻辑判断和清晰的定义。但是现实中很多问题,非常难给出清晰的定义。如下图,我们要判断一张图片是不是猫咪,这种问题对于人类很简单,但是对于机器很难。难在给不出定义,没有严格的逻辑判断。

因为猫可以有不同的形态、不同的颜色、不同的坐姿、不同的背景、不同的个数、不同的品种。。。等等等,这个是没办法穷举的。所以,以传统方法是没办法很好的做到判断是不是猫

那么,这个时候以类似上面的数字识别的例子,“自主”学习什么是猫 才使得图片识别变得可行。

模型的重要性或者神经网络框架的重要性

传统的重要性在于逻辑判断,软件框架等等方面。那么现在如果将这部分逻辑判断,让机器自己去发现。人类在其中的作用在哪里呢?

我个人觉得,在于模型的运用和改进。 举个例子,图片识别可以用传统的神经网络,但是对于 语言,这种明显带有顺序的例子,那么就需要使用RNN循环神经网络。这些后面都会带来

易学或者容易入门

传统程序,如果你要达到一个世界领先的水平,需要很多很多资源。但是对于机器学习,如果知道对方应用的是什么类型的模型框架,并且你也有一定的原始数据,你也可以做出一个很优秀的模型。 因为,就像之前提到的,中间的逻辑判断、学习的过程都交给机器了。那么,如果你有模型框架,而且你有数据,剩下的交给机器就好了。你也做出来非常优秀、先进的模型

机器学习是怎么学习的呢?

对于这个话题,我后续会带来。前期也有很多篇关于这个的文章,比如第一篇和NLP的第四期和“机器学习的hello world”

监督学习vs非监督学习

上一部分已经大概解释了机器学习的概念。监督学习与非监督学习就相对简单很多。

监督与非监督学习的差异就在于,是否有对应的标签数据。还是以上面的例子来说,可以对于这种图片我们能面对两种任务:

任务1

我们有60000个类似下面的样本,每个样本包含(X,Y)X代表着图片对应的矩阵,Y代表着真实的数字,下图就是数字1.

我们的任务是通过对60000样本的学习,能够对新的样本做出判断

任务2

我们有60000个类似下面的样本,每个样本只有一个X,X代表着图片对应的矩阵。 我们没有Y

我们的任务是对60000个样本进行分类 0~9

监督学习与非监督学习的区别就是在于,我们是否有Y,即标签。

深度学习

深度学习,这个词听起来挺深奥的。 其实,最简单的解释就是,当我们应用神经网络时,有运用多层神经网络,有运用不同的神经元。

下图是一个CNN(卷积神经网络)多用于图片识别。大家能看来非常复杂。

本文章,第一部分,已经提到,机器学习的重点在于模型的建立。不同复杂程度的模型,可以应对不同的问题。 而深度学习是一个比较宽泛的概念,最简单的理解就是神经网络有很多层。 但是其核心是,该神经网络的复杂程度 和 特征 能够适应该问题的数据特征。

下期预告

本期稍微给大家讲解了下 机器学习的一些概念。但是对概念的理解,肯定是要在实践中生成的。 后续会给大家带来更多的例子。

后续会给大家带来,神经网络的框架和训练等等。

感兴趣的朋友,请关注下~

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181014A0BJ5M00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券