规范化此表中的功能

bjd*_*385 53 machine-learning normalization

这已经成为一个非常令人沮丧的问题,但我已经在Coursera讨论中提出要求,他们也无济于事.以下是问题:

在此输入图像描述

我现在已经错了6次了.如何规范化功能?这些都是我要求的提示.

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

smc*_*mci 46

...使用特征缩放(除以特征的 "最大最小值"或范围)和均值归一化.

所以对于任何个人特征f:

f_norm = (f - f_mean) / (f_max - f_min)
Run Code Online (Sandbox Code Playgroud)

例如,对于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
Run Code Online (Sandbox Code Playgroud)

因此规范(5184)= 0.366

(使用R语言,这很像矢量化这样的表达式)

我同意令人困惑的是他们使用符号x2(2)来表示x2(norm)x2'


编辑:在实践中,每个人都调用内置scale(...)函数,它执行相同的操作.

  • 不应该是`-.366`? (14认同)