Home | Develop | Download | Contact
Namespaces | Estructuras de datos
Métodos Pds::FCLayer

Metodos de la clase Pds::FCLayer, el tamaño de una matriz. Más...

Diagrama de colaboración para Métodos Pds::FCLayer:

Namespaces

namespace  Pds
 Nombre de espacion para PDS (Procesamiento Digital de Senales)
 

Estructuras de datos

class  Pds::FCLayer
 La clase tipo Pds::FCLayer . Esta clase genera un objeto con dos parametros Nlin y Ncol. Para usar incluir Pds/FCLayer. Más...
 

Varios tipos de constructores

Crean una objeto Pds::FCLayer

 Pds::FCLayer::FCLayer (void)
 Crea un objeto de tipo Pds::FCLayer nulo con 0 entradas y 0 salidas. Sin función de activación. Matriz de pesos vazia. Más...
 
 Pds::FCLayer::FCLayer (unsigned int Nin, unsigned int Nout)
 Crea un objeto de tipo Pds::FCLayer con Nin entradas y Nout salidas. Usa la función sigmoide. Los pesos so iniciados con una distribución normal com desvio igual a 1. Más...
 
 Pds::FCLayer::FCLayer (unsigned int Nin, unsigned int Nout, double(*func)(double), double(*dfunc)(double))
 Crea un objeto de tipo Pds::FCLayer con Nin entradas y Nout salidas. Los pesos so iniciados con una distribución normal com desvio igual a 1. Más...
 
 Pds::FCLayer::FCLayer (const Pds::Matrix &W)
 Crea un objeto de tipo Pds::FCLayer con W.Ncol() entradas y W.Nlin() salidas. Usa la función sigmoide. Los pesos son iniciados desde la matriz W. Más...
 
 Pds::FCLayer::FCLayer (const Pds::Matrix &W, double(*func)(double), double(*dfunc)(double))
 Crea un objeto de tipo Pds::FCLayer con W.Ncol() entradas y W.Nlin() salidas. Usa la función sigmoide. Los pesos son iniciados desde la matriz W. Más...
 
 Pds::FCLayer::FCLayer (const Pds::FCLayer &B)
 Crea un objeto de tipo Pds::FCLayer copiando datos desde otro. Más...
 
 Pds::FCLayer::~FCLayer ()
 

Inicializacion

bool Pds::FCLayer::Rand (double minval, double maxval)
 Carga los pesos con valores aleatorios uniformemente distribuidos desde minval hasta maxval. Más...
 

Get data

bool Pds::FCLayer::IsEmpty (void) const
 Retorna true si la capa esta vacia o false si no. Más...
 
unsigned int Pds::FCLayer::Ninputs (void) const
 Retorna el numero de elementos de entrada. Más...
 
unsigned int Pds::FCLayer::Noutputs (void) const
 Retorna el numero de elementos de salida. Más...
 
std::string Pds::FCLayer::WToString (void) const
 Retorna como un string la matriz W. Más...
 
unsigned long int Pds::FCLayer::FuncActToULInt (void) const
 Retorna el numero de la direccion de la funcion de activacion. Más...
 
unsigned long int Pds::FCLayer::DFuncActToULInt (void) const
 Retorna el numero de la direccion de la derivada de la funcion de activacion. Más...
 
bool Pds::FCLayer::SetFuncAct (double(*func)(double), double(*dfunc)(double))
 Retorna true si la funcion de activacion fue modificada o false si no. Más...
 

Export

bool Pds::FCLayer::SaveInStream (std::ofstream &myfile) const
 Salva los datos de la capa. Más...
 
bool Pds::FCLayer::LoadFromStream (std::ifstream &ifs)
 Carga los datos de la capa. Más...
 
bool Pds::FCLayer::LoadFromStream (std::ifstream &ifs, double(*func)(double), double(*dfunc)(double))
 Carga los datos de la capa. Más...
 

Evaluar

Pds::Vector Pds::FCLayer::Evaluate (const Pds::Vector &In) const
 Evalua la capa de la CNN. Más...
 
bool Pds::FCLayer::Evaluate (const Pds::Vector &In, Pds::Vector &Out) const
 Evalua la capa de la CNN. Más...
 
bool Pds::FCLayer::Evaluate (const Pds::Vector &In, Pds::Vector &Out, Pds::Vector &Z) const
 Evalua la capa de la CNN. Más...
 

Backpropagation

bool Pds::FCLayer::DeltaPropagation (const Pds::Vector &delta, const Pds::Vector &z_1, Pds::Vector &delta_1) const
 Calcula el valor de $\delta^{l-1}$ en la capa de la CNN a partir de $\delta^{l}$ y $z^{l-1}$. Más...
 
bool Pds::FCLayer::DeltaPropagationSigmoid (const Pds::Vector &delta, const Pds::Vector &a_1, Pds::Vector &delta_1) const
 Calcula el valor de $\delta^{l-1}$ en la capa de la CNN a partir de $\delta^{l}$ y $a^{l-1}$. Más...
 
