Neuron: neural networks


GaussNet Class Reference

Réseau de gaussiennes, en 2 couches, avec 1 sortie. More...

#include <neur/gauss/gaussnet.h>

Collaboration diagram for GaussNet:

Public Types

Types
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.
 

Public Member Functions

Construction - destruction
 GaussNet ()
 
 GaussNet (const GaussNet &gn)
 Copie.
 
virtual ~GaussNet ()
 
Opérateurs
GaussNetoperator= (const GaussNet &gn)
 

Static Public Attributes

Statique
static unsigned CyclePeriod
 Nombre de passes entre changements de type d'apprentissage.
 

Initialisation

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.
 

Fonctionnement

LearnFunc learn
 Fonction d'apprentissage.
 
unsigned nInputs () const
 
unsigned nGauss () const
 
const Gaussiangauss (unsigned n) const
 
Gaussiangauss (unsigned n)
 
double weight (unsigned n) const
 
void setWeight (unsigned n, double w)
 
template<class InputIterator>
void setCenter (unsigned n, const InputIterator &start)
 
GaussianaddGaussian ()
 
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.
 

Detailed Description

Réseau de gaussiennes, en 2 couches, avec 1 sortie.

Ref. Bishop 95

Definition at line 13 of file gaussnet.h.

Member Typedef Documentation

◆ 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
vecexemple d'apprentissage
dsortie désirée
etaWcoef. du gradient pour modifs sur les poids
etaCcoef. du gradient pour modifs sur les centres
etaScoef. 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
cmaxmax en valeur absolue des coordonnées des centres
smaxmax des écarts-types
wmaxmax (V.A) des poids entre les gaussiennes et la sortie

Definition at line 35 of file gaussnet.h.

Constructor & Destructor Documentation

◆ GaussNet() [1/2]

GaussNet::GaussNet ( )

Referenced by GaussNet(), and operator=().

◆ GaussNet() [2/2]

GaussNet::GaussNet ( const GaussNet & gn)

Copie.

References GaussNet().

◆ ~GaussNet()

virtual GaussNet::~GaussNet ( )
virtual

Member Function Documentation

◆ addGaussian()

Gaussian * GaussNet::addGaussian ( )

◆ clear()

virtual void GaussNet::clear ( )
virtual

Efface tout.

◆ gauss() [1/2]

Gaussian * GaussNet::gauss ( unsigned n)

◆ gauss() [2/2]

const Gaussian * GaussNet::gauss ( unsigned n) const

Referenced by prop(), and setCenter().

◆ 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
vecexemple d'apprentissage
dsortie désirée
etacoef. 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

Referenced by prop().

◆ nInputs()

unsigned GaussNet::nInputs ( ) const
inline

Definition at line 92 of file gaussnet.h.

◆ operator=()

GaussNet & GaussNet::operator= ( const GaussNet & gn)

References GaussNet().

◆ prop()

template<class InputIterator>
double GaussNet::prop ( const InputIterator & start) const
inline

Definition at line 148 of file gaussnet.h.

References gauss(), nGauss(), Gaussian::value(), and weight().

◆ randInitAll()

void GaussNet::randInitAll ( double cmax = 1,
double smin = 0.3,
double smax = 5,
double wmax = 1 )

Initialise avec des valeurs aléatoires.

Parameters
cmaxmax en valeur absolue des coordonnées des centres
smaxmax des écarts-types
wmaxmax (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

Definition at line 161 of file gaussnet.h.

References gauss(), and Gaussian::setCenter().

◆ setWeight()

void GaussNet::setWeight ( unsigned n,
double w )

◆ weight()

double GaussNet::weight ( unsigned n) const

Referenced by prop().

Member Data Documentation

◆ CyclePeriod

unsigned GaussNet::CyclePeriod
static

Nombre de passes entre changements de type d'apprentissage.

Definition at line 42 of file gaussnet.h.

◆ learn

LearnFunc GaussNet::learn

Fonction d'apprentissage.

Definition at line 105 of file gaussnet.h.

◆ randInit

RandInitFunc GaussNet::randInit

Fonction d'initialisation.

Definition at line 68 of file gaussnet.h.


The documentation for this class was generated from the following file: