什么是表征学习?

数据挖掘 特征选择 术语
2021-10-12 09:14:17

我正在阅读深度学习书的第 1 章,其中出现以下内容:

车轮具有几何形状,但其图像可能会因落在车轮上的阴影、太阳从车轮的金属部件上刺眼、汽车的挡泥板或前景中的物体遮挡车轮的一部分等而变得复杂。在。

这个问题的一种解决方案是使用 ML 不仅发现从表示到输出的映射,而且还发现表示到自身的映射。这种方法称为表示学习。

在这里,我没有理解表示学习的确切定义。我参考了维基百科页面和 Quora,但没有人解释清楚。缺乏适当的例子的解释也缺乏。

作者引用自动编码器作为表示学习算法的示例。

自动编码器是编码器功能(将输入数据转换为不同的表示)和解码器功能(将新的表示转换回原始格式)的组合

有人可以用更简单的术语解释一下表示学习到底是什么吗?

[如果用一个例子来解释会好得多。车轮示例也可以。]

2个回答

如果您查看较旧的机器学习算法,它们会依赖输入作为特征,并在此基础上学习分类器、回归器等。大多数这些功能都是手工制作的,也就是说,它们是由人类设计的。计算机视觉中的经典特征示例包括 Harris、SIFT、LBP 等。

这些问题在于它们是由人类基于启发式设计的。可以使用这些特征来表示图像,并且可以在此之上应用 ML 算法。然而,就目标函数而言,它们可能不是最优的,即,有可能设计出更好的特征,从而降低目标函数值。我们可以学习它们,而不是手工制作这些图像表示。这被称为表示学习。我们可以有一个神经网络,将图像作为输入并输出一个向量,该向量是图像的特征表示。这是表示学习器。随后是另一个充当分类器、回归器等的神经网络。

因此,在轮子示例中,您可以尝试手动描述轮子的外观以及如何表示它。比如说,它应该是圆形的、黑色的、有胎面的等等。但这些都是手工制作的特征,可能并不适用于所有情况。例如,如果您从不同的角度看车轮,它可能是椭圆形的。或者照明可能会导致它有更亮和更暗的斑块。这些类型的变化很难手动解释。相反,我们可以让表示学习神经网络从数据中学习它们,方法是给它几个轮子的正面和反面例子,并端到端地训练它。

希望这是有道理的。如果我能澄清我提出的任何观点,请告诉我。

“这个问题的一个解决方案是使用 ML 不仅发现从表示到输出的映射,而且还发现表示到自身的映射。这种方法称为表示学习。”

  1. 将表示映射到输出称为“异类关联”。

  2. 将表示映射到自身称为“自动关联”。

这两种方法都是关于分类的,但在第一种情况下,您将表示(或对象、项目或向量)与标签(与原始表示的对象、项目或向量不同的类别)相关联。在第二种情况下,您将表示(或对象、项或向量)关联到标签(对于原始表示的对象、项或向量)。

通过表示,它们意味着图像、对象、项目、矢量等。

因此,自动关联编码器可以获取图像并输出原始图像的类别,而异相关联编码器可以获取图像并输出该图像的学习关联(例如,单词“dog”)。

自动联想学习如何有用?拼写检查器就是一个很好的例子。给定一个小的单词词典(“dog, hog, hat, heat”),每个单词形成自己的类别,我们可以创建一个自动编码器,当呈现每个单词时,对单词进行特征化,并返回原始类别/单词。让我们使用三元组对单词进行特征化。因此,我们将每个单词拆分为其特征集,并让该特征集代表原始单词,如下所示:

dog  --> {'  d', ' do', 'dog', 'og ', 'g  '} --> dog

hog  --> {'  h', ' ho', 'hog', 'og ', 'g  '} --> hog

hat  --> {'  h', ' ha', 'hat', 'at ', 't  '} --> hat

heat --> {'  h', ' he', 'hea', 'eat', 'at ', 't  '} --> heat

现在我们提出一个新词,对其进行特征化,然后看看它落在哪里:

hot --> {'  h', ' ho', 'hot', 'ot ', 't  '} --> ???

"hot" matches 0% of the features in "dog".

"hot" matches 40% of the features in "hog".

"hot" matches 40% of the features in "hat". 

"hot" matches 33% of the features in "heat". 

如果匹配阈值为 40% 或更低,则 hot 将被归类为“hog”或“hat”。如果我们的匹配阈值高于 40%,那么将没有匹配,因此不会对 hot 一词进行适当的分类。

每个词典条目(dog、hog、hat、heat)的自动编码允许我们获取每个单词的原始表示并将其拆分为特征,这些特征可以组合起来指向原始表示。

dog  --> {'  d', ' do', 'dog', 'og ', 'g  '} --> dog

异种编码可以获取每个词典条目并将其映射到不同的类别。

dog --> animal

hog --> animal

hat --> thing

heat --> thing

在本例中,一个简单的哈希表就足以作为异型编码器。

神经网络采用特征的输入向量并以自关联或异关联的方式输出类别。