2016-11-05 3 views
0

J'utilise weka multicouche perceptron pour construire mon classificateur. La chose est, j'ai tellement de jeux de données, donc je veux faire une formation incrémentale encore et encore. Après avoir appelé buildClassifier avec dataset1. Après avoir terminé la formation, que se passe-t-il si j'appelle buildClassifier avec dataset2. Que va-t-il arriver? Le réseau que j'ai déjà formé avec database1 est-il perdu? Ou le point de départ la prochaine fois que j'appelle builderClassifier (dataset2) est le réseau formé avec dataset1? Si c'est le premier cas, y a-t-il un moyen de faire ce que j'ai dit en utilisant weka MLP?Weka Multilayer Perceptron apprentissage progressif

De plus, si je ne porte pas de graines à MLP, je devine que le réseau va me revenir toujours le même poids initial depuis la graine par défaut est 0.

Merci!

+0

Show, partager vos codes gens peuvent vous comprendre mieux que vous donner les meilleures réponses. –

Répondre

0

Vous ne pouvez pas apprendre un MultilayerPerceptron par incrément, chaque fois que vous appelez la méthode buildClassifier sur la même instance de classificateur, vous remplacez le modèle actuel par le nouveau. Si vous souhaitez que le processus d'apprentissage utilise davantage d'échantillons, ajoutez-les à l'ensemble d'apprentissage (dataset1) et lancez un nouveau processus d'apprentissage appelant buildClassifier sur le nouvel ensemble de données, afin que l'algorithme de propagation arrière puisse utiliser toutes les données disponibles. entraîner le modèle! D'autre part, si vous avez formé un modèle avec, par exemple, 10 époques et que vous voulez former un autre modèle sur le même jeu de données mais avec 20 époques, sans perdre le premier, vous pouvez simplement le copier avec le méthode makeCopy().

Voir la doc pour plus d'informations: http://weka.sourceforge.net/doc.stable-3-8/weka/classifiers/functions/MultilayerPerceptron.html