为什么我们要对SVM特征向量进行余弦归一化?

我最近在玩一个用于二元情感分析的知名电影评论数据集。这个数据集包含1000条正面评论和1000条负面评论。在探索使用单字特征的各种特征编码时,我注意到之前的所有研究出版物都通过欧几里得范数对向量进行归一化处理,以将其缩放到单位长度。

然而,在使用Liblinear进行实验时,我发现这种长度归一化显著降低了分类准确性。我研究了这些向量,我认为原因是这样的:假设向量空间的维度为10,000。因此,与各个投影相比,向量的欧几里得范数非常高。因此,归一化后,所有向量在每个轴上的数值都变得非常小(即在某个轴上的投影)。

这让我感到惊讶,因为该领域的所有出版物都声称他们进行了余弦归一化,而我发现不进行归一化反而能获得更好的分类效果。

因此我的问题是:如果我们不对SVM特征向量进行余弦归一化,会有什么具体的劣势吗?(基本上,我在寻找一种对这种归一化需求的数学解释)。


回答:

在查阅了LibSVM的手册后,我明白了为什么归一化会导致比不归一化时低得多的准确性。他们建议将数据缩放到[0,1]或[-1,1]的区间内。这是之前我没有做到的。进行缩放将解决数据点过于接近零的问题,同时保留长度归一化的优势。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注