为什么规范化会扼杀我的准确性

数据挖掘 分类 scikit-学习 正常化 音频识别
2022-03-15 12:08:19

我有一个二进制声音分类器。我有一个从音频中提取的特征集,大小为 48。我有一个模型(多层神经网络),在测试和验证集上的准确率约为 90%。(没有标准化或标准化)

我看到特征值大多在 [-10, +10] 左右。但是有些特征的平均值为 4000。看到特征中不成比例的值,我认为一些特征缩放可能会改善情况。所以使用 scikit-learn 工具我尝试了以下方法:

   - Simply removing the means from features
   - Normalizer
   - Min max scaler
   - Robust Scaler

以上所有这些最终都将我的准确率降低到 ~ %50(%100 召回率,%50 精度)

那么这怎么可能呢?规范化我的数据的正确方法是什么?

2个回答

可能存在倾斜的功率包络或非固定数据。因此,现成的特征缩放可能会衰减信号。

有一些特征缩放技术往往对音频信号效果更好,示例包括:RMS 水平(均方根水平)、倒谱平均减法 (CMS)、相对光谱 (RASTA)、内核滤波、短时高斯化、随机匹配和特征扭曲。

在应用之前,您应该确保了解原始数据和每种特征缩放技术的假设。准确性驱动的机器学习可能会导致错误的结论。

假设你的类是均匀分布的,你的结果听起来像你的分类器根本不起作用。

您是将正则化应用于整个数据集还是幅度较大的字段?如果对于整个数据集,我只会适用于规模更大的领域。

虽然一些神经网络对幅度差异很敏感,但我个人认为数据正则化不一定有用。

如果您正在寻找提高性能的方法,那么测试不同的激活函数可能是一个不错的起点。