标准化此 table 中的一个特征

Normalize a feature in this table

这已成为一个令人沮丧的问题,但我在 Coursera 的讨论中提出过,但他们无济于事。下面是问题:

我现在已经错了6次了。如何规范化特征?我只求提示。

我假设 x_2^(2) 的值为 5184,除非我要添加 1 的 x_0 列,他们没有提到但他肯定在讲座中提到在谈论创建设计矩阵 X 时。在这种情况下,x_2^(2) 的值为 72。假设一个或另一个是正确的(我在玩猜谜游戏),我应该使用什么来规范化它?他在讲座中谈到了 3 种不同的归一化方法:一种使用最大值,另一种使用最大值和最小值之间的 range/difference,另一种使用标准差——他们想要一个正确的答案 百分之一。我该用哪一个?这太令人困惑了。

通常我们将它们归一化为零均值并在 [-1, 1] 之间。

您可以轻松地除以绝对值的最大值,然后去除样本的平均值。

"I'm assuming x_2^(2) is the value 5184" 是因为它是列表中的第二项并使用下标_2? x_2 只是数学中的一个变量标识,它适用于列表中的所有行。请注意,最高的原始期中考试成绩(即未平方的成绩)在期末考试中下降,而最低的原始期中考试成绩在期末考试中增加最多。 Theta 是一个固定值,一个系数,所以在某个地方你的 x_1 和 x_2 值的标准化必须变成(编辑:不是负数,小于 1)以允许这种行为。通过确定枢轴点的位置,这有望为您提供一个起点。

...use both feature scaling (dividing by the "max-min", or range, of a feature) and mean normalization.

因此对于任何单个特征 f:

f_norm = (f - f_mean) / (f_max - f_min)

例如对于 x2,(期中考试)^2 = {7921, 5184, 8836, 4761}

> x2 <- c(7921, 5184, 8836, 4761)
> mean(x2)
 6676
> max(x2) - min(x2)
 4075
> (x2 - mean(x2)) / (max(x2) - min(x2))
 0.306  -0.366  0.530 -0.470

因此 norm(5184) = 0.366

(使用R语言,擅长像这样向量化表达式)

我同意他们使用符号 x2 (2) 表示 x2 令人困惑(范数)x2'


编辑:实际上每个人都调用内置的 scale(...) 函数,它做同样的事情。

它要求使用特征缩放和均值归一化对第二列下的第二个特征进行归一化。因此,

(5184 - 6675.5) / 4075 = -0.366

我有同样的问题,在我的例子中,我使用的是最大 x2 值 (8836) 减去最小 x2 值 (4761) 除以二的平均值,而不是每个 x2 值除以的总和按示例数量。

对于相同的训练集,我得到的问题是 Q. 归一化特征 x^(3)_1 是什么?

因此,第 3 个训练 ex 和第一个特征在上面 table 中达到 94。 现在,规范化形式是

x = (x - mean(x's)) / range(x)

值为:

x = 94
mean(89+72+94+69) / 4 = 81
range = 94 - 69 = 25

Normalized x = (94 - 81) / 25 = 0.52

我现在正在学习这门课程,我第一次回答这个问题时犯了一个非常小的错误,就是在答案中使用逗号而不是点,因为我是手工做的,在我的国家我们使用逗号来表示小数。例如:(0,52 而不是 0.52)

所以我第二次尝试使用点并且工作正常。