购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

在深入学习深度学习和搜索细节之前,先概述基本的机器学习概念会有极大的帮助。许多应用于人工神经网络学习的概念,如 监督学习 (supervised learning)和 无监督学习 (unsupervised learning)、 训练 (training)和 预测 (predicting),都来自机器学习。让我们快速回顾一下机器学习的一些基本概念,本书将在介绍深度学习搜索应用的过程中使用这些概念。

机器学习是一种基于算法来自动解决问题的方法,它可以从经验中学习问题的最优解决方案。在许多情况下,这种经验成对出现,包括以前观察到的数据,以及人们希望算法从中推断出的结果。例如,可以给机器学习算法提供文本对,其中输入是一些文本,输出是一个类别,用于对类似的文本进行分类。现在想象你回到了图书馆,但这次是作为一名图书管理员。你购买了成千上万本书,想把它们有序地陈列在书架上,以方便人们查找。为此,你希望对它们进行分类,将同一类的书放在同一个书架上(书架上可能有一个小标签表示类别)。如果先花几个小时手动对书进行分类,那么你就构建了机器学习算法所需的经验。然后,你可以根据自己的理性判断来训练一个机器学习模型,它将替你对剩余的图书进行分类。

在这种类型的训练中,由你指定与每个输入对应的输出类型。这种训练被称为 监督学习 (supervised learning)。由一个输入及其对应的目标输出所组成的一对样本,被称为 训练样本 (training sample)。表1-2展示了为了帮助创建监督学习算法,图书管理员可以手动进行的一些分类。

表1-2 图书分类的实例

监督学习算法会在被称为训练阶段(training phase)的过程中输入类似表1-2中的数据。在训练阶段,机器学习算法处理训练集(训练样本的集合),并学习如何映射,比如将输入文本映射到输出的类别中。机器学习算法学习的内容取决于它将用于完成什么任务,在本例中,它应用于 文档分类 (document categorization)任务。机器学习算法的 学习方式 取决于算法本身的构建方式。并不只有一种算法可用于机器学习,机器学习有不同的子领域,这些子领域存在许多不同的算法。

说明 深度学习只是利用神经网络实现机器学习的一种方法。当要决定哪种神经网络最适合用于完成某项任务时,往往有大量的选择。在本书中,我们将主要讨论基于深度学习的机器学习。我们偶尔也会快速介绍其他类型的机器学习算法,主要是为了比较和分析真实场景。

训练阶段完成后,通常会得到一个机器学习模型。可以将其看作捕获算法在训练期间所学内容的一个制品(artifact),这个制品将用于预测。当模型接收到一个不包含任何期望输出的新输入时,便开始预测。然后模型根据在训练阶段所学到的内容,给出一个正确的输出。需要注意的是,如果你想输出好结果,就需要在训练阶段提供大量数据(不是数百个,而是至少数万个训练样本)。

在图书分类的例子中,当给定以下文本时,模型将提取“搜索”和“Lucene”等类别。

Lucene is a powerful Java search library that lets you easily add search to
     any application ...

这是 Lucene in Action 第2版的开场白。

就像前面提到的,提取出来的“类别”信息可用于将同一类别的图书放在图书馆的同一个书架上。那么,除了人为地提供一套已经做好分类的图书作为训练集,是否还有其他方法来实现这个功能呢?如果能找到一种方法来判别几本书之间的相似度,就可以把内容相似的书放在一起,而不用太在意每个图书类别的确切名称。如果要在不进行事先分类的前提下达成这个目的,可以使用 无监督学习 技术将类似的文档聚集在一起。与监督学习相反,在无监督学习中,机器学习算法在学习阶段并没有任何期望输出,它会从读取的数据中提取模式和数据表示。在聚类过程中,每个输入数据片段(在本例中,是一本书的文本)都转换为图表上的一个点。在训练阶段,聚类算法分类放置每一个点,并且假设位置相近的点在语义上彼此相近。训练结束后,同类图书就可以放在书架上相应的位置。

在这个例子中,无监督学习的输出是一组聚类,每个聚类包含分配好的点。如前文所述,这类模型可以用来进行预测,比如预测这本新书/这个点属于哪个集合。

机器学习可以帮助解决许多问题,包括图书分类和相似文本分组。截至21世纪初,人们已经为解决这类任务尝试过各种技术,以取得良好的效果。最后,不论是在大学的研究实验室还是工业中,深度学习都成为了主流。由于深度学习能更好地解决许多机器学习问题,因此广为人知,其使用也变得更加频繁。深度学习取得的成功和它的广泛使用不仅让图书分类和聚类变得更加精确,而且还带来了许多其他方面的进步。 3ygBOVfbAVRVLBm70y9yIWio20fWM4srRSxFr8fxm1AsoQEqm9Jl168seexCXa7j

点击中间区域
呼出菜单
上一章
目录
下一章
×