25template<
class T,
class U>
class mlp:
public net<T,U>
58 virtual void aff()
const;
64 virtual void add_neur(
const char *nom,
int c, T bia, T sor);
90 virtual int add_le(
int c,
int tar,
int co,
int org, U w);
95 virtual int del_le(
int c,
int tar,
int co,
int org);
99 {
int x=0;
for(
int i=0; i<c; i++) x+=
_couch[i];
return(x+n); }
114 virtual int load(
const char *nom);
116 virtual int load( std::istream & fich );
176template<
class T,
class U>
180template<
class T,
class U>
Perceptron Multi-couches : classe mlp.
virtual void empty()
Vidange du réseau.
int get_neur(int c, int n)
Numéro d'un neurone.
virtual int add_link(int c, int tar, int nli)
Ajout d'une liaison.
virtual int prop(const pat< T > &pa, int n)
Fait fonctionner le réseau.
virtual void aff() const
Affichage du contenu du réseau.
virtual int prop()
Propage les valeurs d'entrées (préalablemet positionnées)
virtual int del_link(int c, int no)
Elimination d'une liaison.
int get_link(int c, int n)
Numéro de liaison.
mlp(const mlp< T, U > &pmc)
virtual int del_neur(int c, int no)
Elimination d'un neurone.
virtual int trie()
Trie du réseau.
virtual int add_le(int c, int tar, int co, int org, U w)
Ajoute un lien élémentaire.
int * _couch
Tableau des nombres de neurones par couche.
virtual void Reduction()
Réduit pour un PMC à 3 couches.
int * couch() const
Tableau des nombres de neurones sur chaque couche.
int nc() const
Nombre de couches.
virtual void add_neur(const char *nom, int c, T bia, T sor)
Ajout d'un neurone.
virtual void ReductionIndex(int j)
Fait la réduction pour 1 neurone donné, j-ème de la couche cachée.
virtual int del_le(int c, int tar, int co, int org)
Elimination d'un lien élémentaire.
virtual void init(const char *nom, int nc, int *couch)
Initialisation du réseau.
mlp< T, U > & operator=(const mlp< T, U > &pmc)
virtual int load(std::istream &fich)
Charge le réseau à partir d'un stream déja ouvert.
virtual T backprop(T *learnO, double eta)
Apprentissage, 1 passe, à partir d'un état déjà propagé.
virtual int add_link(int c, int tar)
Ajout d'une liaison.
virtual int backprop(const pat< T > &pa, int nc, double eta, int flg=0, T *err=NULL)
Apprentissage.
virtual int load(const char *nom)
Charge le réseau.
mlp(const char *nom, int nc, int *couch)
Couches initialisées.
int _nc
Nombre de couches.
int no() const
Nombre de sorties.
virtual void pmc(const char *nom, int nc, int *couch)
Initialise un Perceptron-Multi-Couches.
virtual int get_link(int tar)
Recherche d'une liaison.
Base d'exemples : classe pat.
std::istream & operator>>(std::istream &fich, mlp< T, U > &res)
std::ostream & operator<<(std::ostream &fich, const mlp< T, U > &res)