3#ifndef SI_MODEL_ADAPTIVELEAF_H
4#define SI_MODEL_ADAPTIVELEAF_H
53 const std::list<Clique *> &cliques,
54 int cycle,
int &cur_cycle);
56 const std::list<Clique *> *lrnCliques,
57 const std::list<Clique *> *tstCliques,
58 int cycles,
int cycles_tst);
68 std::string> & changes )
const;
74 virtual bool openFile(
const std::string & basename =
"" );
78 virtual void subFiles(
const std::string & prefix,
79 std::set<std::string> & listNames )
const;
84 {
return(
_work->genMeanErrorRate() ); }
86 {
return _work->relianceWeight(); }
101 const std::list<Clique *> &cliques);
126 const std::vector<float> &
getStd(
void)
const {
return _std; };
240 std::vector<double> vec;
260 double f = 1. - double(p)/ng;
263 return (0.5 / ( 1 + exp( -(f - thld) * 40 ) )) * w *
264 _work->relianceWeight();
267 std::vector<double> *redvec;
268 std::vector<double> rvec;
275 rvec.insert( rvec.end(),
dimreductor()->reducedDim(), 0 );
281 p =
_work->prop( *redvec );
282 return p * w *
_work->relianceWeight();
287 std::vector<double> vec;
294 std::vector<double> *redvec;
295 std::vector<double> rvec;
302 rvec.insert( rvec.end(),
dimreductor()->reducedDim(), 0 );
308 double x =
_eval->prop( *redvec );
#define SIA_NOINSTANCE_COUNT
Clique descriptor with description for learning.
El�ment adaptatif terminal.
virtual double prop(const Clique *)
Propagation (r�ponse de l'Adaptive)
virtual void subFiles(const std::string &prefix, std::set< std::string > &listNames) const
Donne la liste des fichiers sous le mod�le.
SubAdaptive * _eval
El�ment d'�valuation.
SubAdaptive * _workMemo
Memorisation des SubAdap.
void update(sigraph::AdaptiveLeaf &ad)
Update internal values (including work element, learning state) from an other adaptiveleaf.
SubAdaptive & workEl() const
Acc�s � l'�l�ment efficace (qui donne la sortie utile)
virtual void getVectors(AdapDescr &ad, Learner &learner, const std::list< Clique * > &cliques, int cycle, int &cur_cycle)
R�cup�re une liste de cliques.
AdapDescr * getAdapDescr(void)
Renvoit le descripteur adaptatif du mod�le s'il existe ou NULL.
virtual double genErrorRate() const
Taux d'erreur de g�n�ralisation.
unsigned nDataMemo() const
void setWorkEl(SubAdaptive *work)
Set work element (no copy), old one is deleted if needed.
std::vector< float > _mean
mean of database vectors
void setStd(const std::vector< float > &std)
Set database standard deviation vector.
void setDimReductor(DimReductor *dimreductor)
State
Etat d'apprentissage.
virtual void init()
Initialisation des parties adaptatives (fonction abstraite)
virtual void revert()
Retour aux mod�les m�moris�s.
virtual Model * clone() const
Duplication (fonction abstraite)
const std::vector< float > & getMean(void) const
Get database mean vector.
const CliqueDescr & cliqueDescr() const
void setNDataMemo(unsigned n)
SubAdaptive * _work
El�ment efficace.
void setWork(const SubAdaptive &w)
Remplacement de l'�l�ment efficace.
SubAdaptive & evalEl()
Acc�s � l'�l�ment d'�valuation.
virtual void generateDataBase(Learner &learner, const std::string &prefix, const std::list< Clique * > *lrnCliques, const std::list< Clique * > *tstCliques, int cycles, int cycles_tst)
Apprentissage du modèle sur lrn et test avec tst.
void setEval(const SubAdaptive &e)
Remplacament de l'�l�ment d'�valuation.
virtual void memorize()
M�morisation des mod�les.
virtual void closeFile()
Ferme le(s) fichier(s) de sauvegardes des donn�es re�ues.
DimReductor * _dimreductor
dimension reduction element
virtual std::string getDataBaseName(const std::string &prefix)
const std::vector< float > & getStd(void) const
Get database std vector.
SubAdaptive * workMemoEl() const
virtual double eval(const Clique *)
Evaluation (confiance dans la r�ponse au point donn�)
const SubAdaptive & evalEl() const
Acc�s � l'�l�ment d'�valuation, version const.
void setLearnState(State s)
void buildTree(Tree &tr) const
Conversion en arbre (pour IO)
CliqueDescr & cliqueDescr()
virtual void setBaseName(const std::string &basename)
void setCliqueDescr(CliqueDescr *cd)
void setEvalMemo(const SubAdaptive &e)
Remplacament de l'�l�ment d'�valuation m�moris�
std::vector< float > _std
standard deviation of database vectors
AdaptiveLeaf(const CliqueDescr *cd=0, const SubAdaptive *work=0, const SubAdaptive *eval=0)
State _lrnState
Etat de l'apprentissage.
const DimReductor * dimreductor() const
Return Dimension Reductor element definition.
virtual bool openFile(const std::string &basename="")
Ouvre le(s) fichier(s) de sauvegardes des donn�es re�ues.
virtual double relianceWeight() const
virtual bool checkLearnFinished()
fonction non-const pcq elle peut positionner le flag
AdaptiveLeaf & operator=(const AdaptiveLeaf &ad)
virtual void resetStats()
Vide toutes les stats.
Optimizer * _optimizer
optimizer element
void setMean(const std::vector< float > &mean)
Set database mean vector.
const Optimizer & optimizer() const
Return Optimizer definition (parmeters, ranges, scale)
unsigned _ndataMemo
M�morisation du nombre de donn�es apprises.
virtual void trainStats(Learner &learner, const std::list< Clique * > &cliques)
Ajout � la base de statistiques.
void setOptimizer(Optimizer *opt)
virtual double printDescription(Clique *cl, bool withnames)
Calcule le potentiel et garde le(s) vecteur(s) de description.
virtual void centerAndReduce(std::vector< double > &vec)
center and reduce vector according to _mean and _std
virtual bool doesOutputChange(const Clique *cl, const std::map< Vertex *, std::string > &changes) const
tells whether a label change inpacts the model output or not.
virtual void forceLearnFinished()
fait ce qu'il faut pour "fermer" l'apprentissage (remet le dernier m�mo...)
CliqueDescr * _cliqueDescr
Descripteur de clique.
void setWorkMemo(const SubAdaptive &w)
Remplacement de l'�l�ment efficace m�moris�
virtual double errorRate() const
Taux d'erreur d'apprentissage global.
Adaptive(Model *parent=0)
Descripteur de clique (classe abstraite).
virtual CliqueDescr * clone() const =0
virtual DimReductor * clone() const =0
virtual std::vector< double > * transform(const std::vector< double > &v) const
Séquence d'apprentissage, classe de base (abstraite).
Modèle pour l'évaluation de cliques de graphes (classe abstraite).
virtual carto::AttributedObject * graphObject()
Donne l'élément parent du graphe modèle.
virtual TopModel * topModel()
Donne la base de l'arborescence (TopModel, s'il y en a)
virtual Optimizer * clone() const =0
Sous-élément adaptatif (classe abstraite).
virtual SubAdaptive * clone() const =0
copie
const MGraph * mGraph() const
SyntaxedObject< PropertySet > AttributedObject