高维数据的均值和方差是什么意思?

数据挖掘 机器学习 神经网络 深度学习 scikit-学习 统计数据
2022-02-07 15:34:55

给定标题和正文,我Scikit Learn用来猜测 Stack Overflow 帖子的标签。我将标题和正文表示为两个 300 维的浮点向量。Scikit learn 的文档SGDClassifier说明:

为了使用默认学习率计划获得最佳结果,数据应具有零均值和单位方差。

使用一维数据,我了解均值和方差是什么,但是当我们进入更高维度时,如何计算数据集的均值和方差?

1个回答

它只是一维均值和标准差的扩展。假设您正在尝试估计一个人的体重,并且您有两个输入,即薪水和身高。为了找到权重,您有两个不同尺度的输入,因此您尝试分别使用数据样本找到每个特征、薪水和身高的均值和方差。假设您在一个元组中有两个数据样本,例如 (salary, height)。它们如下:

(10000, 180)
(5000, 175)

虽然第一个家伙看起来很丰富,但关于第一个和第二个数据样本的真正意义在于它们的规模不一样。方法是这样的:

  1. 在这里找到数据样本中第一个特征的平均值,工资。(10000 + 5000) / 2 = 7500
  2. 在数据样本中找到第二个特征的平均值,这里是高度。(180 + 175) / 2 = 177.5
  3. 求数据样本中第一个特征的标准差,即2500薪水。
  4. 求数据样本中第二个特征的标准差,即2.5高度。
  5. 减少每个数据样本对应特征的均值量,然后除以对应特征的标准差。
    (10000 - 7500) / 2500 = 1
    (5000 - 7500) / 2500 = -1

    (180 - 177.5) / 2.5 = 1
    (175 - 177.5) / 2.5 = -1

现在已经归一化的数据样本如下:

(1, 1)
(-1, -1)

每当您对数据进行规范化时,您的成本函数就会更容易学习。在您的特征不在同一范围内的情况下,权重不必努力达到较高的值。