为什么矢量归一化可以提高聚类和分类的准确性?

Min*_* Li 14 nlp classification machine-learning mahout

Mahout in Action中描述了归一化可以略微提高准确性.任何人都可以解释原因,谢谢!

Fra*_*urt 40

标准化并不总是必需的,但它很少受到伤害.

一些例子:

K均值:

K均值聚类在所有空间方向上都是"各向同性的",因此倾向于产生或多或少的圆形(而不是细长的)簇.在这种情况下,使方差不等等于将更多权重放在方差较小的变量上.

Matlab中的示例:

X = [randn(100,2)+ones(100,2);...
     randn(100,2)-ones(100,2)];

% Introduce denormalization
% X(:, 2) = X(:, 2) * 1000 + 500;

opts = statset('Display','final');

[idx,ctrs] = kmeans(X,2,...
                    'Distance','city',...
                    'Replicates',5,...
                    'Options',opts);

plot(X(idx==1,1),X(idx==1,2),'r.','MarkerSize',12)
hold on
plot(X(idx==2,1),X(idx==2,2),'b.','MarkerSize',12)
plot(ctrs(:,1),ctrs(:,2),'kx',...
     'MarkerSize',12,'LineWidth',2)
plot(ctrs(:,1),ctrs(:,2),'ko',...
     'MarkerSize',12,'LineWidth',2)
legend('Cluster 1','Cluster 2','Centroids',...
       'Location','NW')
title('K-means with normalization')
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

在此输入图像描述

(仅供参考:我如何检测我的数据集是集群还是非集群(即形成一个集群)

分布式群集:

比较分析表明,分布式聚类结果取决于规范化过程的类型.

人工神经网络(输入):

如果输入变量是线性组合的,就像在MLP中一样,那么至少在理论上很少有必要对输入进行标准化.原因是通过改变相应的权重和偏差可以有效地撤消输入向量的任何重新缩放,从而使您具有与之前完全相同的输出.但是,有很多实际的原因可以解释为什么标准化输入可以使训练更快,并减少陷入局部最优的可能性.此外,使用标准化输入可以更方便地完成重量衰减和贝叶斯估计.

人工神经网络(输入/输出)

你应该对你的数据做任何这些事吗?答案是,这取决于.

标准化输入或目标变量往往通过改进优化问题的数值条件(参见ftp://ftp.sas.com/pub/neural/illcond/illcond.html)并确保各种默认值来使训练过程更好地发挥作用 初始化和终止中涉及的值是合适的.标准化目标也会影响目标函数.

应谨慎处理案件的标准化,因为它会丢弃信息.如果该信息无关紧要,那么标准化案例可能非常有用.如果这些信息很重要,那么标准化案例可能是灾难性的.


有趣的是,改变测量单位甚至可能导致人们看到一个非常不同的聚类结构:Kaufman,Leonard和Peter J. Rousseeuw ......"在数据中寻找群组:对聚类分析的介绍." (2005年).

在某些应用中,更改测量单位甚至可能导致人们看到非常不同的聚类结构.例如,表3中给出了四个想象人的年龄(以年为单位)和身高(以厘米为单位),并在图3中绘制.看来{A,B)和{C,0)是两个分离良好的聚类.另一方面,当高度以英尺表示时,获得表4和图4,其中明显的簇现在是{A,C}和{B,D}.这个分区与第一个分区完全不同,因为每个主题都收到了另一个同伴.(如果以天计算年龄,图4就会变得更平坦.)

为了避免这种对测量单位选择的依赖,可以选择标准化数据.这会将原始测量值转换为无单位变量.

在此输入图像描述 在此输入图像描述

考夫曼等人.继续一些有趣的考虑(第11页):

从哲学的角度来看,标准化并没有真正解决问题.实际上,测量单位的选择产生了变量的相对权重.以较小的单位表示变量将导致该变量的范围更大,这将对结果结构产生很大影响.另一方面,通过标准化一次尝试赋予所有变量相同的权重,以期实现客观性.因此,它可以由没有先验知识的从业者使用.然而,很可能某些变量在特定应用中本质上比其他变量更重要,然后权重的分配应基于主题知识(参见,例如,Abrahamowicz,1985).另一方面,已经尝试设计独立于变量规模的聚类技术(Friedman和Rubin,1967).Hardy和Rasson(1982)的提议是寻找一个最小化集群凸壳总体积的分区.原则上,这种方法对于数据的线性变换是不变的,但遗憾的是,没有算法用于其实现(除了限于二维的近似).因此,标准化的困境目前似乎是不可避免的,本书中描述的程序将选择留给用户.