Guide étape par étape de formation d'un perceptron multicouche pour le XOR cas dans Weka?
Je suis juste de commencer avec Weka et de la difficulté avec les premières étapes.
Nous avons eu notre formation:
@relation PerceptronXOR @attribut X1 numérique @attribut numérique X2 @attribut de Sortie numérique @data 1,1,-1 -1,1,1 1,-1,1 -1,-1,-1
Première étape que je veux faire est juste en train, puis de les classifier un ensemble à l'aide de la Weka gui.
Ce que j'ai fait jusqu'à présent:
À L'Aide De Weka 3.7.0.
- De démarrage de l'interface graphique.
- Explorer.
- Ouvrir le fichier -> choisir mon fichier arff.
- Classer onglet.
- De formation sur l'ensemble de bouton radio.
- Choisissez-> fonctions>multilayer_perceptron
- Cliquez sur le perceptron multicouche texte en haut pour ouvrir les paramètres.
- Ensemble de couches Cachées à '2'. (si l'interface graphique est sélectionné vrai,t sa montrer que c'est le bon réseau que nous voulons). Cliquez sur ok.
- cliquez sur démarrer.
sorties:
=== Information === Régime: weka.les classificateurs.fonctions.MultilayerPerceptron -L 0,3 -M 0,2-N 500 -V 0 -S 0 -E 20 -H 2 -R Relation: PerceptronXOR Instances: 4 Attributs: 3 X1 X2 Sortie Mode Test: évaluer sur les données de formation === Classificateur modèle (formation complète set) === Linéaire Nœud 0 Entrées Poids Seuil 0.21069691964232443 Le nœud 1 1.8781169869419072 Le nœud 2 -1.8403146612166397 Sigmoïde Nœud 1 Entrées Poids Seuil -3.7331156814378685 Attrib X1 3.6380519730323164 Attrib X2 -1.0420815868133226 Sigmoïde Nœud 2 Entrées Poids Seuil -3.64785119182632 Attrib X1 3.603244645539393 Attrib X2 0.9535137571446323 Classe Entrée Le nœud 0 Temps nécessaire pour construire le modèle: 0 secondes === L'évaluation sur l'ensemble d'apprentissage === === Récapitulatif === Le coefficient de corrélation 0.7047 Moyenne de l'erreur absolue 0.6073 La racine de l'erreur quadratique moyenne 0.7468 Relative de l'erreur absolue 60.7288 % Relatif à la racine carrée de l'erreur 74.6842 % Total Nombre de Cas 4
Il semble étrange que 500 itérations à 0,3 ne comprend pas l'erreur, mais 5000 @ 0.1, ce qui permet d'aller avec qui.
Maintenant utiliser le jeu de données de test:
@relation PerceptronXOR @attribut X1 numérique @attribut numérique X2 @attribut de Sortie numérique @data 1,1,-1 -1,1,1 1,-1,1 -1,-1,-1 0.5,0.5,-1 -0.5,0.5,1 0.5,-0.5,1 -0.5,-0.5,-1
- Bouton Radio 'a Fourni une trousse d'essai
- Sélectionnez mon jeu de test arff.
- Cliquez sur démarrer.
=== Information === Régime: weka.les classificateurs.fonctions.MultilayerPerceptron -L À 0,1 M 0,2-5000 N-V 0 -S 0 -E 20 -H 2 -R Relation: PerceptronXOR Instances: 4 Attributs: 3 X1 X2 Sortie Mode Test: l'utilisateur de test fourni: réglage de la taille inconnue (lecture incrémentielle) === Classificateur modèle (formation complète set) === Linéaire Nœud 0 Entrées Poids Seuil -1.2208619057226187 Le nœud 1 3.1172079341507497 Le nœud 2 -3.212484459911485 Sigmoïde Nœud 1 Entrées Poids Seuil 1.091378074639599 Attrib X1 1.8621040828953983 Attrib X2 1.800744048145267 Sigmoïde Nœud 2 Entrées Poids Seuil -3.372580743113282 Attrib X1 2.9207154176666386 Attrib X2 2.576791630598144 Classe Entrée Le nœud 0 Temps nécessaire pour construire le modèle: 0.04 secondes === L'évaluation sur l'ensemble de test === === Récapitulatif === Le coefficient de corrélation 0.8296 Moyenne de l'erreur absolue 0.3006 La racine de l'erreur quadratique moyenne 0.6344 Relative de l'erreur absolue 30.0592 % Relatif à la racine carrée de l'erreur 63.4377 % Nombre Total de Cas 8
Pourquoi est incapable de classer correctement?
Est juste parce qu'il est atteint un minimum local rapidement sur les données d'apprentissage, et de ne pas "savoir" que cela ne convient pas à tous les cas?
Questions.
- Pourquoi ne 500 @ 0.3 fonctionne pas? Me semble bizarre pour un problème simple.
- Pourquoi elle ne répond en rien sur le jeu de test.
- Comment puis-je passer d'un jeu à classer?
OriginalL'auteur dwjohnston | 2013-06-21
Vous devez vous connecter pour publier un commentaire.
À l'aide de l'apprentissage des taux de 0,5 fait le travail, avec plus de 500 itérations pour les deux exemples.
Le taux d'apprentissage est de savoir combien de poids il donne de nouveaux exemples.
Apparemment, le problème est difficile et il est facile de tomber dans des minima locaux avec les 2 couches cachées. Si vous utilisez un faible taux d'apprentissage avec un haut nombre d'itérations du processus d'apprentissage sera plus prudente et plus susceptibles de haut, un bon minimum.
OriginalL'auteur user3392574