我最近在玩一个用于二元情感分析的知名电影评论数据集。这个数据集包含1000条正面评论和1000条负面评论。在探索使用单字特征的各种特征编码时,我注意到之前的所有研究出版物都通过欧几里得范数对向量进行归一化处理,以将其缩放到单位长度。
然而,在使用Liblinear进行实验时,我发现这种长度归一化显著降低了分类准确性。我研究了这些向量,我认为原因是这样的:假设向量空间的维度为10,000。因此,与各个投影相比,向量的欧几里得范数非常高。因此,归一化后,所有向量在每个轴上的数值都变得非常小(即在某个轴上的投影)。
这让我感到惊讶,因为该领域的所有出版物都声称他们进行了余弦归一化,而我发现不进行归一化反而能获得更好的分类效果。
因此我的问题是:如果我们不对SVM特征向量进行余弦归一化,会有什么具体的劣势吗?(基本上,我在寻找一种对这种归一化需求的数学解释)。
回答:
在查阅了LibSVM的手册后,我明白了为什么归一化会导致比不归一化时低得多的准确性。他们建议将数据缩放到[0,1]或[-1,1]的区间内。这是之前我没有做到的。进行缩放将解决数据点过于接近零的问题,同时保留长度归一化的优势。