2016-11-02 4 views
0

Je suis un nouveau venu dans l'apprentissage automatique et je construis une application simple pour reconnaître les chiffres parlés. J'ai utilisé MFCC pour extraire la caractéristique de filtrage de mes fichiers audio. MFCC me délivre une matrice 13 x length_of_audio. Je voudrais utiliser cette information pour mon vecteur de fonctionnalité. Mais évidemment, chaque exemple aurait un nombre différent de fonctionnalités.
Ma question est quelles sont les approches pour gérer un nombre différent de fonctionnalités. Par exemple. Puis-je utiliser PCA pour toujours extraire un certain nombre de fonctionnalités et les utiliser dans un algorithme d'apprentissage particulier?
Je voudrais utiliser la régression logistique comme algorithme d'apprentissage.Apprentissage automatique: PCA pour un nombre différent de fonctions

C'est ce que j'ai reçu lors de l'analyse d'un des chiffres parlés. MFCC

Répondre

0

Dans votre cas si vous avez pour un utilisateur un length_of_audio_matrix = N vous ne disposez pas d'un vecteur caractéristique de 13 * N, vous avez N caractéristiques des vecteurs de longueur 13 (ils forment une séquence, mais ils sont différents fonction vecteurs).

Vous devez composer une matrice de 13 caractéristiques:

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

Et vous pouvez ensuite appliquer l'analyse en composantes principales.

Vous avez seulement 13 fonctionnalités, avez-vous vraiment besoin de les réduire?

+0

Merci de votre réponse, mais je ne comprends pas vraiment ce que vous voulez dire: "Vous avez seulement 13 fonctionnalités"? Voir le chiffre que j'ai ajouté à ma question, je pense que tous les petits carrés dans le "heatmap" MFCC sont des caractéristiques, ce qui me donne dans ce cas un vecteur de longueur autour de 13 * 85 – FilipR

+0

Si je comprends votre problème, vous avez des enregistrements audio . Pour extraire les caractéristiques, vous divisez le signal en morceaux de X milisecondes et vous extrayez ensuite les composants 13MFCC sur chaque morceau audio. Si vous voulez utiliser PCA, vous devez utiliser PCA sur les 13 vecteurs de composants MFCC de longueur (tous ont la même longueur). Mais PCA est utilisé pour réduire le nombre de fonctionnalités, vous ne traitez que 13 Je ne vois pas la nécessité de les réduire. – Rob

+0

Oui, j'ai des enregistrements audio. Chaque enregistrement audio a au plus 1 seconde. J'ai divisé 1 seconde d'un enregistrement audio en 100 morceaux audio, chaque 10ms. MFCC produit 13 fonctions par morceau audio de 10ms, car j'ai au maximum 100 morceaux (certains audios ont moins d'une seconde) -> J'ai 13 caractéristiques * 100 morceaux = 1300 caractéristiques pour un enregistrement audio de 1 seconde. Et ma question est: parce que tous les enregistrements audio ont exactement 1 seconde, donc je ne vais pas toujours obtenir un vecteur de fonctionnalité 1300, alors je peux utiliser PCA pour réduire le nombre de caractéristiques à un nombre spécifique, s.t. Je peux appliquer ML algo? Ou y a-t-il une autre meilleure approche? – FilipR