网络机器人吧社区

机器学习是什么?

无名留声 2018-11-17 09:16:37

机器学习是人工智能技术的一个部分,与智能制造、大数据一样,近几年格外的火爆。我们在了解人工智能之前,有必要了解和认识机器学习这个词。机器学习究竟是一个什么过程或者行为呢?

我们首先想想人类学习的目的是什么?是掌握知识、掌握能力、掌握技巧,最终能够进行比较复杂或者从事更高要求的工作。那么类比一下机器,我们让机器学习,不管学习什么,最终目的都是让它独立或至少半独立地进行相对复杂或者高要求的工作。我们在这里提到的机器学习更多是让机器帮助人类做一些大规模的数据识别、分拣、规律总结等人类做起来比较花时间的事情。这个就是机器学习的本质性目的。

在人类发展的历史长河中,机器逐步代替人的生产工作是一个不可逆转的趋势,从原始人的刀耕火种,氏族部落大量原始人共同使用极为原始的工具共同狩猎,到后来随着生产力发展和工种的不断分化,越来越多的工具出现,代替了原本生产所需要的众多人工。

在近现代,尤其是第一次和第二次工业革命之后,能源驱动的高能量的机器再一次在更多的领域取代人力、畜力,大大改善了人类的生产效率。

在信息革命之后,随着计算机的计算能力增强,以及在计算机算法领域新理论、新技,术的逐渐发展,机器也逐渐代替人,参与到更多的带有“一定的智能性”的信息分拣与识别的工作中来。这里面我们着重要提一下这个“一定的智能性”。

算法这种东西在最初出现的时候是一种确定性的机器指令执行序列,也就说,机器需要怎么做是早在程序一开始就设定好的。虽然说在程序执行的过程中可以依靠有限的参数对程序执行过程所涉及的对象、执行次数、执行分支条件等进行设定,但是基本行为逻辑已经大抵确定。在这个过程中,计算机是非常被动的,它老老实实地严格执行程序员赋予它的指令执行序列,没有任何“学习”的行为。

而机器学习这个领域的思路就与刚才我们所说的这样一个形式有很大的区别。我们以监督学习的过程为例,例如有一个分类器,可以将输入的邮件分拣为“普通邮件”和“垃圾邮件”两个类别。但是对于垃圾邮件的判断标准不是在程序运行伊始给出的,而是在分类器进行大量垃圾邮件分拣后,由分类器对垃圾邮件样本的各种特征进行统计和归纳而得到的。


在这个训练过程中,给予分类器的大量被标注为垃圾邮件的邮件,称为训练样本(training sample)。分类器对垃圾邮件样本的特征进行统计和归纳的过程称为训练(training)。总结出的判断标准,我们称为分类模型。与此同时,我们还会拿其他一些“普通邮件”和“垃圾邮件”给予分类器,让它尝试根据刚刚总结好的分类模型进行分类,看看它分类的正确性是否确实具有泛化性(generalization),这个步骤我们称为验证(validation)。这个过程主要是为了验证从训练样本中归纳总结出来的数据关系是否能够迁移。在此之后,我们还会使用一定量的“普通邮件”和“垃圾邮件”去测试(testing)这个模型的识别能力,看看是不是在我们业务允许的范围内。这是一个基本完整的有监督学习(supervised learning)的学习过程。

其他的有监督学习的场景也极为类似,都是基于训练样本做训练和使用验证数据集验证。在这个过程中我们不难看出,最后整个分类器工具投入生产环境对外提供服务的工作方式不是我在程序里事先写好的,而是先对给予的样本进行总结得出分类规则(标准),之后根据这个规则进行分类操作。这是一个非常形象的“机器学习”的过程,它在这个过程中自己学会了怎么样进行正确地区分事物。这是不是很有趣呢?

机器学习从学习的种类来说,最常见的习惯分作两种,一种叫无监督学习(unsupervised learning),一种叫有监督学习(supervised learning)。所谓无监督学习, 是指人们在获得训练的向量数据后在没有标签的情况下尝试找出其内部蕴含关系的一种挖掘工作,这个过程中使用者除了可能要设置一些必要的超参数(hyper-parameter)以外,不用对这些样本做任何的标记甚至是过程干预;“有监督学习与此不同,每一个样本都有着明确的标签,最后我们只是要总结出这些训练样本向量与标签的映射关系。在这两种方式下,处理的逻辑有很大的区别。近年来还出现了半监督学习(semisupervised learning)和强化学习(reinforcement learning)等种类。


参考文献:

高扬, 卫琤. 白话深度学习与TensorFlow. 北京: 机械工业出版社, 2017.


Copyright © 网络机器人吧社区@2017