机器学习模型可以用作某种压缩吗?

数据挖掘 机器学习 机器学习模型
2021-09-18 05:09:27

我试图了解机器学习是如何工作的。我读了很多书,现在我想到它可能是一种实际的误用。我也希望这个问题是这里的主题。

如果我有一些错误的假设,请纠正我:

  • 所有模型都需要样本数据
  • 学习过程是对其功能的某种优化,也就是中子
  • 学习过程是迭代的,以找到参数的最佳值以最大化神经元的预期输出
  • 为了使这个过程更快,你需要对数据进行某种缩减,这样最终中子就不需要查看输入的每个部分
  • 您将训练数据分成两个桶,以发现结果对优化变得更好(我称之为验证,不知道这到底是怎么称呼的)
  • 如果您的验证数据不正确或等于输入数据,则结果可能与您的输入数据一样好

如果这是真的,或者至少在大多数情况下我得到了这个想法:
当我将输入数据设置为与输出数据相同时,模型什么也不做,但是对于相同的数据,我总是得到相同的数据,对吗?

因此,当我按照表中所示训练模型时:

输入 输出
0 3
1 1
2 4
3 1
4 5
5 9
6 2
7 6
8 5

然后模型将根据正确的位数返回 PI(原因是非学习索引是随机的)

我绝对知道这根本没有意义,但我只是好奇我是否正确理解你可以在 ML 模型中“压缩”数据。

2个回答

你是对的,我不确定我是否完全按照你所说的去做,但是对于你的整体问题,机器学习模型是否可以用作一种压缩形式 - 是的!

一个很好的例子是自动编码器,它是一个神经网络,可以将输入“分解”为基本元素,然后仅使用所需的元素重构输入。这正式称为Dimensionality Reduction

一些实际应用正在消除例如图像中的噪声,如果您考虑删除不需要的数据,但保留整体外观。很像传统的图像压缩,它看起来并不完全相同。

我认为你如何定义机器学习有很多困惑:

  • 有不同类型的学习:如果模型是用带有“正确”答案注释的数据训练的,那么它就是监督学习。
  • 有监督的 ML 有许多不同的“家族”(方法)。您的描述侧重于神经网络,但还有很多其他的。
  • 您的最后两个步骤可能是指验证(在训练期间)和/或评估(在训练之后和单独的测试集上),但这不是很清楚。

监督机器学习可以总结如下:

  • 目标是让系统找到一个函数f它转换输入x(特征)输出y(目标变量)
  • 该系统提供了一对样本(x,y)(训练数据)。请注意,此样本只是总体数据的一个子集:经过训练,系统必须能够找到y对于任何输入x, 不仅值x 在训练数据中看到。
  • 这就是为什么系统必须从数据中进行泛化,即在x 这有助于确定 y. 如果系统没有泛化并且只存储准确的x 给出哪个 y 那么它无法预测答案 y 对于任何价值 x 这在训练数据中没有看到,那是没用的。

从某种意义上说,泛化过程可以看作是压缩训练数据中包含的知识。但是,至少有几个主要区别:

  • 压缩的目标是表示一个特定的输入 x 使用尽可能少的空间,以使重新获得相同的空间成为可能 x,可能会有一些损失。监督机器学习的目标是预测输出y对于任何 x. 第一的yx,但更重要的是,ML 无法生成训练时使用的数据(通常,请参见下面的例外情况)。
  • ML 模型不必减少训练数据的大小。例如,基于实例的学习只存储所有实例,以便以后将其用于预测。