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 
48 #include <Pds/Vector>
49 #include <Pds/IterationConf>
50 
51 #include <sstream> // std::ostringstream
52 
53 namespace Pds{
54 
63 {
64 private:
66  Vector W;
67 
69  double (*func)(double);
70 
71 public:
72 
75 
76 public:
77 
87  Perceptron(void);
88 
102  Perceptron(const Pds::Vector &W);
103 
109  Perceptron(const double *w_array,unsigned int N);
110 
115  Perceptron(const std::initializer_list<double> w_list);
116 
117 
132  Perceptron(Pds::IterationConf &Conf, const Pds::Matrix &X,const Pds::Vector &Y);
133 
135 
136 
142 public:
143 
154  double Evaluate(const std::initializer_list<double> list) const;
155 
161  Pds::Vector Evaluate(const Pds::Matrix &X) const;
162 
181  bool IsEmpty(void) const;
182 
189  bool IsNotEmpty(void) const;
190 
191 
197  void MakeEmpty(void);
198 
213  Pds::Vector GetW(void) const;
214 
219  std::string ToString(void) const;
220 
221 
227  void Print(std::string str="") const;
232 }; // Class Perceptron
233 
234 } // namespace Pds
235 
236 
256 std::ostream& operator<<(std::ostream &out,const Pds::Perceptron &A);
257 
266 #endif
267 
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:63
double(* func)(double)
Definition: Perceptron.hpp:69
Pds::IterationConf Conf
Definition: Perceptron.hpp:74
Perceptron(const std::initializer_list< double > w_list)
Crea un objeto de tipo Pds::Perceptron.
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.
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.
Pds::Vector GetW(void) const
Retorna el vector de pesos.
double Evaluate(const std::initializer_list< double > list) const
Evalua el objeto de tipo Pds::Perceptron.
Perceptron(void)
Crea un objeto vazio de tipo Pds::Perceptron. El método IsEmpty() retorna true.
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::Vector Evaluate(const Pds::Matrix &X) const
Evalua el objeto de tipo Pds::Perceptron.
Perceptron(const double *w_array, unsigned int N)
Crea un objeto de tipo Pds::Perceptron.
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.
Nombre de espacion para PDS (Procesamiento Digital de Senales)

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed