机器学习之一 – 基本概念

人工智能致力于给机器赋予人类的智慧和行动方式,数年来其相关理论和技术逐渐成熟,相应应用领域也不断得到扩展。本篇将基本概念入手,为大家讲解什么是机器学习。

机器学习 任务 模型

什么是机器学习

简单的说,机器学习就是基于生理学和认知科学等领域的知识,让机器通过对一些已有数据(经验)的学习,从而能够完成一些任务。例如,人脸识别;根据你购物时的一些信息,向你推荐商品;下棋;翻译等。

机器学习-基本概念:任务

此时很多读者朋友可能会疑惑,任务具体又是什么含义呢?举个例子,“识别照片中的物体(为简单化,我们假设每张照片中只有一个物体),判断是什么类别。这就是一个机器学习的任务。

机器学习会通过一个模型来做这个任务。我们可以将模型理解为一个机器,输入数据,由这个机器进行处理,然后输出结果。即,机器学习在执行任务时,就是:输入数据 -> 模型 -> 输出结果

所以,理解任何一个机器学习,要弄明白这三件事:

  • 输入的数据是什么
  • 输出的结果是什么
  • 模型具体是如何实现的

比如,我们上面说的任务,识别照片中的物体,判断是什么类别,即:

  • 输入一张图片数据
  • 输出图片中物体的类别(比如,汽车、飞机、…)
  • 模型:这个我们后面再细讲。

再比如,翻译任务,即:

  • 输入一句话(比如一句英文)
  • 输出另一句话(比如一句中文)
  • 模型:这个就非常复杂了,我们不会细讲,但说到底就还是要知道这里是一个模型。

要理解任何一个机器学习的任务,首先就是把输入输出弄清楚。

机器学习-基本概念:模型

在上一部分中我们把模型理解成一个机器。现在更具体一点说说什么是模型。

模型,是由计算机完成的一个功能 ,基于输入的数据,产出输出的数据。

在机器学习中的模型,还有进一步的特点,就是模型包括结构和参数两部分

结构,其实就是计算的方法。比如,输入x1和x2,计算时用x1+x2,得到输出y,这个x1+x2的方法就是一种结构。

但是,计算的时候,这个结构还可能更复杂,还包括参数。比如,输入x1和x2,输出y=a*x1 + b*x2,这个公式体现出了计算的结构,同时这里还包括了参数a和b。对一个模型,可能参数取值不一样,就可以解决不同的任务。

机器学习中有很多不同类型的模型,其实说的就是各种结构。但同一个结构,处理不同任务时参数差别会很大。

比如,我们进行两个不同的任务,一个用来预测图像是火车还是汽车,另一个用来预测图像是树还是花。这两个任务可以用同一种类型的模型,或者说同一个结构,但模型具有不同的参数,就可以达到不同的目的。

在使用一个模型时,参数往往是已经预置好的,直接拿来用就可以了。而机器学习的“学习”过程,就是生成这些参数的过程。这个生成参数的过程,叫做训练。

机器学习-基本概念:训练

训练,是让模型基于对一些已有数据(经验)的学习,生成模型的参数,从而使模型能够完成相应的任务。

就好象一个人,通过学习一些资料,就掌握了一个技能,其实就可以理解为在其脑子中生成了一些参数。

——那么,具体怎么训练(学习)呢?

根据训练方法的不同,机器学习会分成有监督学习、无监督学习以及半监督学习等几类。最典型和常用的机器学习的训练方法,就是有监督学习。

我们通过图像识别的例子来看看有监督学习是怎么做的。

任务:识别照片中的物体,判断是什么类别,即:

  • 输入一张图片数据
  • 输出图片中物体的类别(比如,汽车、飞机、…)

在训练时,会准备很多图片,同时会标出这些图片中物体的类别。然后,用一定的方法来训练模型,模型就通过这些训练的图片和所标的类别,学习到了完成这个任务的能力,也就是学习到了模型的参数。

有监督学习,一般都是这个模式。在这里,准备出来进行训练的图片,称为训练数据,而在训练数据上标的物体的类别,称为标签。也可以把图片和类别统称为训练数据,这个叫法也没什么不可以,无非是一种定义。但最关键的,是要知道有监督学习的标签是什么,要知道训练是基于标签进行的。

——再深入一点(但还不是很深入)讲讲训练是怎么进行的:

  • 开始时,给模型一套初始的参数,比如,这些参数可能是随机给的。
  • 基于训练数据,可以通过当前的模型生成一个结果,我们称为预测值。当然,这个预测值可能是不准的。
  • 我们拿预测值和标签进行对比,如果对比有差别,就对模型的参数做做调整,让差别变小一些。具体怎么调整,有很专业的算法,在此不细说。
  • 每一份训练数据基于上述的方法用于训练,都会对参数产生一定的影响。用很多数据来训练,这种影响叠加起来,就使得模型的参数不断优化,最终可以达到比较好的预测结果。
  • 模型训练到一定程度,就可以拿去用了。

总结:

从以上介绍可以看出,机器学习就是让机器学会和人类一样根据知识和经验进行思考和行动的过程。学习能力是“智能”的重要特征,以往的机器不会根据错误修正自身,也不能根据新获取的数据对自身进行改善,仅能证明已存在的定理等而不能发现新的规律和定理,这些局限性随着人工智能的发展愈加突出。