我使用线性回归来预测数据。但是,当我标准化(Vs)标准化变量时,我得到完全对比的结果。
标准化= x -xmin / xmax - xmin 零分标准化= x - xmean / xstd
a) Also, when to Normalize (Vs) Standardize ?
b) How Normalization affects Linear Regression?
c) Is it okay if I don't normalize all the attributes/lables in the linear regression?
谢谢, 桑托什
答案 0 :(得分:20)
请注意,结果可能不一定如此不同。您可能只需要两个选项的不同超参数来得到类似的结果。
理想的做法是测试哪种方法最适合您的问题。如果由于某种原因你负担不起,大多数算法可能会比标准化更有利于标准化。
请参阅here,了解一个应该优先于另一个的例子:
标准化规范化的一个缺点是它丢失了数据中的一些信息,尤其是关于异常值的信息。例如,在聚类分析中,标准化对于比较基于特定距离度量的特征之间的相似性可能尤其重要。另一个突出的例子是主成分分析,我们通常更喜欢标准化而不是Min-Max缩放,因为我们对最大化方差的组件感兴趣(取决于问题以及PCA是否通过相关矩阵计算组件而不是协方差矩阵;但在我之前的文章中更多关于PCA。)
然而,这并不意味着Min-Max缩放根本没用!一种流行的应用是图像处理,其中像素强度必须被归一化以适合特定范围(即,对于RGB颜色范围,0到255)。此外,典型的神经网络算法需要0-1级的数据。
同样在链接页面上,有这样的图片:
正如您所看到的,缩放将所有数据聚集在一起非常接近,这可能不是您想要的。它可能会导致梯度下降等算法需要更长时间才能收敛到标准化数据集上的相同解决方案,或者甚至可能使其无法实现。
“规范化变量”并没有多大意义。正确的术语是“规范化/缩放特征”。如果您要对一个功能进行标准化或缩放,则应该对其余功能执行相同操作。
答案 1 :(得分:7)
这是有道理的,因为规范化和标准化做了不同的事情。
规范化将数据转换为0到1之间的范围
标准化会转换您的数据,使得结果分布的均值为0,标准差为1
规范化/标准化旨在实现类似的目标,即创建彼此具有相似范围的特征。我们希望如此,因此我们可以确定我们正在捕获特征中的真实信息,并且我们不会因为其值远大于其他特征而对特定特征进行权衡。
如果您的所有功能都在相似的范围内,则不需要标准化/规范化。但是,如果某些特征自然地采用比其他特征大得多/小的值,则需要标准化/标准化
如果您要对至少一个变量/特征进行规范化,我也会对所有其他变量/特征做同样的事情
答案 2 :(得分:2)
第一个问题是为什么我们需要规范化/标准化?
=>我们以数据集为例,其中有薪水变量和年龄变量。 年龄范围从0到90,薪水范围从2万到25万。
我们比较2个人的差异,然后年龄差异将在100以下,而薪水差异将在数千之间。
因此,如果我们不希望一个变量主导另一个变量,则可以使用Normalization或Standardization。现在年龄和薪水都将是相同的比例 但是当我们使用标准化或标准化时,我们会丢失原始值,并将其转换为某些值。因此,如果要从数据中进行推断,那么就失去了解释性,但极为重要。
归一化将这些值重新缩放为[0,1]的范围。也称为最小-最大缩放比例。
标准化将数据重新缩放为平均值(μ)为0,标准偏差(σ)为1,因此它给出了正态图。
以下示例:
另一个例子:
在上图中,您可以看到我们的实际数据(绿色)以黑白1到6传播,标准数据(红色)以-1到3左右传播,而标准化数据(蓝色)在-1到3左右传播。 0至1。
通常,许多算法要求您先标准化/标准化数据,然后再将其作为参数传递。就像在PCA中一样,我们通过将3D数据绘制为1D(例如)来进行尺寸缩减。在这里,我们需要进行标准化。
但是在图像处理中,需要在处理之前对像素进行标准化。 但是在规范化过程中,我们会丢失异常值(极端数据点-太低或太高),这是一个小缺点。
因此,取决于我们的偏好,我们选择了什么,但是最推荐使用标准化方法,因为它会产生一条正常曲线。