Python快乐编程:人工智能深度学习基础
上QQ阅读APP看书,第一时间看更新

1.2.2 深度学习的3个层次

在《论语·阳货》中提到“性相近也,习相远也”,这句话同样适用于机器学习领域。机器学习的对象是数据,数据是否带有标签,会对机器学习最后习得的“习性”产生影响,“习染积久”的环境不一样,其表现出来的“习性”也有所不同,大致可分为3类。

1.监督学习(Supervised Learning)

美国伊利诺伊大学香槟分校计算机系的韩家炜(Jiawei Han)教授认为监督学习可以被看作“分类”(classification)的代名词。计算机从有标签的训练数据中学习,然后给定某个新数据,预测这个新数据的标签,标签(label)是指某个事物所属的类别。可以参考图1.6中的内容辅助理解监督学习的过程。

图1.6 监督学习的形式

在监督学习下,计算机就像一个“学生”,根据“老师”给出的带有标签的数据进行学习。图1.6中,老师告诉学生,图片里是一只狗,计算机便会总结图中“狗”的特征,并将符合这些特征的事物定义为“狗”。如果换一张不同的“狗”,计算机能够识别出这是一只“狗”,那么便可以说这是一次成功的标签分类。但机器学习显然不可能仅从一张图中便习得准确辨识“狗”的技能。计算机可能无法识别新的“狗”或者识别成其他动物,这时“老师”就会纠正计算机的偏差,并告诉计算机这个也是“狗”。通过大量的反复训练让计算机习得不同的“狗”具有的共同特征,这样,再遇到新的“狗”时,计算机就更可能给出正确的答案。

简单来说,监督学习的工作,就是通过有标签的数据训练,构建一个模型,然后通过构建的模型,给新数据添加上特定的标签。

事实上,机器学习的目标可以概括为:让计算机通过学习不断完善构建的模型,让构建的模型更好地适用于“新样本”,而不是仅仅在训练样本上工作得更好。通过训练构建的模型适用于新样本的能力,称为泛化(generalization)能力。

2.无监督学习(Unsupervised Learning)

无监督学习中模型所学习的数据都是无标签的,根据类别未知的训练样本解决模式识别中的各种问题。无监督学习可以被看作聚类(cluster)的近义词,可以结合图1.7理解无监督学习的过程。

图1.7 无监督学习的形式

简单来说,给定一批数据,但不告诉计算机这批数据是什么,让计算机自己通过学习构建出这批数据的模型,至于能学到什么,取决于数据自身所具备的特性。俗话说“物以类聚,人以群分”,这可以看作是在“无监督学习”环境下构建模型的过程,一开始我们并不知道这些“类”和“群”中元素的标签,经过长期的归纳和总结,我们将具有共同特征的事物归为一个“类”或“群”。以后再遇到新的事物,就根据它的特征更接近哪个“类”或“群”,就“预测”它属于哪个“类”或“群”,从而完成对新数据的“分类”或“分群”,与此同时,通过学习构筑的模型也进一步完善。

3.半监督学习(Semi-supervised Learning)

半监督学习方法同时使用了有标签数据和非标签数据。学生从小学到大学一直接受着来自学校和家庭的教育,老师和家长一直在教给学生明辨是非的方法,学生在此期间不断改善自身的性情,让自己成为一个品行优秀的人。这个过程可以被看作处于“监督学习”的环境中。当学生成年、毕业以后离开了家长和学校的“监督”,没有人再对其行为对与错进行监督。此时只能靠自己之前积累的经验和知识来帮助自己判断是非,在社会中试错,磨炼自己,丰富自己对世界的认知,帮助自己恰当地应对新的事物。半监督环境是先在有监督的环境下初步构建好模型后再进行无监督学习。

形式化的定义比较抽象,下面通过一个现实生活中的例子,来辅助说明这个概念。假设图中的学生已经学习到以下两个标签数据。

(1)图1.8(a)中左边的动物(数据1)是一只猫(标签:猫)。

(2)图1.8(a)中右边的动物(数据2)是一只猫(标签:猫)。

此时,该学生并不知道图1.8(b)的东西是什么,但这个东西和他之前学习到的有关猫的特征很接近,那么该学生便可以猜测图1.8(b)中的东西是一只猫。

对图1.8(b)中的猫进行识别后,该学生已知领域(标签数据)便进一步扩大(由两个扩大到3个),这个过程便是半监督学习。事实上,半监督学习就是先用带有标签的数据帮助计算机初步构建模型,然后让计算机根据已有的模型去学习无标签的数据。需要注意的是,这里隐含了一个基本假设——“聚类假设”(Cluster Assumption),即相似的样本拥有相似的输出。

图1.8 半监督学习

在大数据时代,半监督学习的现实需求非常强烈。因为有标签数据的收集和标记需要消耗大量的人力物力,而海量的非标签数据却唾手可得,“半监督学习”将成为大数据时代的发展趋势。