bool Pds::FCLayer::WUpdate (double alpham, const Pds::Matrix &Q_1, double lambda=0)
 Calcula y aplica la variación $\Delta W^{l-1}$ en la capa de la CNN a partir de $\delta^{l}$. Más...
 

Mostrando datos

void Pds::FCLayer::Print (std::string str="") const
 Muestra en pantalla el contenido de Pds::FCLayer, elementos separados por tabulador. Más...
 
void Pds::FCLayer::PrintStylized (std::string str="") const
 Muestra en pantalla el contenido de Pds::FCLayer, en el formato (Nli,Ncol). Más...
 
void Pds::FCLayer::MakeEmpty (void)
 Limpia el objeto. Más...
 

Descripción detallada

Metodos de la clase Pds::FCLayer, el tamaño de una matriz.

#include <Pds/FCLayer>

Informacion adicional puede ser encontrada en [1]

Documentación de las funciones

◆ FCLayer() [1/6]

Pds::FCLayer::FCLayer ( void  )

Crea un objeto de tipo Pds::FCLayer nulo con 0 entradas y 0 salidas. Sin función de activación. Matriz de pesos vazia.

◆ FCLayer() [2/6]

Pds::FCLayer::FCLayer ( unsigned int  Nin,
unsigned int  Nout 
)

Crea un objeto de tipo Pds::FCLayer con Nin entradas y Nout salidas. Usa la función sigmoide. Los pesos so iniciados con una distribución normal com desvio igual a 1.

Parámetros
[in]NinNúmero de entradas.
[in]NoutNúmero de salidas.

◆ FCLayer() [3/6]

Pds::FCLayer::FCLayer ( unsigned int  Nin,
unsigned int  Nout,
double(*)(double)  func,
double(*)(double)  dfunc 
)

Crea un objeto de tipo Pds::FCLayer con Nin entradas y Nout salidas. Los pesos so iniciados con una distribución normal com desvio igual a 1.

Parámetros
[in]NinNúmero de entradas.
[in]NoutNúmero de salidas.
[in]funcFunción de activación.
[in]dfuncDerivada de la función de activación.

◆ FCLayer() [4/6]

Pds::FCLayer::FCLayer ( const Pds::Matrix &  W)

Crea un objeto de tipo Pds::FCLayer con W.Ncol() entradas y W.Nlin() salidas. Usa la función sigmoide. Los pesos son iniciados desde la matriz W.

Parámetros
[in]WMatriz de pesos.

◆ FCLayer() [5/6]

Pds::FCLayer::FCLayer ( const Pds::Matrix &  W,
double(*)(double)  func,
double(*)(double)  dfunc 
)

Crea un objeto de tipo Pds::FCLayer con W.Ncol() entradas y W.Nlin() salidas. Usa la función sigmoide. Los pesos son iniciados desde la matriz W.

Parámetros
[in]WMatriz de pesos.
[in]funcFunción de activación.
[in]dfuncDerivada de la función de activación.

◆ FCLayer() [6/6]

Pds::FCLayer::FCLayer ( const Pds::FCLayer B)

Crea un objeto de tipo Pds::FCLayer copiando datos desde otro.

Parámetros
[in]BFCLayer a copiar.

◆ Rand()

bool Pds::FCLayer::Rand ( double  minval,
double  maxval 
)

Carga los pesos con valores aleatorios uniformemente distribuidos desde minval hasta maxval.

Parámetros
[in]minvalMínimo valor.
[in]maxvalMáximo valor.

◆ IsEmpty()

bool Pds::FCLayer::IsEmpty ( void  ) const

Retorna true si la capa esta vacia o false si no.

Devuelve
Retorna true si la capa esta vacia o false si no.

◆ Ninputs()

unsigned int Pds::FCLayer::Ninputs ( void  ) const

Retorna el numero de elementos de entrada.

Devuelve
Retorna el numero de elementos de entrada.

◆ Noutputs()

unsigned int Pds::FCLayer::Noutputs ( void  ) const

Retorna el numero de elementos de salida.

Devuelve
Retorna el numero de elementos de salida.

◆ WToString()

std::string Pds::FCLayer::WToString ( void  ) const

Retorna como un string la matriz W.

Devuelve
Retorna como un string la matriz W.

◆ FuncActToULInt()

unsigned long int Pds::FCLayer::FuncActToULInt ( void  ) const

Retorna el numero de la direccion de la funcion de activacion.

Devuelve
Retorna el numero de la direccion de la funcion de activacion.

◆ DFuncActToULInt()

unsigned long int Pds::FCLayer::DFuncActToULInt ( void  ) const

Retorna el numero de la direccion de la derivada de la funcion de activacion.

Devuelve
Retorna el numero de la direccion de la derivada de la funcion de activacion.

◆ SetFuncAct()

bool Pds::FCLayer::SetFuncAct ( double(*)(double)  func,
double(*)(double)  dfunc 
)

Retorna true si la funcion de activacion fue modificada o false si no.

Parámetros
[in]funcFunción de activación.
[in]dfuncDerivada de la función de activación.
Devuelve
Retorna true si la funcion de activacion fue modificada o false si no.

◆ SaveInStream()

bool Pds::FCLayer::SaveInStream ( std::ofstream &  myfile) const

