我的特征的每个维度都有不同的价值范围。我想知道是否有必要规范化这个数据集。
对 SVM 和随机森林进行归一化是否必要?
机器算法验证
机器学习
支持向量机
随机森林
正常化
2022-02-06 05:05:31
2个回答
您的问题的答案取决于您计划使用的相似度/距离函数(在 SVM 中)。如果它是简单的(未加权的)欧几里得距离,那么如果您不对数据进行规范化,那么您会在不知不觉中赋予某些特征比其他特征更重要的特征。
例如,如果您的第一个维度的范围为 0-10,第二个维度的范围为 0-1,则第一个维度中 1 的差异(仅为范围的十分之一)在距离计算中的贡献与两个截然不同的值一样多第二个维度(0 和 1)。因此,通过这样做,您夸大了第一维的微小差异。您当然可以提出自定义距离函数或通过专家的估计来加权您的尺寸,但这将导致许多可调参数取决于您的数据的维度。在这种情况下,规范化是一条更简单的路径(尽管不一定是理想的),因为您至少可以开始。
最后,仍然对于 SVM,您可以做的另一件事是提出相似函数而不是距离函数,并将其作为内核插入(从技术上讲,此函数必须生成正定矩阵)。这个函数可以以任何你喜欢的方式构建,并且可以考虑到特征范围的差异。
另一方面,对于随机森林,由于从未将一个特征与其他特征进行量级比较,因此范围无关紧要。它只是在每个阶段拆分的一个功能的范围。
随机森林对单个特征的单调变换是不变的。平移或按特征缩放不会改变随机森林的任何内容。如果您的功能具有大致相同的量级,SVM 可能会做得更好,除非您先验地知道某些功能比其他功能更重要,在这种情况下,它可以具有更大的量级。
其它你可能感兴趣的问题