【问题标题】:Machine learning: PCA for different number of features机器学习:不同数量特征的 PCA
【发布时间】:2017-03-16 01:33:30
【问题描述】:

我是机器学习的新手,我正在构建一个简单的应用程序来识别语音数字。
我使用MFCC 来提取我的音频文件的过滤特征。 MFCC 输出一个 13 x length_of_audio 矩阵。我想将此信息用于我的特征向量。但显然,每个示例都有不同数量的特征。
我的问题是处理不同数量的功能的方法是什么。例如。我可以使用 PCA 始终提取一些固定数量的特征,然后在特定的学习算法中使用它们吗?
我想使用逻辑回归作为学习算法。

这是我在分析其中一个口语数字时收到的。

【问题讨论】:

    标签: machine-learning pca supervised-learning mfcc


    【解决方案1】:

    在您的情况下,如果您的用户有一个 length_of_audio_matrix = N,那么您没有 13*N 的特征向量,您有 N 个长度为 13 的特征向量(它们组成一个序列,但它们是不同的特征向量)。

    你必须组成一个包含 13 个特征的矩阵:

    MFCCUser1,Slot1
    MFCCUser1,Slot2
    ....
    MFCCUser1,SlotN
    MFCCUser2,Slot1
    MFCCUser2,Slot2
    ...
    

    然后你就可以应用主成分分析了。

    你只有 13 个特征,你真的需要减少它们吗?

    【讨论】:

    • 感谢您的回答,但我不太明白您的意思:“您只有 13 个功能”?请参阅我添加到我的问题中的图,我认为 MFCC“热图”中的所有小方块都是特征,在这种情况下,这给了我一个长度约为 13*85 的特征向量
    • 如果我理解您的问题,您有录音。要提取特征,您将信号分成 X 毫秒的片段,然后在每个音频片段上提取 13MFCC 分量。如果你想使用 PCA,你必须在 13 个长度的 MFCC 分量向量上使用 PCA(它们都具有相同的长度)。但是 PCA 用于减少特征的数量,您只处理 13 个我不认为需要减少它们。
    • 是的,我有录音。每个录音最多有 1 秒。我将 1 秒的音频记录分成 100 段音频,每段 10 毫秒。 MFCC 每 10 毫秒的音频片段输出 13 个特征,因为我最多有 100 个片段(有些音频不到 1 秒)-> 我有 13 个特征 * 100 个片段 = 1300 个特征用于 1 秒的音频记录。我的问题是:因为并非所有的音频记录都恰好有 1 秒,因此我不会总是得到 1300 个特征向量,所以我可以使用 PCA 将特征数量减少到特定数量,s.t.我可以应用 ML 算法吗?还是有其他更好的方法?
    • 不,您不能使用 PCA。从 ML 的角度来看,您已经将音频记录转换为 100 个 13 个特征的串联,而不是 1300 个特征,因此您可以在单个 13 个特征向量上使用 PCA,但您的问题将是相同的,您的录音会有所不同。您可以使用不同的方法来使用 ML,如果您可以使用不同的技术(您可以使用 GMM 创建每个音频记录的模型,因为现在它由一组子样本组成),或者您可以使用有效的算法对音频记录进行分类使用序列(例如 HMM 或 RNN)
    猜你喜欢
    • 2019-01-03
    • 1970-01-01
    • 2015-03-14
    • 2013-12-05
    • 2016-03-08
    • 1970-01-01
    • 1970-01-01
    • 2018-09-23
    • 2013-06-23
    相关资源
    最近更新 更多