Réseau de gaussiennes, en 2 couches, avec 1 sortie.
More...
#include <neur/gauss/gaussnet.h>
|
|
| typedef double(GaussNet::* | LearnFunc) (const std::vector< double > &vec, double d, double etaW, double etaC, double etaS) |
| | Type de fonction d'apprentissage.
|
| |
| typedef void(GaussNet::* | RandInitFunc) (double cmax, double smin, double smax, double wmax) |
| | Type de fonction d'initialisation aléatoire des paramètres du réseau.
|
| |
|
|
| static unsigned | CyclePeriod |
| | Nombre de passes entre changements de type d'apprentissage.
|
| |
|
| RandInitFunc | randInit |
| | Fonction d'initialisation.
|
| |
| virtual void | clear () |
| | Efface tout.
|
| |
| virtual void | init (unsigned ninp, unsigned ngauss, bool samesigma=true) |
| | Crée le réseau avec ninp entrées et ngauss gaussiennes.
|
| |
| void | randInitAll (double cmax=1, double smin=0.3, double smax=5, double wmax=1) |
| | Initialise avec des valeurs aléatoires.
|
| |
| void | randInitWeights (double cmax=0, double smin=0.3, double smax=5, double wmax=1) |
| | Initialise seulement les poids.
|
| |
| void | randInitCenters (double cmax=0, double smin=0.3, double smax=5, double wmax=1) |
| | Initialise seulement les centres.
|
| |
| void | randInitSigma (double cmax=1, double smin=0.5, double smax=5, double wmax=1) |
| | Initialise seulement les écarts-types.
|
| |
| void | randInitWtSig (double cmax=1, double smin=0.5, double smax=5, double wmax=1) |
| | Initialise les poids et les écarts-types.
|
| |
|
| LearnFunc | learn |
| | Fonction d'apprentissage.
|
| |
| unsigned | nInputs () const |
| |
| unsigned | nGauss () const |
| |
| const Gaussian * | gauss (unsigned n) const |
| |
| Gaussian * | gauss (unsigned n) |
| |
| double | weight (unsigned n) const |
| |
| void | setWeight (unsigned n, double w) |
| |
| template<class InputIterator> |
| void | setCenter (unsigned n, const InputIterator &start) |
| |
| Gaussian * | addGaussian () |
| |
| void | removeGaussian (unsigned num) |
| |
| template<class InputIterator> |
| double | prop (const InputIterator &start) const |
| |
| double | learnAll (const std::vector< double > &vec, double d, double etaW, double etaC=0, double etaS=0) |
| | Apprentissage par gradient.
|
| |
| double | learnWeights (const std::vector< double > &vec, double d, double etaW, double etaC=0, double etaS=0) |
| | Apprentissage des coefs seuls.
|
| |
| double | learnCenters (const std::vector< double > &vec, double d, double etaW, double etaC=0, double etaS=0) |
| | Apprentissage des centres seuls.
|
| |
| double | learnSigma (const std::vector< double > &vec, double d, double etaW, double etaC=0, double etaS=0) |
| | Apprentissage des écarts-types seuls.
|
| |
| double | learnWtSig (const std::vector< double > &vec, double d, double etaW, double etaC=0, double etaS=0) |
| | Apprentissage des coefs et des écarts-types.
|
| |
| double | learnMulSig (const std::vector< double > &vec, double d, double etaW, double etaC=0, double etaS=0) |
| | Aprentissage avec modifs multiplicatives sur les sigmas.
|
| |
| double | learnCycle (const std::vector< double > &vec, double d, double etaW, double etaC=0, double etaS=0) |
| | Apprentissage alterné Wt - Center - Sigma.
|
| |
Réseau de gaussiennes, en 2 couches, avec 1 sortie.
Ref. Bishop 95
Definition at line 13 of file gaussnet.h.
◆ LearnFunc
| typedef double(GaussNet::* GaussNet::LearnFunc) (const std::vector< double > &vec, double d, double etaW, double etaC, double etaS) |
Type de fonction d'apprentissage.
- Parameters
-
| vec | exemple d'apprentissage |
| d | sortie désirée |
| etaW | coef. du gradient pour modifs sur les poids |
| etaC | coef. du gradient pour modifs sur les centres |
| etaS | coef. du gradient pour modifs sur les écarts-types |
- Returns
- sortie du réseau AVANT apprentissage
Definition at line 26 of file gaussnet.h.
◆ RandInitFunc
| typedef void(GaussNet::* GaussNet::RandInitFunc) (double cmax, double smin, double smax, double wmax) |
Type de fonction d'initialisation aléatoire des paramètres du réseau.
- Parameters
-
| cmax | max en valeur absolue des coordonnées des centres |
| smax | max des écarts-types |
| wmax | max (V.A) des poids entre les gaussiennes et la sortie |
Definition at line 35 of file gaussnet.h.
◆ GaussNet() [1/2]
◆ GaussNet() [2/2]
| GaussNet::GaussNet |
( |
const GaussNet & | gn | ) |
|
◆ ~GaussNet()
| virtual GaussNet::~GaussNet |
( |
| ) |
|
|
virtual |
◆ addGaussian()
◆ clear()
| virtual void GaussNet::clear |
( |
| ) |
|
|
virtual |
◆ gauss() [1/2]
| Gaussian * GaussNet::gauss |
( |
unsigned | n | ) |
|
◆ gauss() [2/2]
| const Gaussian * GaussNet::gauss |
( |
unsigned | n | ) |
const |
◆ init()
| virtual void GaussNet::init |
( |
unsigned | ninp, |
|
|
unsigned | ngauss, |
|
|
bool | samesigma = true ) |
|
virtual |
Crée le réseau avec ninp entrées et ngauss gaussiennes.
◆ learnAll()
| double GaussNet::learnAll |
( |
const std::vector< double > & | vec, |
|
|
double | d, |
|
|
double | etaW, |
|
|
double | etaC = 0, |
|
|
double | etaS = 0 ) |
Apprentissage par gradient.
- Parameters
-
| vec | exemple d'apprentissage |
| d | sortie désirée |
| eta | coef. du gradient |
- Returns
- sortie du réseau AVANT apprentissage
◆ learnCenters()
| double GaussNet::learnCenters |
( |
const std::vector< double > & | vec, |
|
|
double | d, |
|
|
double | etaW, |
|
|
double | etaC = 0, |
|
|
double | etaS = 0 ) |
Apprentissage des centres seuls.
◆ learnCycle()
| double GaussNet::learnCycle |
( |
const std::vector< double > & | vec, |
|
|
double | d, |
|
|
double | etaW, |
|
|
double | etaC = 0, |
|
|
double | etaS = 0 ) |
Apprentissage alterné Wt - Center - Sigma.
◆ learnMulSig()
| double GaussNet::learnMulSig |
( |
const std::vector< double > & | vec, |
|
|
double | d, |
|
|
double | etaW, |
|
|
double | etaC = 0, |
|
|
double | etaS = 0 ) |
Aprentissage avec modifs multiplicatives sur les sigmas.
◆ learnSigma()
| double GaussNet::learnSigma |
( |
const std::vector< double > & | vec, |
|
|
double | d, |
|
|
double | etaW, |
|
|
double | etaC = 0, |
|
|
double | etaS = 0 ) |
Apprentissage des écarts-types seuls.
◆ learnWeights()
| double GaussNet::learnWeights |
( |
const std::vector< double > & | vec, |
|
|
double | d, |
|
|
double | etaW, |
|
|
double | etaC = 0, |
|
|
double | etaS = 0 ) |
Apprentissage des coefs seuls.
◆ learnWtSig()
| double GaussNet::learnWtSig |
( |
const std::vector< double > & | vec, |
|
|
double | d, |
|
|
double | etaW, |
|
|
double | etaC = 0, |
|
|
double | etaS = 0 ) |
Apprentissage des coefs et des écarts-types.
◆ nGauss()
| unsigned GaussNet::nGauss |
( |
| ) |
const |
◆ nInputs()
| unsigned GaussNet::nInputs |
( |
| ) |
const |
|
inline |
◆ operator=()
◆ prop()
template<class InputIterator>
| double GaussNet::prop |
( |
const InputIterator & | start | ) |
const |
|
inline |
◆ randInitAll()
| void GaussNet::randInitAll |
( |
double | cmax = 1, |
|
|
double | smin = 0.3, |
|
|
double | smax = 5, |
|
|
double | wmax = 1 ) |
Initialise avec des valeurs aléatoires.
- Parameters
-
| cmax | max en valeur absolue des coordonnées des centres |
| smax | max des écarts-types |
| wmax | max (V.A) des poids entre les gaussiennes et la sortie |
◆ randInitCenters()
| void GaussNet::randInitCenters |
( |
double | cmax = 0, |
|
|
double | smin = 0.3, |
|
|
double | smax = 5, |
|
|
double | wmax = 1 ) |
Initialise seulement les centres.
◆ randInitSigma()
| void GaussNet::randInitSigma |
( |
double | cmax = 1, |
|
|
double | smin = 0.5, |
|
|
double | smax = 5, |
|
|
double | wmax = 1 ) |
Initialise seulement les écarts-types.
◆ randInitWeights()
| void GaussNet::randInitWeights |
( |
double | cmax = 0, |
|
|
double | smin = 0.3, |
|
|
double | smax = 5, |
|
|
double | wmax = 1 ) |
Initialise seulement les poids.
◆ randInitWtSig()
| void GaussNet::randInitWtSig |
( |
double | cmax = 1, |
|
|
double | smin = 0.5, |
|
|
double | smax = 5, |
|
|
double | wmax = 1 ) |
Initialise les poids et les écarts-types.
◆ removeGaussian()
| void GaussNet::removeGaussian |
( |
unsigned | num | ) |
|
◆ setCenter()
template<class InputIterator>
| void GaussNet::setCenter |
( |
unsigned | n, |
|
|
const InputIterator & | start ) |
|
inline |
◆ setWeight()
| void GaussNet::setWeight |
( |
unsigned | n, |
|
|
double | w ) |
◆ weight()
| double GaussNet::weight |
( |
unsigned | n | ) |
const |
◆ CyclePeriod
| unsigned GaussNet::CyclePeriod |
|
static |
Nombre de passes entre changements de type d'apprentissage.
Definition at line 42 of file gaussnet.h.
◆ learn
Fonction d'apprentissage.
Definition at line 105 of file gaussnet.h.
◆ randInit
Fonction d'initialisation.
Definition at line 68 of file gaussnet.h.
The documentation for this class was generated from the following file: