Home | Develop | Download | Contact
Perceptron.hpp
1 /*
2  * Perceptron.hpp
3  *
4  * Copyright 2018 Fernando Pujaico Rivera <fernando.pujaico.rivera@gmail.com>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19  * MA 02110-1301, USA.
20  *
21  */
22 
32 #ifndef __PDS_PERCEPTRON_HPP__
33 #define __PDS_PERCEPTRON_HPP__
34 
35 
49 #include <Pds/Vector>
50 #include <Pds/IterationConf>
51 
52 #include <sstream> // std::ostringstream
53 
54 namespace Pds{
55 
64 {
65 private:
67  Vector W;
68 
70  double (*func)(double);
71 
72 public:
73 
76 
77 public:
78 
88  Perceptron(void);
89 
103  Perceptron(const Pds::Vector &W);
104 
116  Perceptron(const char filename[]);
117 
118 
130  Perceptron(const std::string &filename);
131 
150 
156  Perceptron(const double *w_array,unsigned int N);
157 
162  Perceptron(const std::initializer_list<double> w_list);
163 
164 
179  Perceptron(Pds::IterationConf &Conf, const Pds::Matrix &X,const Pds::Vector &Y);
180 
182 
183 
189 public:
190 
201  double Predict(const std::initializer_list<double> list) const;
202 
208  double Predict(const Pds::Vector &x) const;
209 
215  Pds::Vector Predict(const Pds::Matrix &X) const;
216 
221 public:
222 
233  bool ExportFile(const std::string &filename) const;
234 
239 public:
240 
255  bool IsEmpty(void) const;
256 
263  bool IsNotEmpty(void) const;
264 
265 
271  void MakeEmpty(void);
272 
277 public:
278 
306 
319  bool Copy(const Pds::Perceptron &B);
320 
321 
326 public:
327 
337  unsigned int GetN(void) const;
338 
343  const Pds::Vector &GetW(void) const;
344 
349  bool SetW(const Pds::Vector &Wi);
350 
355  std::string ToString(void) const;
356 
357 
363  void Print(std::string str="") const;
368 }; // Class Perceptron
369 
370 } // namespace Pds
371 
372 
392 std::ostream& operator<<(std::ostream &out,const Pds::Perceptron &A);
393 
402 #endif
403 
La clase tipo Pds::IterationConf . Esta clase genera una matriz de Nlin lineas y 1 columna....
La clase tipo Pds::Perceptron . Esta clase genera una matriz de Nlin lineas y 1 columna....
Definition: Perceptron.hpp:64
double(* func)(double)
Definition: Perceptron.hpp:70
Pds::IterationConf Conf
Definition: Perceptron.hpp:75
Perceptron(const std::initializer_list< double > w_list)
Crea un objeto de tipo Pds::Perceptron.
double Predict(const std::initializer_list< double > list) const
Evalua el objeto de tipo Pds::Perceptron.
bool SetW(const Pds::Vector &Wi)
Establece el vector de pesos.
Perceptron(const Pds::Vector &W)
Crea un objeto de tipo Pds::Perceptron copiando datos desde una matriz. Toda la matriz es vectorizada...
std::string ToString(void) const
Convierte el vector de pesos del perceptron en un std::string.
const Pds::Vector & GetW(void) const
Retorna el vector de pesos.
bool ExportFile(const std::string &filename) const
Salva en formato .txt el objeto de tipo Pds::Perceptron.
void MakeEmpty(void)
Convierte el perceptron a vazio, es decir con el vector de pessos sin elementos y funcion de activaci...
void Print(std::string str="") const
Imprime en pantalla el contenido del vector de pesos después del texto indicado en str.
Perceptron(const Pds::Perceptron &B)
Crea un objeto de tipo Pds::Perceptron copiando datos desde otra Perceptron. Este es un Copy assignme...
Perceptron(void)
Crea un objeto vazio de tipo Pds::Perceptron. El método IsEmpty() retorna true.
double Predict(const Pds::Vector &x) const
Evalua el objeto de tipo Pds::Perceptron.
bool IsEmpty(void) const
Verifica si el perceptron está vazio, es decir vector de pessos sin elementos y funcion de activación...
Perceptron(Pds::IterationConf &Conf, const Pds::Matrix &X, const Pds::Vector &Y)
Crea un objeto de tipo Pds::Perceptron calculando los pesos conociendo los vectores de entrada X y el...
Pds::Perceptron & operator=(const Pds::Perceptron &B)
Copia en si mismo (A), un Perceptron B. Este operador es similar al método Copy()....
Perceptron(const double *w_array, unsigned int N)
Crea un objeto de tipo Pds::Perceptron.
Perceptron(const std::string &filename)
Carga un vector de pesos desde un archivo de texto.
bool Copy(const Pds::Perceptron &B)
Copia en si mismo (A), el contenido de un Perceptron B. Este método es similar a usar el operador = ....
Perceptron(const char filename[])
Carga un vector de pesos desde un archivo de texto.
bool IsNotEmpty(void) const
Verifica si el perceptron NO está vazio, es decir vector de pessos tiene elementos y funcion de activ...
std::ostream & operator<<(std::ostream &out, const Pds::Perceptron &A)
Retorna el contenido del perceptron por la salida estándar.
Pds::Vector Predict(const Pds::Matrix &X) const
Evalua el objeto de tipo Pds::Perceptron.
unsigned int GetN(void) const
Retorna el tamaño de vector de pesos.
Nombre de espacio para Pds (Procesamiento Digital de Senales)

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed