SiGraph: sulcal graphs


adaptive.h
Go to the documentation of this file.
1
2
3#ifndef SI_MODEL_ADAPTIVE_H
4#define SI_MODEL_ADAPTIVE_H
5
6
7#include <si/model/model.h>
8class Tree;
9
10
11namespace sigraph
12{
13 class LearnConstParam;
14 class Learner;
22 class Adaptive : public Model
23 {
24 public:
25 virtual ~Adaptive();
27 virtual Model* clone() const = 0;
28
29 Adaptive & operator = ( const Adaptive & ad );
30
33
38
39 virtual void generateDataBase(Learner &learner, const std::string &prefix,
40 const std::list<Clique *> *lrnCliques,
41 const std::list<Clique *> *tstCliques,
42 int cycles, int cycles_tst) = 0;
43 virtual void trainDomain(const std::list<Clique *> &cliques);
44
47 virtual double eval( const Clique * ) = 0;
49 virtual double errorRate() const = 0;
51 virtual double genErrorRate() const = 0;
52 virtual double relianceWeight() const = 0;
54 virtual void init() { _learnfinished = false; _ndata = 0; }
59 bool isAdaptive() const;
60 unsigned nbLearnData() const;
61 void setNbLearnData( unsigned n );
63 virtual bool learnFinished() const { return( _learnfinished ); }
65 virtual bool checkLearnFinished() { return( _learnfinished ); }
66 void setLearnFinished( bool f ) { _learnfinished = f; }
69 virtual void forceLearnFinished() { setLearnFinished( true ); }
70
72
75
76 virtual void resetStats() = 0;
78 virtual void trainStats(Learner &learner,
79 const std::list<Clique *> &cliques) = 0;
81
83 virtual void buildTree( Tree & tr ) const;
84
85 protected:
86 Adaptive( Model* parent = 0 );
87 Adaptive( const Adaptive & ad );
88
90 unsigned _ndata;
92
93 private:
94
95 };
96
97
98 // Fonctions
99
101 _learnfinished( false )
102 {
103 }
104
105
106 inline Adaptive::Adaptive( const Adaptive & ad ) : Model( ad ),
108 {
109 }
110
111
113 {
114 Model::operator = ( *(Model *) &ad );
115 _ndata = ad._ndata;
117 return( *this );
118 }
119
120
121 inline bool Adaptive::isAdaptive() const
122 {
123 return( true );
124 }
125
126
127 inline unsigned Adaptive::nbLearnData() const
128 {
129 return( _ndata );
130 }
131
132
133 inline void Adaptive::setNbLearnData( unsigned n )
134 {
135 _ndata = n;
136 }
137
138}
139
140
141#endif
142
143
144
virtual ~Adaptive()
void setNbLearnData(unsigned n)
Definition adaptive.h:133
virtual double errorRate() const =0
Taux d'erreur d'apprentissage global.
Adaptive & operator=(const Adaptive &ad)
Definition adaptive.h:112
virtual void trainDomain(const std::list< Clique * > &cliques)
virtual void generateDataBase(Learner &learner, const std::string &prefix, const std::list< Clique * > *lrnCliques, const std::list< Clique * > *tstCliques, int cycles, int cycles_tst)=0
Apprentissage du modèle sur lrn et test avec tst.
virtual bool checkLearnFinished()
fonction non-const pcq elle peut positionner le flag
Definition adaptive.h:65
unsigned nbLearnData() const
Definition adaptive.h:127
virtual double relianceWeight() const =0
virtual void init()
Initialisation des parties adaptatives (fonction abstraite)
Definition adaptive.h:54
virtual double eval(const Clique *)=0
Evaluation (confiance dans la réponse au point donné) (fonction abstraite)
bool isAdaptive() const
Le modèle est-il adaptatif ?
Definition adaptive.h:121
virtual void buildTree(Tree &tr) const
Conversion en arbre (pour IO)
Adaptive(Model *parent=0)
Definition adaptive.h:100
virtual Model * clone() const =0
Duplication (fonction abstraite)
virtual void trainStats(Learner &learner, const std::list< Clique * > &cliques)=0
Ajout à la base de statistiques (fonction abstraite)
unsigned _ndata
Nombre d'exemples appris.
Definition adaptive.h:90
virtual void resetStats()=0
Vide toutes les stats (fonction abstraite)
virtual double genErrorRate() const =0
Taux d'erreur de généralisation.
void setLearnFinished(bool f)
Definition adaptive.h:66
virtual void forceLearnFinished()
fait ce qu'il faut pour "fermer" l'apprentissage (remet le dernier mémo...)
Definition adaptive.h:69
virtual bool learnFinished() const
regarde juste la variable interne
Definition adaptive.h:63
Classe Clique.
Definition clique.h:35
Séquence d'apprentissage, classe de base (abstraite).
Definition learner.h:22
virtual Model * parent()
Donne le parent direct (0 si pas de parent)
Definition model.h:159
Model(Model *parent=0)
Definition model.h:120
Model & operator=(const Model &m)
Definition model.h:130