Salva los datos de la capa.

Parámetros
[in]myfileStream onde se escribira la informacion.

◆ LoadFromStream() [1/2]

bool Pds::FCLayer::LoadFromStream ( std::ifstream &  ifs)

Carga los datos de la capa.

Parámetros
[in]ifsStream onde se leerá la información.

◆ LoadFromStream() [2/2]

bool Pds::FCLayer::LoadFromStream ( std::ifstream &  ifs,
double(*)(double)  func,
double(*)(double)  dfunc 
)

Carga los datos de la capa.

Parámetros
[in]ifsStream onde se leerá la información.
[in]funcFunción de activación.
[in]dfuncDerivada de la función de activación.

◆ Evaluate() [1/3]

Pds::Vector Pds::FCLayer::Evaluate ( const Pds::Vector &  In) const

Evalua la capa de la CNN.

Parámetros
[in]InVector de entrada.
Ejemplos
example_fclayer.cpp.

◆ Evaluate() [2/3]

bool Pds::FCLayer::Evaluate ( const Pds::Vector &  In,
Pds::Vector &  Out 
) const

Evalua la capa de la CNN.

Parámetros
[in]InVector de entrada.
[out]OutVector de salida.

◆ Evaluate() [3/3]

bool Pds::FCLayer::Evaluate ( const Pds::Vector &  In,
Pds::Vector &  Out,
Pds::Vector &  Z 
) const

Evalua la capa de la CNN.

Parámetros
[in]InVector de entrada.
[out]OutVector de salida.
[out]ZVector de salida antes de aplicar la funcion de activacion.

◆ DeltaPropagation()

bool Pds::FCLayer::DeltaPropagation ( const Pds::Vector &  delta,
const Pds::Vector &  z_1,
Pds::Vector &  delta_1 
) const

Calcula el valor de $\delta^{l-1}$ en la capa de la CNN a partir de $\delta^{l}$ y $z^{l-1}$.

\[\delta^{l-1}=(W^{l-1})^T \delta^{l} \odot dfunc(z^{l-1})\]

Parámetros
[in]deltaVector $\delta^{l}$ en la salida del FCLayer.
[in]z_1Vector $z^{l-1}$ de la antrada no evaluada por la función de activación de la FCLayer.
[out]delta_1Vector $\delta^{l-1}$ en la entrada del FCLayer.
Devuelve
Retorna true si todo fue bien o false si no.

◆ DeltaPropagationSigmoid()

bool Pds::FCLayer::DeltaPropagationSigmoid ( const Pds::Vector &  delta,
const Pds::Vector &  a_1,
Pds::Vector &  delta_1 
) const

Calcula el valor de $\delta^{l-1}$ en la capa de la CNN a partir de $\delta^{l}$ y $a^{l-1}$.

\[\delta^{l-1}=(W^{l-1})^T \delta^{l} \odot (a^{l-1}.*(1-a^{l-1}))\]

Parámetros
[in]deltaVector $\delta^{l}$ en la salida del FCLayer.
[in]a_1Vector $a^{l-1}$ de la antrada de la FCLayer.
[out]delta_1Vector $\delta^{l-1}$ en la entrada del FCLayer.
Devuelve
Retorna true si todo fue bien o false si no.

◆ WUpdate()

bool Pds::FCLayer::WUpdate ( double  alpham,
const Pds::Matrix &  Q_1,
double  lambda = 0 
)

Calcula y aplica la variación $\Delta W^{l-1}$ en la capa de la CNN a partir de $\delta^{l}$.

\[Q^{l-1} = \sum^m \delta^{l} (\hat{a}^{l-1})^T\]

\[ A= \left( \begin{matrix} 0 & 1 & ... & 1 \\ 0 & 1 & ... & 1 \\ \vdots & \vdots & ... & \vdots \\ 0 & 1 & ... & 1 \\ \end{matrix} \right) \]

$m$ amostras de treinamento.

\[ W^{l-1} := W^{l-1} - \alpha_m (Q^{l-1}+\lambda A \odot W^{l-1}) \]

Parámetros
[in]alphamFactor $\alpha_m=\alpha/m$ de aprendisaje.
[in]Q_1Actualizacion de peso $Q^{l-1}$.
[in]lambdaFactor $\lambda$ de regularizacion.
Devuelve
Retorna true si todo fue bien o false si no.

◆ Print()

void Pds::FCLayer::Print ( std::string  str = "") const

Muestra en pantalla el contenido de Pds::FCLayer, elementos separados por tabulador.

Parámetros
[in]strTexto a mostrar antes de imprimir el contenido.

◆ PrintStylized()

void Pds::FCLayer::PrintStylized ( std::string  str = "") const

Muestra en pantalla el contenido de Pds::FCLayer, en el formato (Nli,Ncol).

Parámetros
[in]strTexto a mostrar antes de imprimir el contenido.
Ejemplos
example_fclayer.cpp.

◆ MakeEmpty()

void Pds::FCLayer::MakeEmpty ( void  )

Limpia el objeto.

◆ ~FCLayer()

Pds::FCLayer::~FCLayer ( )

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed